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

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

+兑换券列表页面;

parent 5826517d
package com.liquidnet.client.admin.web.controller.zhengzai.candy; package com.liquidnet.client.admin.web.controller.zhengzai.candy;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.client.admin.common.annotation.Log; import com.liquidnet.client.admin.common.annotation.Log;
import com.liquidnet.client.admin.common.core.controller.BaseController; import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
...@@ -8,6 +10,7 @@ import com.liquidnet.client.admin.common.enums.BusinessType; ...@@ -8,6 +10,7 @@ import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.common.utils.DateUtils; import com.liquidnet.client.admin.common.utils.DateUtils;
import com.liquidnet.client.admin.common.utils.ShiroUtils; import com.liquidnet.client.admin.common.utils.ShiroUtils;
import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService; import com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService;
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.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam; import com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam;
...@@ -45,6 +48,8 @@ public class CandyMgtCouponAdminController extends BaseController { ...@@ -45,6 +48,8 @@ public class CandyMgtCouponAdminController extends BaseController {
private final String prefix = "zhengzai/candy/coupon/mgt"; private final String prefix = "zhengzai/candy/coupon/mgt";
@Autowired @Autowired
private ICandyMgtCouponAdminService candyMgtCouponAdminService; private ICandyMgtCouponAdminService candyMgtCouponAdminService;
@Autowired
private ICandyCouponRuleAdminService candyCouponRuleAdminService;
@RequiresPermissions("candy:coupon:mgt:view") @RequiresPermissions("candy:coupon:mgt:view")
@GetMapping() @GetMapping()
...@@ -58,6 +63,26 @@ public class CandyMgtCouponAdminController extends BaseController { ...@@ -58,6 +63,26 @@ public class CandyMgtCouponAdminController extends BaseController {
public TableDataInfo list(CandyMgtCouponListParam listParam) { public TableDataInfo list(CandyMgtCouponListParam listParam) {
startPage(); startPage();
List<CandyMgtCouponInfoDto> list = candyMgtCouponAdminService.listForMgtCouponInfoDto(listParam); List<CandyMgtCouponInfoDto> list = candyMgtCouponAdminService.listForMgtCouponInfoDto(listParam);
if (CollectionUtils.isEmpty(list)) {
switch (listParam.getCouType()) {
case 3:
String[] couponIdArr = list.stream().map(CandyMgtCouponInfoDto::getCouponId).toArray(String[]::new);
LambdaQueryWrapper<CandyCouponRule> queryWrapper = Wrappers.lambdaQuery(CandyCouponRule.class);
queryWrapper.in(CandyCouponRule::getCouponId, couponIdArr);
queryWrapper.eq(CandyCouponRule::getState, 1);
queryWrapper.select(CandyCouponRule::getCruleId, CandyCouponRule::getCouponId, CandyCouponRule::getComment);
List<CandyCouponRule> couponRuleList = candyCouponRuleAdminService.list(queryWrapper);
list.stream().forEach(r->{
couponRuleList.forEach(cr -> {
if (r.getCouponId().equals(cr.getCouponId())) {
r.setCouponRuleScopeName(cr.getComment());
}
});
});
break;
}
}
return getDataTable(list); return getDataTable(list);
} }
......
coupon1.html<!DOCTYPE html> <!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> <html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head> <head>
<th:block th:include="include :: header('代金券')" /> <th:block th:include="include :: header('兑换券')" />
</head> </head>
<body class="gray-bg"> <body class="gray-bg">
<div class="container-div"> <div class="container-div">
<div class="row"> <div class="row">
<div class="col-sm-12 search-collapse"> <div class="col-sm-12 search-collapse">
<form id="coupon-form"> <form id="coupon-form">
<div class="select-list"> <div class="select-list">
<ul> <ul>
<input type="hidden" name="couType" value="3" /> <input type="hidden" name="couType" value="1" />
<li> <li>
<input type="text" name="keyword" placeholder="搜索"/> <input type="text" name="keyword" placeholder="搜索"/>
</li> </li>
<li> <li>
类型:<select name="bindType" th:with="type=${@dict.getType('zhengzai_coupon_bind_type')}"> 类型:<select name="bindType" th:with="type=${@dict.getType('zhengzai_coupon_bind_type')}">
<option value="">所有</option> <option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select> </select>
</li> </li>
<li> <li>
适用范围:<select name="busiType" th:with="type=${@dict.getType('zhengzai_coupon_busi_type')}"> 适用范围:<select name="busiType" th:with="type=${@dict.getType('zhengzai_coupon_busi_type')}">
<option value="">所有</option> <option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select> </select>
</li> </li>
<li> <li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a> <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li> </li>
</ul> </ul>
</div> </div>
</form> </form>
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add(3)" shiro:hasPermission="candy:coupon:mgt:add"> <a class="btn btn-success" onclick="$.operate.addTab(3)" shiro:hasPermission="candy:coupon:mgt:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 新增
</a> </a>
</div> </div>
<div class="col-sm-12 select-table table-striped"> <div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table> <table id="bootstrap-table"></table>
</div>
</div> </div>
</div> </div>
<th:block th:include="include :: footer" /> </div>
<script th:inline="javascript"> <th:block th:include="include :: footer" />
var couponCodeListFlag = [[${@permission.hasPermi('system:role:edit')}]]; <script th:inline="javascript">
var prefix = ctx + "candy/coupon/mgt"; var couponCodeListFlag = [[${@permission.hasPermi('system:role:edit')}]];
var prefix = ctx + "candy/coupon/mgt";
$(function() {
var options = { $(function() {
url: prefix + "/list", var options = {
createUrl: prefix + "/add/{id}", url: prefix + "/list",
// updateUrl: prefix + "/edit/{id}", createUrl: prefix + "/add/{id}",
// removeUrl: prefix + "/remove", // updateUrl: prefix + "/edit/{id}",
// exportUrl: prefix + "/export", // removeUrl: prefix + "/remove",
sortName: "createdAt", // exportUrl: prefix + "/export",
modalName: "兑换券", sortName: "createdAt",
columns: [{ modalName: "兑换券",
checkbox: true columns: [{
}, checkbox: true
{ },
field: 'valFace',
title: '金额'
},
{
field: 'eventAmt',
title: '数量',
},
{
field: 'bindType',
title: '类型',
sortable: true
},
{ {
field: 'busiType', field: 'couponRuleScopeName',
title: '适用范围', title: '适用演出'
sortable: true },
{
field: 'eventAmt',
title: '数量',
}, },
{ {
field: 'title', field: 'title',
...@@ -98,29 +88,29 @@ coupon1.html<!DOCTYPE html> ...@@ -98,29 +88,29 @@ coupon1.html<!DOCTYPE html>
title: '生成时间', title: '生成时间',
sortable: true sortable: true
}, },
{ {
field: 'expireAt', field: 'expireAt',
title: '失效时间', title: '失效时间',
sortable: true sortable: true
}, },
{ {
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-default btn-xs " + couponCodeListFlag + "' href='javascript:void(0)' onclick='authUser(" + row.roleId + ")'><i class='fa fa-user'></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('');
} }
}] }]
}; };
$.table.init(options); $.table.init(options);
}); });
/* 券码列表 */ /* 查看码列表 */
function couponCodeList(couponId) { function couponCodeList(couponId) {
var url = prefix + '/code/' + couponId; var url = 'candy/coupon/code?couponId=' + couponId;
$.modal.openTab("查看码列表", url); $.modal.openTab("查看码列表", url);
} }
</script> </script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -49,4 +49,7 @@ public class CandyMgtCouponInfoDto implements Serializable { ...@@ -49,4 +49,7 @@ public class CandyMgtCouponInfoDto implements Serializable {
private LocalDateTime createdAt; private LocalDateTime createdAt;
private LocalDateTime updatedAt; private LocalDateTime updatedAt;
//private String comment; //private String comment;
// 适用演出名称
private String couponRuleScopeName;
} }
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