From 99e02dd50ca2a6a4191913c62b6e39ec1b4391a6 Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Sat, 17 Feb 2024 21:44:29 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java | 7 ++ src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java | 9 +++ src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java | 5 + src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java | 4 + src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java | 2 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 25 ++++++++ src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html | 20 ++++-- src/main/resources/templates/febs/views/modules/mallMember/member-coupon-select.html | 98 ++++++++++++++++++++++++++++++++ 8 files changed, 162 insertions(+), 8 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java index a65ce85..1c8028d 100644 --- a/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java +++ b/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java @@ -10,7 +10,9 @@ */ PAY(1, "积分支付"), - BUY(2, "购买商品获得积分"); + BUY(2, "购买商品获得积分"), + + RECOMMEND(3, "推荐下单获得积分"); private final int value; diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java index 08eda2d..3bf4415 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java @@ -614,4 +614,9 @@ return new FebsResponse().success().message("操作成功"); } + @PostMapping("addMemberCoupon") + @ControllerEndpoint(operation = "会员添加优惠券呢", exceptionMessage = "操作失败") + public FebsResponse addMemberCoupon(@Valid MallMember mallmember) { + return mallMemberService.addMemberCoupon(mallmember); + } } diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java index 8c4dee9..da1829f 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java @@ -413,4 +413,11 @@ return FebsUtil.view("modules/mallMember/vip-level-setting"); } + @GetMapping("addCoupon/{id}") + public String addCoupon(@PathVariable long id, Model model) { +// AdminAgentLevelSetInfoVo data = mallMemberService.getAgentLevelSetInfoByMemberId(id); + model.addAttribute("memberId", id); + return FebsUtil.view("modules/mallMember/member-coupon-select"); + } + } diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java index 106cb62..810b4d7 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java @@ -136,4 +136,6 @@ IPage<MallMember> getsalemanRuleList(MallMember mallMember, QueryRequest request); FebsResponse salemanCoupon(MallMember mallmember); + + FebsResponse addMemberCoupon(MallMember member); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java index 483fb2c..0bce76e 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java @@ -21,6 +21,8 @@ import cc.mrbird.febs.pay.model.MemberWithdrawalDto; import cc.mrbird.febs.pay.service.IXcxPayService; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; @@ -75,6 +77,8 @@ private final MallAgentRecordMapper mallAgentRecordMapper; private final MallSalesmanMapper mallSalesmanMapper; private final SalemanCouponMapper salemanCouponMapper; + private final MallMemberCouponMapper mallMemberCouponMapper; + private final MallGoodsCouponMapper mallGoodsCouponMapper; @Override public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) { @@ -924,4 +928,25 @@ return ids; } + + @Override + public FebsResponse addMemberCoupon(MallMember member) { + MallGoodsCoupon existCoupon = mallGoodsCouponMapper.selectById(member.getCouponId()); + if(existCoupon == null) { + return new FebsResponse().fail().message("优惠券不存在"); + } + + MallMemberCoupon memberCoupon = new MallMemberCoupon(); + memberCoupon.setCouponId(existCoupon.getId()); + memberCoupon.setCouponName(existCoupon.getName()); + memberCoupon.setInviteId(member.getInviteId()); + memberCoupon.setCouponUuid(IdUtil.simpleUUID()); + memberCoupon.setState(1); + memberCoupon.setFromType(4); + memberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(), existCoupon.getExpireDay())); + memberCoupon.setMemberId(member.getId()); + mallMemberCouponMapper.insert(memberCoupon); + + return new FebsResponse().success().message("操作成功"); + } } diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java index fa1618c..b2ba6e9 100644 --- a/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java @@ -71,6 +71,15 @@ mallMemberWalletService.add(new BigDecimal(score), memberId, "prizeScore"); agentProducer.sendVipLevelUp(orderId); + if (StrUtil.isNotBlank(mallOrderInfo.getTakeCode())) { + MallMember mallMember = mallMemberMapper.selectInfoByInviteId(mallOrderInfo.getTakeCode()); + if (mallMember == null) { + return; + } + + mallMoneyFlowService.addMoneyFlow(mallMember.getId(), new BigDecimal(score), ScoreFlowTypeEnum.RECOMMEND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.PRIZE_SCORE.getValue(), CollUtil.join(skuNames, ","), 2); + mallMemberWalletService.add(new BigDecimal(score), mallMember.getId(), "prizeScore"); + } } @Override diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html index a025887..f2b2154 100644 --- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html +++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html @@ -112,13 +112,7 @@ <div class="layui-btn-container"> <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="updateReferer">修改推荐人</button> <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="updateVipLevel">修改会员等级</button> -<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="registMember">添加会员</button>--> -<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="balance">拨付余额</button>--> -<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="score">拨付赠送积分</button>--> -<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="prizeScore">拨付竞猜积分</button>--> -<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="resetPwd">重置登录密码</button>--> -<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="resetPayPwd">重置支付密码</button>--> -<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="agentLevel">设置代理等级</button>--> + <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="addCoupon">优惠券派送</button> </div> </script> <!-- 表格操作栏 end --> @@ -451,6 +445,18 @@ } }); } + + if (layEvent === 'addCoupon') { + febs.modal.open('添加优惠券', 'modules/mallMember/addCoupon/' + checkData[0].id, { + btn: ['确认', '取消'], + yes: function (index, layero) { + $('#member-coupon-select').find('#submit').trigger('click'); + }, + btn2: function () { + layer.closeAll(); + } + }); + } }); function systemPay(text, id, type) { diff --git a/src/main/resources/templates/febs/views/modules/mallMember/member-coupon-select.html b/src/main/resources/templates/febs/views/modules/mallMember/member-coupon-select.html new file mode 100644 index 0000000..45050ee --- /dev/null +++ b/src/main/resources/templates/febs/views/modules/mallMember/member-coupon-select.html @@ -0,0 +1,98 @@ +<style> + #member-coupon-select { + padding: 20px 25px 25px 0; + } + + #member-coupon-select .layui-treeSelect .ztree li a, .ztree li span { + margin: 0 0 2px 3px !important; + } + #member-coupon-select #data-permission-tree-block { + border: 1px solid #eee; + border-radius: 2px; + padding: 3px 0; + } + #member-coupon-select .layui-treeSelect .ztree li span.button.switch { + top: 1px; + left: 3px; + } + #member-coupon-select img{ + max-width:100px + } + +</style> +<div class="layui-fluid" id="member-coupon-select"> + <form class="layui-form" action="" lay-filter="member-coupon-select-form"> + <div class="layui-form-item febs-hide"> + <label class="layui-form-label febs-form-item-require">用户id:</label> + <div class="layui-input-block"> + <input type="text" name="id" data-th-value="${memberId}"> + </div> + </div> + + <div class="layui-form-item"> + <label class="layui-form-label">优惠卷:</label> + <div class="layui-input-inline"> + <select name="couponId" class="member-coupon-select-category" id="couponCategarySelect"> + <option value="">请选择</option> + </select> + </div> + </div> + + <div class="layui-form-item febs-hide"> + <button class="layui-btn" lay-submit="" lay-filter="member-coupon-select-form-submit" id="submit"></button> + </div> + </form> +</div> + +<script data-th-inline="javascript"> + layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree', 'laydate','upload'], function () { + var $ = layui.$, + febs = layui.febs, + layer = layui.layer, + formSelects = layui.formSelects, + treeSelect = layui.treeSelect, + form = layui.form, + laydate = layui.laydate, + eleTree = layui.eleTree, + adminCouponSelectVo = [[${adminCouponSelectVo}]], + $view = $('#member-coupon-select'), + upload = layui.upload, + validate = layui.validate; + + form.render(); + laydate.render({ + elem: '#febs-form-group-date' + }); + + formSelects.render(); + + //(下拉框) + $.get(ctx + 'admin/goods/coupon/tree', function (data) { + for (var k in data) + { + $(".member-coupon-select-category").append("<option value='" + data[k].couponId + "'>" + data[k].couponName + "</option>"); + } + layui.use('form', function () { + var form = layui.form; + $("#couponCategarySelect").val('') + form.render(); + }); + }); + // initUserValue(); + // + // function initUserValue() { + // form.val("member-coupon-select-form", { + // "id": adminCouponSelectVo.id, + // }); + // } + + form.on('submit(member-coupon-select-form-submit)', function (data) { + febs.post(ctx + 'admin/mallMember/addMemberCoupon', data.field, function () { + layer.closeAll(); + febs.alert.success('操作成功'); + $('#febs-member-list').find('#reset').click(); + }); + return false; + }); + }); +</script> \ No newline at end of file -- Gitblit v1.9.1