记得上下班打卡 | git大法好,push需谨慎

Commit e1117cd8 authored by 张国柄's avatar 张国柄

后台页面调整;

parent f58be62d
...@@ -10,11 +10,13 @@ import com.liquidnet.client.admin.common.enums.BusinessType; ...@@ -10,11 +10,13 @@ import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.common.utils.ShiroUtils; import com.liquidnet.client.admin.common.utils.ShiroUtils;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponRuleAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponRuleAdminService;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinPerformancesAdminServiceImpl;
import com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam; import com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto;
import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam; import com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam;
import com.liquidnet.service.candy.entity.CandyCouponRule; import com.liquidnet.service.candy.entity.CandyCouponRule;
import com.liquidnet.service.kylin.dao.PerformanceSimpleAllDao;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -27,6 +29,7 @@ import org.springframework.validation.annotation.Validated; ...@@ -27,6 +29,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List; import java.util.List;
@Api(tags = "券发放管理") @Api(tags = "券发放管理")
...@@ -38,6 +41,8 @@ public class CandyMgtCouponAdminController extends BaseController { ...@@ -38,6 +41,8 @@ public class CandyMgtCouponAdminController extends BaseController {
private ICandyMgtCouponAdminService candyMgtCouponAdminService; private ICandyMgtCouponAdminService candyMgtCouponAdminService;
@Autowired @Autowired
private ICandyCouponRuleAdminService candyCouponRuleAdminService; private ICandyCouponRuleAdminService candyCouponRuleAdminService;
@Autowired
private KylinPerformancesAdminServiceImpl kylinPerformancesService;
@RequiresPermissions("candy:coupon:mgt:view") @RequiresPermissions("candy:coupon:mgt:view")
@GetMapping() @GetMapping()
...@@ -75,6 +80,61 @@ public class CandyMgtCouponAdminController extends BaseController { ...@@ -75,6 +80,61 @@ public class CandyMgtCouponAdminController extends BaseController {
return getDataTable(list); return getDataTable(list);
} }
@RequiresPermissions("candy:coupon:mgt:detail")
@GetMapping("detail/{couType}/{mcouponId}")
public String detail(@PathVariable("couType") int couType,
@PathVariable("mcouponId") String mcouponId, ModelMap mmap) {
CandyMgtCouponListParam listParam = new CandyMgtCouponListParam();
listParam.setMcouponId(mcouponId);
List<CandyMgtCouponInfoDto> list = candyMgtCouponAdminService.listForMgtCouponInfoDto(listParam);
if (!CollectionUtils.isEmpty(list)) {
CandyMgtCouponInfoDto mgtCouponInfoDto = list.get(0);
mmap.put("mgtCouponInfoDto", mgtCouponInfoDto);
LambdaQueryWrapper<CandyCouponRule> queryWrapper = Wrappers.lambdaQuery(CandyCouponRule.class);
queryWrapper.eq(CandyCouponRule::getCouponId, mgtCouponInfoDto.getCouponId());
queryWrapper.eq(CandyCouponRule::getState, 1);
queryWrapper.select(CandyCouponRule::getUseScope, CandyCouponRule::getBusiName, CandyCouponRule::getBusiId);
List<CandyCouponRule> couponRuleList = candyCouponRuleAdminService.list(queryWrapper);
if (!CollectionUtils.isEmpty(couponRuleList)) {
CandyCouponRule couponRule = couponRuleList.get(0);
mmap.put("couponRule", couponRule);
switch (mgtCouponInfoDto.getBusiType()) {
case 1:// 演出
StringBuffer busiNameChildNodeStringBuffer = new StringBuffer();
if (Arrays.asList(91, 92).contains(couponRule.getUseScope())) {
List<PerformanceSimpleAllDao> performanceSimpleAllDaoList = kylinPerformancesService.getListDetailByStatus("(3,6)", couponRule.getBusiName());
PerformanceSimpleAllDao performanceSimpleAllDao = null;
switch (couponRule.getUseScope()) {
case 91:
performanceSimpleAllDao = performanceSimpleAllDaoList.stream().filter(
r -> r.getTimeId().equals(couponRule.getBusiId())
).findAny().orElse(null);
if (null != performanceSimpleAllDao) {
busiNameChildNodeStringBuffer.append(" / ").append(performanceSimpleAllDao.getTimeTitle());
}
break;
case 92:
performanceSimpleAllDao = performanceSimpleAllDaoList.stream().filter(
r -> r.getTicketId().equals(couponRule.getBusiId())
).findAny().orElse(null);
if (null != performanceSimpleAllDao) {
busiNameChildNodeStringBuffer.append(" / ").append(performanceSimpleAllDao.getTimeTitle());
busiNameChildNodeStringBuffer.append(" / ").append(performanceSimpleAllDao.getTicketTitle());
}
break;
}
mmap.put("busiNameChildNode", busiNameChildNodeStringBuffer.toString());
}
break;
}
}
}
return prefix + "/detail" + couType;
}
@GetMapping("add/{couType}") @GetMapping("add/{couType}")
public String add(@PathVariable("couType") String couType) { public String add(@PathVariable("couType") String couType) {
return prefix + "/add" + couType; return prefix + "/add" + couType;
......
...@@ -987,7 +987,7 @@ var table = { ...@@ -987,7 +987,7 @@ var table = {
var _url = $.operate.detailUrl(id); var _url = $.operate.detailUrl(id);
console.log(_url) console.log(_url)
var options = { var options = {
title: table.options.modalName + "详", title: table.options.modalName + "详",
width: width, width: width,
height: height, height: height,
url: _url, url: _url,
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<th:block th:include="include :: select2-js" /> <th:block th:include="include :: select2-js" />
<script th:inline="javascript"> <script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('adam:member:view:edit')}]]; var editFlag = [[${@permission.hasPermi('adam:member:view:edit')}]];
var viewMemberCodeFlag = [[${@permission.hasPermi('adam:member:list:code')}]];
var prefix = ctx + "adam/member"; var prefix = ctx + "adam/member";
$(function() { $(function() {
...@@ -68,7 +69,7 @@ ...@@ -68,7 +69,7 @@
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.memberId + '\')"><i class="fa fa-edit"></i>编辑</a> '); actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.memberId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="memberCodeList(\'' + row.memberId + '\')"><i class="fa fa-edit"></i>会员码</a> '); actions.push('<a class="btn btn-success btn-xs ' + viewMemberCodeFlag + '" href="javascript:void(0)" onclick="memberCodeList(\'' + row.memberId + '\')"><i class="fa fa-edit"></i>会员码</a> ');
return actions.join(''); return actions.join('');
} }
}] }]
......
...@@ -117,16 +117,11 @@ ...@@ -117,16 +117,11 @@
</ul> </ul>
</div> </div>
<!-- <div class="text-center" style="margin-top: -15px;margin-bottom: 10px;">-->
<!-- <a data-toggle="modal" class="btn btn-danger" href="#" onclick="closeItem()">关&nbsp;&nbsp;&nbsp;&nbsp;闭</a>&nbsp;&nbsp;-->
<!-- <a data-toggle="modal" class="btn btn-primary" href="#member-refund-form">申请退款</a>-->
<!-- </div>-->
<div class="text-center" id="toolbar" role="group" style="margin-top: -15px;margin-bottom: 10px;"> <div class="text-center" id="toolbar" role="group" style="margin-top: -15px;margin-bottom: 10px;">
<a class="btn btn-danger" href="#" onclick="closeItem()"> <a class="btn btn-danger" href="#" onclick="closeItem()">
<i class="fa fa-reply-all"></i>&nbsp;&nbsp;&nbsp; <i class="fa fa-reply-all"></i>&nbsp;&nbsp;&nbsp;
</a> </a>
<a class="btn btn-primary" style="margin-left: 15px;" href="#member-refund-form" shiro:hasPermission="adam:order:orderlist:refund" th:if="${orderDetailsVo.adamMemberOrderVo.state == 1 && orderDetailsVo.adamUserMemberVo.state == 1}"> <a class="btn btn-primary" style="margin-left: 15px;" href="#member-refund-form" data-toggle="modal" shiro:hasPermission="adam:order:orderlist:refund" th:if="${orderDetailsVo.adamMemberOrderVo.state == 1 && orderDetailsVo.adamUserMemberVo.state == 1}">
申请退款 申请退款
</a> </a>
</div> </div>
......
...@@ -542,7 +542,7 @@ ...@@ -542,7 +542,7 @@
data, data,
contentType, contentType,
success:function(res) { success:function(res) {
resolve(res) resolve(res);
} }
}) })
}) })
......
...@@ -52,10 +52,15 @@ ...@@ -52,10 +52,15 @@
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]]; var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var prefix = ctx + "candy/coupon/mgt"; var prefix = ctx + "candy/coupon/mgt";
var viewMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:detail')}]];
var couType = [[${couType}]];
$(function () { $(function () {
var options = { var options = {
url: prefix + "/list", url: prefix + "/list",
createUrl: prefix + "/add/{id}", createUrl: prefix + "/add/{id}",
detailUrl: prefix + "/detail/" + couType + "/{id}",
// updateUrl: prefix + "/edit/{id}", // updateUrl: prefix + "/edit/{id}",
// removeUrl: prefix + "/remove", // removeUrl: prefix + "/remove",
// exportUrl: prefix + "/export", // exportUrl: prefix + "/export",
...@@ -119,11 +124,12 @@ ...@@ -119,11 +124,12 @@
}, },
{ {
title: '操作', title: '操作',
align: 'center', // align: 'center',
formatter: function (value, row, index) { formatter: function (value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-warning btn-xs ' + viewMgtCouponFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.mcouponId + '\')"><i class="fa fa-search"></i>详情</a>');
if (row.bindType === 0) { if (row.bindType === 0) {
actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="couponCodeList(\'' + row.couponId + '\')"><i class="fa fa-list-ul"></i>查看码列表</a> '); actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="couponCodeList(\'' + row.couponId + '\')"><i class="fa fa-list-ul"></i>码列表</a> ');
} }
return actions.join(''); return actions.join('');
} }
......
...@@ -52,10 +52,15 @@ ...@@ -52,10 +52,15 @@
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]]; var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var prefix = ctx + "candy/coupon/mgt"; var prefix = ctx + "candy/coupon/mgt";
var viewMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:detail')}]];
var couType = [[${couType}]];
$(function() { $(function() {
var options = { var options = {
url: prefix + "/list", url: prefix + "/list",
createUrl: prefix + "/add/{id}", createUrl: prefix + "/add/{id}",
detailUrl: prefix + "/detail/" + couType + "/{id}",
// updateUrl: prefix + "/edit/{id}", // updateUrl: prefix + "/edit/{id}",
// removeUrl: prefix + "/remove", // removeUrl: prefix + "/remove",
// exportUrl: prefix + "/export", // exportUrl: prefix + "/export",
...@@ -119,11 +124,12 @@ ...@@ -119,11 +124,12 @@
}, },
{ {
title: '操作', title: '操作',
align: 'center', // align: 'center',
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-warning btn-xs ' + viewMgtCouponFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.mcouponId + '\')"><i class="fa fa-search"></i>详情</a>');
if (row.bindType === 0) { if (row.bindType === 0) {
actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="couponCodeList(\'' + row.couponId + '\')"><i class="fa fa-list-ul"></i>查看码列表</a> '); actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="couponCodeList(\'' + row.couponId + '\')"><i class="fa fa-list-ul"></i>码列表</a> ');
} }
return actions.join(''); return actions.join('');
} }
......
...@@ -48,13 +48,17 @@ ...@@ -48,13 +48,17 @@
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<script th:inline="javascript"> <script th:inline="javascript">
var couponCodeListFlag = [[${@permission.hasPermi('system:role:edit')}]];
var prefix = ctx + "candy/coupon/mgt"; var prefix = ctx + "candy/coupon/mgt";
var viewMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:detail')}]];
var couType = [[${couType}]];
$(function() { $(function() {
var options = { var options = {
url: prefix + "/list", url: prefix + "/list",
createUrl: prefix + "/add/{id}", createUrl: prefix + "/add/{id}",
detailUrl: prefix + "/detail/" + couType + "/{id}",
// updateUrl: prefix + "/edit/{id}", // updateUrl: prefix + "/edit/{id}",
// removeUrl: prefix + "/remove", // removeUrl: prefix + "/remove",
// exportUrl: prefix + "/export", // exportUrl: prefix + "/export",
...@@ -101,11 +105,12 @@ ...@@ -101,11 +105,12 @@
}, },
{ {
title: '操作', title: '操作',
align: 'center', // align: 'center',
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-warning btn-xs ' + viewMgtCouponFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.mcouponId + '\')"><i class="fa fa-search"></i>详情</a>');
if (row.bindType === 0) { if (row.bindType === 0) {
actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="couponCodeList(\'' + row.couponId + '\')"><i class="fa fa-list-ul"></i>查看码列表</a> '); actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="couponCodeList(\'' + row.couponId + '\')"><i class="fa fa-list-ul"></i>码列表</a> ');
} }
return actions.join(''); return actions.join('');
} }
......
...@@ -52,10 +52,15 @@ ...@@ -52,10 +52,15 @@
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]]; var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var prefix = ctx + "candy/coupon/mgt"; var prefix = ctx + "candy/coupon/mgt";
var viewMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:detail')}]];
var couType = [[${couType}]];
$(function() { $(function() {
var options = { var options = {
url: prefix + "/list", url: prefix + "/list",
createUrl: prefix + "/add/{id}", createUrl: prefix + "/add/{id}",
detailUrl: prefix + "/detail/" + couType + "/{id}",
// updateUrl: prefix + "/edit/{id}", // updateUrl: prefix + "/edit/{id}",
// removeUrl: prefix + "/remove", // removeUrl: prefix + "/remove",
// exportUrl: prefix + "/export", // exportUrl: prefix + "/export",
...@@ -69,7 +74,7 @@ ...@@ -69,7 +74,7 @@
field: 'discount', field: 'discount',
title: '折扣', title: '折扣',
formatter: function (value, row, index) { formatter: function (value, row, index) {
return '<span>' + value*10 + '折</span>'; return '<span>' + value + '折</span>';
} }
}, },
{ {
...@@ -119,11 +124,12 @@ ...@@ -119,11 +124,12 @@
}, },
{ {
title: '操作', title: '操作',
align: 'center', // align: 'center',
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-warning btn-xs ' + viewMgtCouponFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.mcouponId + '\')"><i class="fa fa-search"></i>详情</a>');
if (row.bindType === 0) { if (row.bindType === 0) {
actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="couponCodeList(\'' + row.couponId + '\')"><i class="fa fa-list-ul"></i>查看码列表</a> '); actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="couponCodeList(\'' + row.couponId + '\')"><i class="fa fa-list-ul"></i>码列表</a> ');
} }
return actions.join(''); return actions.join('');
} }
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('代金券详情')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m table-striped">
<div class="form-group">
<label class="col-sm-3 control-label">券标题:</label>
<div class="form-control-static col-sm-2">
[[${mgtCouponInfoDto.title}]]
</div>
<label class="col-sm-3 control-label">发放状态:</label>
<div class="form-control-static col-sm-4">
[[${@dict.getLabel('zhengzai_coupon_mgt_state', mgtCouponInfoDto.state)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">描述说明(App显示):</label>
<div class="form-control-static col-sm-9">
[[${mgtCouponInfoDto.notice}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">适用范围:</label>
<div class="form-control-static col-sm-9">
[[${couponRule.busiName}]][[${busiNameChildNode}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">券类别:</label>
<div class="form-control-static col-sm-2">
[[${@dict.getLabel('zhengzai_coupon_busi_type', mgtCouponInfoDto.busiType)}]]
</div>
<label class="col-sm-3 control-label">类型:</label>
<div class="form-control-static col-sm-4">
[[${@dict.getLabel('zhengzai_coupon_bind_type', mgtCouponInfoDto.bindType)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">金额:</label>
<div class="form-control-static col-sm-2">
[[${mgtCouponInfoDto.valFace}]] 元
</div>
<label class="col-sm-3 control-label">数量:</label>
<div class="form-control-static col-sm-4">
[[${mgtCouponInfoDto.eventAmt}]][[${mgtCouponInfoDto.bindType == 0 ? ' 张' : ' 张/账户'}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">券的有效期:</label>
<div class="form-control-static col-sm-9">
[[${mgtCouponInfoDto.validity}]] 天
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">兑换有效期:</label>
<div class="form-control-static col-sm-9">
[[${mgtCouponInfoDto.redeemValidity}]] 天
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">生成时间:</label>
<div class="form-control-static col-sm-9">
[[${#strings.substring(mgtCouponInfoDto.createdAt,0,19)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发放时间:</label>
<div class="form-control-static col-sm-9">
[[${#strings.substring(mgtCouponInfoDto.eventAt,0,19)}]]
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('满减券详情')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m table-striped">
<div class="form-group">
<label class="col-sm-3 control-label">券标题:</label>
<div class="form-control-static col-sm-2">
[[${mgtCouponInfoDto.title}]]
</div>
<label class="col-sm-3 control-label">发放状态:</label>
<div class="form-control-static col-sm-4">
[[${@dict.getLabel('zhengzai_coupon_mgt_state', mgtCouponInfoDto.state)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">描述说明(App显示):</label>
<div class="form-control-static col-sm-9">
[[${mgtCouponInfoDto.notice}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">适用范围:</label>
<div class="form-control-static col-sm-9">
[[${couponRule.busiName}]][[${busiNameChildNode}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">券类别:</label>
<div class="form-control-static col-sm-2">
[[${@dict.getLabel('zhengzai_coupon_busi_type', mgtCouponInfoDto.busiType)}]]
</div>
<label class="col-sm-3 control-label">类型:</label>
<div class="form-control-static col-sm-4">
[[${@dict.getLabel('zhengzai_coupon_bind_type', mgtCouponInfoDto.bindType)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">金额:</label>
<div class="form-control-static col-sm-2">
[[${mgtCouponInfoDto.valFace}]] 元
</div>
<label class="col-sm-3 control-label">数量:</label>
<div class="form-control-static col-sm-4">
[[${mgtCouponInfoDto.eventAmt}]][[${mgtCouponInfoDto.bindType == 0 ? ' 张' : ' 张/账户'}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">券的有效期:</label>
<div class="form-control-static col-sm-9">
[[${mgtCouponInfoDto.validity}]] 天
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">兑换有效期:</label>
<div class="form-control-static col-sm-9">
[[${mgtCouponInfoDto.redeemValidity}]] 天
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">生成时间:</label>
<div class="form-control-static col-sm-9">
[[${#strings.substring(mgtCouponInfoDto.createdAt,0,19)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发放时间:</label>
<div class="form-control-static col-sm-9">
[[${#strings.substring(mgtCouponInfoDto.eventAt,0,19)}]]
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('兑换券详情')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m table-striped">
<div class="form-group">
<label class="col-sm-3 control-label">券标题:</label>
<div class="form-control-static col-sm-2">
[[${mgtCouponInfoDto.title}]]
</div>
<label class="col-sm-3 control-label">发放状态:</label>
<div class="form-control-static col-sm-4">
[[${@dict.getLabel('zhengzai_coupon_mgt_state', mgtCouponInfoDto.state)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">描述说明(App显示):</label>
<div class="form-control-static col-sm-9">
[[${mgtCouponInfoDto.notice}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">适用范围:</label>
<div class="form-control-static col-sm-9">
[[${couponRule.busiName}]][[${busiNameChildNode}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">券类别:</label>
<div class="form-control-static col-sm-2">
[[${@dict.getLabel('zhengzai_coupon_busi_type', mgtCouponInfoDto.busiType)}]]
</div>
<label class="col-sm-3 control-label">类型:</label>
<div class="form-control-static col-sm-4">
[[${@dict.getLabel('zhengzai_coupon_bind_type', mgtCouponInfoDto.bindType)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">数量:</label>
<div class="form-control-static col-sm-4">
[[${mgtCouponInfoDto.eventAmt}]][[${mgtCouponInfoDto.bindType == 0 ? ' 张' : ' 张/账户'}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">券的有效期:</label>
<div class="form-control-static col-sm-9">
[[${mgtCouponInfoDto.validity}]] 天
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">生成时间:</label>
<div class="form-control-static col-sm-9">
[[${#strings.substring(mgtCouponInfoDto.createdAt,0,19)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发放时间:</label>
<div class="form-control-static col-sm-9">
[[${#strings.substring(mgtCouponInfoDto.eventAt,0,19)}]]
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('折扣券详情')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m table-striped">
<div class="form-group">
<label class="col-sm-3 control-label">券标题:</label>
<div class="form-control-static col-sm-2">
[[${mgtCouponInfoDto.title}]]
</div>
<label class="col-sm-3 control-label">发放状态:</label>
<div class="form-control-static col-sm-4">
[[${@dict.getLabel('zhengzai_coupon_mgt_state', mgtCouponInfoDto.state)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">描述说明(App显示):</label>
<div class="form-control-static col-sm-9">
[[${mgtCouponInfoDto.notice}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">适用范围:</label>
<div class="form-control-static col-sm-9">
[[${couponRule.busiName}]][[${busiNameChildNode}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">券类别:</label>
<div class="form-control-static col-sm-2">
[[${@dict.getLabel('zhengzai_coupon_busi_type', mgtCouponInfoDto.busiType)}]]
</div>
<label class="col-sm-3 control-label">类型:</label>
<div class="form-control-static col-sm-4">
[[${@dict.getLabel('zhengzai_coupon_bind_type', mgtCouponInfoDto.bindType)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">折扣:</label>
<div class="form-control-static col-sm-2">
[[${mgtCouponInfoDto.discount}]] 折
</div>
<label class="col-sm-3 control-label">数量:</label>
<div class="form-control-static col-sm-4">
[[${mgtCouponInfoDto.eventAmt}]][[${mgtCouponInfoDto.bindType == 0 ? ' 张' : ' 张/账户'}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">券的有效期:</label>
<div class="form-control-static col-sm-9">
[[${mgtCouponInfoDto.validity}]] 天
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">兑换有效期:</label>
<div class="form-control-static col-sm-9">
[[${mgtCouponInfoDto.redeemValidity}]] 天
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">生成时间:</label>
<div class="form-control-static col-sm-9">
[[${#strings.substring(mgtCouponInfoDto.createdAt,0,19)}]]
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发放时间:</label>
<div class="form-control-static col-sm-9">
[[${#strings.substring(mgtCouponInfoDto.eventAt,0,19)}]]
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
</script>
</body>
</html>
\ No newline at end of file
...@@ -2,7 +2,6 @@ package com.liquidnet.service.candy.dto.admin; ...@@ -2,7 +2,6 @@ package com.liquidnet.service.candy.dto.admin;
import lombok.Data; import lombok.Data;
@Data
public class CandyMgtCouponListParam { public class CandyMgtCouponListParam {
/** /**
* 券类型[1-代金券|2-满减券|3-兑换券|4-折扣券|101-优先券] * 券类型[1-代金券|2-满减券|3-兑换券|4-折扣券|101-优先券]
...@@ -20,4 +19,46 @@ public class CandyMgtCouponListParam { ...@@ -20,4 +19,46 @@ public class CandyMgtCouponListParam {
* 业务类别[0-全场|1-演出|2-商品|3-优先购] * 业务类别[0-全场|1-演出|2-商品|3-优先购]
*/ */
private Integer busiType; private Integer busiType;
private String mcouponId;
public Integer getCouType() {
return couType;
}
public void setCouType(Integer couType) {
this.couType = couType;
}
public String getKeyword() {
return keyword;
}
public void setKeyword(String keyword) {
this.keyword = keyword;
}
public Integer getBindType() {
return bindType;
}
public void setBindType(Integer bindType) {
this.bindType = bindType;
}
public Integer getBusiType() {
return busiType;
}
public void setBusiType(Integer busiType) {
this.busiType = busiType;
}
public String getMcouponId() {
return mcouponId;
}
public void setMcouponId(String mcouponId) {
this.mcouponId = mcouponId;
}
} }
...@@ -32,7 +32,7 @@ public class CandyMgtCoupon implements Serializable { ...@@ -32,7 +32,7 @@ public class CandyMgtCoupon implements Serializable {
private String couponId; private String couponId;
/** /**
* 发放状态[0-未发放|1-已发放|2-无效|9-发放中|10-会员礼包初始模版] * 发放状态[0-未发放|1-已发放|2-无效|3-已取消|9-发放中|10-会员礼包初始模版]
*/ */
private Integer state; private Integer state;
......
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
cc.busi_type, cc.busi_type,
cc.cou_type, cc.cou_type,
cc.bind_type, cc.bind_type,
cc.discount, ifnull(cc.discount, 0)*10 as discount,
cc.val_face, cc.val_face,
cc.val_over, cc.val_over,
cc.val_minus, cc.val_minus,
...@@ -121,6 +121,9 @@ ...@@ -121,6 +121,9 @@
AND cmc.state <![CDATA[<>]]> 2 AND cmc.state <![CDATA[<>]]> 2
AND cc.`exclusive` = 0 AND cc.`exclusive` = 0
<if test="mcouponId != null and mcouponId != ''">
AND cmc.mcoupon_id = #{mcouponId,jdbcType=VARCHAR}
</if>
<if test="couType != null"> <if test="couType != null">
AND cc.cou_type = #{couType,jdbcType=SMALLINT} AND cc.cou_type = #{couType,jdbcType=SMALLINT}
</if> </if>
......
...@@ -354,8 +354,7 @@ ...@@ -354,8 +354,7 @@
INNER JOIN kylin_tickets AS t ON t.tickets_id = tr.ticket_id INNER JOIN kylin_tickets AS t ON t.tickets_id = tr.ticket_id
INNER JOIN kylin_ticket_status AS ts ON ts.ticket_id = tr.ticket_id INNER JOIN kylin_ticket_status AS ts ON ts.ticket_id = tr.ticket_id
<where> <where>
performances_id in <foreach collection="performanceList" item="performanceIds" index="index" open="performances_id in (" close=")" separator=",">
<foreach collection="performanceList" item="performanceIds" index="index" open="(" close=")" separator=",">
${performanceIds} ${performanceIds}
</foreach> </foreach>
</where> </where>
......
...@@ -8,7 +8,7 @@ create table candy_mgt_coupon ...@@ -8,7 +8,7 @@ create table candy_mgt_coupon
mid bigint unsigned auto_increment primary key, mid bigint unsigned auto_increment primary key,
mcoupon_id varchar(64) not null, mcoupon_id varchar(64) not null,
coupon_id varchar(64) not null comment '~candy_coupon.coupon_id', coupon_id varchar(64) not null comment '~candy_coupon.coupon_id',
state tinyint comment '发放状态[0-未发放|1-已发放|2-无效|9-发放中|10-会员礼包初始模版]', state tinyint comment '发放状态[0-未发放|1-已发放|2-无效|3-已取消|9-发放中|10-会员礼包初始模版]',
# bind_type smallint comment '领取方式[0-用户输入兑换|1-发放至用户]', # bind_type smallint comment '领取方式[0-用户输入兑换|1-发放至用户]',
event_amt int comment '发放量', event_amt int comment '发放量',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment