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; 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); } } 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"); } } 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); } 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("操作成功"); } } src/main/java/cc/mrbird/febs/vip/controller/AdminMallVipBenefitsController.java
@@ -56,4 +56,10 @@ public FebsResponse findAllBenefits() { return new FebsResponse().success().data(mallVipBenefitsService.list()); } @PostMapping(value = "/switchBenefitsShow/{id}") public FebsResponse switchBenefitsShow(@PathVariable("id") Long id) { mallVipBenefitsService.switchBenefitsShow(id); return new FebsResponse().success().data("设置成功"); } } src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java
@@ -76,6 +76,10 @@ List<Long> goodsIds = new ArrayList<>(); List<Long> couponIds = new ArrayList<>(); vipBenefits.getDetails().forEach(item -> { if (StrUtil.isBlank(item.getContent())) { return; } if (item.getIsClick() == 2) { return; } @@ -103,6 +107,10 @@ Map<Long, MallGoodsCoupon> couponMap = coupons.stream().collect(Collectors.toMap(MallGoodsCoupon::getId, MallGoodsCoupon -> MallGoodsCoupon)); vipBenefits.getDetails().forEach(item -> { if (StrUtil.isBlank(item.getContent())) { return; } if (item.getIsClick() == 2) { return; } src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefits.java
@@ -47,6 +47,11 @@ */ private String remark; /** * 是否在小程序上显示 */ private Integer isShow; @TableField(exist = false) private Integer isJump; src/main/java/cc/mrbird/febs/vip/service/IMallVipBenefitsService.java
@@ -18,4 +18,6 @@ void editVipBenefits(MallVipBenefits mallVipBenefits); void getBenefits(Long id); void switchBenefitsShow(Long id); } src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
@@ -76,15 +76,17 @@ return; } if (CollUtil.isEmpty(mallVipBenefits.getDetails())) { throw new FebsException("权益明细不能为空"); } // if (CollUtil.isEmpty(mallVipBenefits.getDetails())) { // throw new FebsException("权益明细不能为空"); // } this.baseMapper.insert(mallVipBenefits); mallVipBenefits.getDetails().forEach(item -> { item.setBenefitsId(mallVipBenefits.getId()); }); if (CollUtil.isNotEmpty(mallVipBenefits.getDetails())) { mallVipBenefits.getDetails().forEach(item -> { item.setBenefitsId(mallVipBenefits.getId()); }); } this.mallVipBenefitsDetailsService.saveBatch(mallVipBenefits.getDetails()); } @@ -280,4 +282,18 @@ mallVipBenefitsRecordMapper.insert(record); } @Override public void switchBenefitsShow(Long id) { MallVipBenefits vipBenefits = this.baseMapper.selectById(id); MallVipBenefits update = new MallVipBenefits(); if (vipBenefits.getIsShow() == 1) { update.setIsShow(2); } else { update.setIsShow(1); } update.setId(vipBenefits.getId()); this.baseMapper.updateById(update); } } src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java
@@ -28,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; @Slf4j @Service @@ -48,9 +49,13 @@ public List<MallVipConfig> findConfigList() { List<MallVipConfig> configs = this.baseMapper.selectVipConfigList(); configs.forEach(item -> { item.getBenefits().forEach(benefits -> { List<MallVipBenefits> data = item.getBenefits().stream().filter(benefit -> { return benefit.getIsShow() == 1; }).peek(benefits -> { benefits.setIsJump(CollUtil.isEmpty(benefits.getDetails()) ? 2 : 1); }); }).collect(Collectors.toList()); item.setBenefits(data); }); return configs; } @@ -151,6 +156,10 @@ return false; } if (item.getGainType() == 3 && item.getScoreMultiple() != null) { return true; } // 生日权益 if (item.getGainType() == 2 && isBirthday) { return true; src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java
@@ -3,11 +3,13 @@ import cc.mrbird.febs.common.enumerates.FlowTypeEnum; import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; import cc.mrbird.febs.common.enumerates.ScoreFlowTypeEnum; import cc.mrbird.febs.mall.entity.MallGoods; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallOrderInfo; import cc.mrbird.febs.mall.entity.MallOrderItem; import cc.mrbird.febs.mall.mapper.MallMemberMapper; import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; import cc.mrbird.febs.mall.service.IApiMallGoodsService; import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.IApiMallOrderInfoService; import cc.mrbird.febs.mall.service.IMallMoneyFlowService; @@ -27,8 +29,12 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Handler; import java.util.stream.Collectors; @Slf4j @@ -43,6 +49,7 @@ private final MallMemberMapper mallMemberMapper; private final MallVipConfigMapper mallVipConfigMapper; private final AgentProducer agentProducer; private final IApiMallGoodsService mallGoodsService; @Override @Transactional(rollbackFor = Exception.class) @@ -55,6 +62,7 @@ Long memberId = mallOrderInfo.getMemberId(); MallVipBenefits mallVipBenefits = mallVipConfigService.hasVipBenefits(memberId); MallMember member = mallMemberMapper.selectById(memberId); BigDecimal multiple = BigDecimal.ONE; String name = ""; if (mallVipBenefits != null) { @@ -70,6 +78,39 @@ mallMoneyFlowService.addMoneyFlow(memberId, new BigDecimal(score), ScoreFlowTypeEnum.BUY.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.PRIZE_SCORE.getValue(), CollUtil.join(skuNames, ","), 2); mallMemberWalletService.add(new BigDecimal(score), memberId, "prizeScore"); List<Long> itemGoodsIds = mallOrderInfo.getItems().stream().map(MallOrderItem::getGoodsId).distinct().collect(Collectors.toList()); List<MallGoods> goodsList = mallGoodsService.listByIds(itemGoodsIds); Map<Long, MallGoods> goodsMap = goodsList.stream().collect(Collectors.toMap(MallGoods::getId, MallGoods -> MallGoods)); Map<Long, BigDecimal> recommendScoreMap = new HashMap<>(); mallOrderInfo.getItems().forEach(item -> { if (StrUtil.isNotBlank(item.getMemberInviteId()) && !member.getInviteId().equals(item.getMemberInviteId())) { MallGoods mallGoods = goodsMap.get(item.getGoodsId()); if (mallGoods.getStaticMulti() == null) { return; } BigDecimal multi = mallGoods.getStaticMulti().divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP); MallMember mallMember = mallMemberMapper.selectInfoByInviteId(item.getMemberInviteId()); if (mallMember == null) { return; } BigDecimal recommendScore = recommendScoreMap.get(mallMember.getId()); recommendScore = recommendScore == null ? BigDecimal.ZERO : recommendScore; recommendScore = recommendScore.add(item.getAmount().multiply(multi)); recommendScoreMap.put(mallMember.getId(), recommendScore); } }); recommendScoreMap.forEach((key, value) -> { if (value != null) { mallMoneyFlowService.addMoneyFlow(key, value, ScoreFlowTypeEnum.RECOMMEND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.PRIZE_SCORE.getValue(), CollUtil.join(skuNames, ","), 2); mallMemberWalletService.add(value, key, "prizeScore"); } }); agentProducer.sendVipLevelUp(orderId); } src/main/resources/mapper/modules/MallVipConfigMapper.xml
@@ -19,6 +19,9 @@ <id property="id" column="c_id" /> <result property="name" column="c_name" /> <result property="icon" column="c_icon" /> <result property="scoreMultiple" column="score_multiple" /> <result property="gainType" column="gain_type" /> <result property="isShow" column="is_show" /> <collection property="details" ofType="cc.mrbird.febs.vip.entity.MallVipBenefitsDetails"> <id property="id" column="d_id" /> @@ -36,6 +39,7 @@ ,benefits.id c_id ,benefits.name c_name ,benefits.icon c_icon ,benefits.is_show ,details.id d_id from mall_vip_config config inner join mall_vip_config_benefits configBenefits on config.id=configBenefits.config_id @@ -50,6 +54,8 @@ ,benefits.id c_id ,benefits.name c_name ,benefits.icon c_icon ,benefits.score_multiple ,benefits.gain_type from mall_vip_config config inner join mall_vip_config_benefits configBenefits on config.id=configBenefits.config_id inner join mall_vip_benefits benefits on configBenefits.benefits_id=benefits.id src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html
@@ -103,11 +103,10 @@ </div> </div> <div class="layui-form-item febs-hide tc-set"> <label class="layui-form-label">静态倍数</label> <div class="layui-form-item"> <label class="layui-form-label">推销员返积分比例(%)</label> <div class="layui-input-block"> <input type="text" name="staticMulti" placeholder="请输入静态倍数" autocomplete="off" class="layui-input"> <div class="layui-form-mid layui-word-aux">支付后,赠送(购买金额*静态倍数)的赠送积分</div> <input type="text" name="staticMulti" placeholder="请输入推销员返积分比例" autocomplete="off" class="layui-input"> </div> </div> src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html
@@ -112,13 +112,10 @@ </div> </div> <div class="layui-form-item febs-hide tc-set"> <label class="layui-form-label">静态倍数</label> <div class="layui-form-item"> <label class="layui-form-label">推销员返积分比例</label> <div class="layui-input-block"> <input type="text" name="staticMulti" placeholder="请输入静态倍数" autoComplete="off" class="layui-input"> <div class="layui-form-mid layui-word-aux">支付后,赠送(购买金额*静态倍数)的赠送积分 </div> <input type="text" name="staticMulti" placeholder="请输入推销员返积分比例" autocomplete="off" class="layui-input"> </div> </div> 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) { src/main/resources/templates/febs/views/modules/mallMember/member-coupon-select.html
New file @@ -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> src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
@@ -49,6 +49,16 @@ </select> </div> </div> <div class="layui-inline"> <label class="layui-form-label layui-form-label-sm">资金类型</label> <div class="layui-input-inline"> <select name="flowType"> <option value="">请选择</option> <option value="1">余额</option> <option value="3">积分</option> </select> </div> </div> <div class="layui-inline"> <label class="layui-form-label layui-form-label-sm">开始时间</label> @@ -65,18 +75,6 @@ placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input"> </div> </div> <!-- <div class="layui-inline">--> <!-- <label class="layui-form-label layui-form-label-sm">资金类型</label>--> <!-- <div class="layui-input-inline">--> <!-- <select name="flowType">--> <!-- <option value="">请选择</option>--> <!-- <option value="1">余额</option>--> <!-- <option value="2">赠送积分</option>--> <!-- <option value="3">竞猜积分</option>--> <!-- <option value="4">佣金</option>--> <!-- </select>--> <!-- </div>--> <!-- </div>--> </div> </div> <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area"> @@ -156,68 +154,76 @@ {field: 'amount', title: '金额', minWidth: 150,align:'left', totalRow:true}, {field: 'type', title: '流水类型', templet: function (d) { if (d.type === 1) { return '<span>静态收益</span>' } else if (d.type === 2) { return '<span>直推奖</span>' } else if (d.type === 3) { return '<span>代理收益</span>' } else if (d.type === 4) { return '<span>排名收益</span>' }else if (d.type === 5) { return '<span>总监收益</span>' }else if (d.type === 6) { return '<span>社区店补</span>' }else if (d.type === 7) { return '<span>一代收益</span>' }else if (d.type === 8) { return '<span>提现</span>' }else if (d.type === 9) { return '<span>转账</span>' }else if (d.type === 10) { return '<span>余额支付</span>' }else if (d.type === 11) { return '<span>退款</span>' }else if (d.type === 12) { return '<span>佣金转竞猜积分</span>' }else if (d.type === 13) { return '<span>佣金转余额</span>' }else if (d.type === 14) { return '<span>竞猜积分签到</span>' }else if (d.type === 15) { return '<span>感恩奖</span>' }else if (d.type === 16) { return '<span>系统拨付</span>' }else if (d.type === 17) { return '<span>抽奖</span>' }else if (d.type === 18) { return '<span>充值</span>' }else if (d.type === 19) { return '<span>收益</span>' }else if (d.type === 20) { return '<span>赠送金额</span>' }else if (d.type === 21) { return '<span>微信支付</span>' }else if (d.type === 22) { return '<span>微信退款</span>' }else{ return '' if (d.flowType === 3) { if (d.type === 1) { return '<span>积分支付</span>' } else if (d.type === 2) { return '<span>购买商品获得积分</span>' } else if (d.type === 3) { return '<span>推荐下单获得积分</span>' } } if (d.flowType === 1) { if (d.type === 1) { return '<span>静态收益</span>' } else if (d.type === 2) { return '<span>直推奖</span>' } else if (d.type === 3) { return '<span>代理收益</span>' } else if (d.type === 4) { return '<span>排名收益</span>' }else if (d.type === 5) { return '<span>总监收益</span>' }else if (d.type === 6) { return '<span>社区店补</span>' }else if (d.type === 7) { return '<span>一代收益</span>' }else if (d.type === 8) { return '<span>提现</span>' }else if (d.type === 9) { return '<span>转账</span>' }else if (d.type === 10) { return '<span>余额支付</span>' }else if (d.type === 11) { return '<span>退款</span>' }else if (d.type === 12) { return '<span>佣金转竞猜积分</span>' }else if (d.type === 13) { return '<span>佣金转余额</span>' }else if (d.type === 14) { return '<span>竞猜积分签到</span>' }else if (d.type === 15) { return '<span>感恩奖</span>' }else if (d.type === 16) { return '<span>系统拨付</span>' }else if (d.type === 17) { return '<span>抽奖</span>' }else if (d.type === 18) { return '<span>充值</span>' }else if (d.type === 19) { return '<span>收益</span>' }else if (d.type === 20) { return '<span>赠送金额</span>' }else if (d.type === 21) { return '<span>微信支付</span>' }else if (d.type === 22) { return '<span>微信退款</span>' }else{ return '' } } }, minWidth: 80,align:'center'}, // {field: 'flowType', title: '资金类型', // templet: function (d) { // if (d.flowType === 1) { // return '余额'; // } else if(d.flowType === 2) { // return '赠送积分' // } else if(d.flowType === 3) { // return '竞猜积分' // } else if(d.flowType === 4) { // return '佣金' // } else { // return '-'; // } // }, minWidth: 80,align:'center'}, {field: 'flowType', title: '资金类型', templet: function (d) { if (d.flowType === 1) { return '余额'; } else if(d.flowType === 3) { return '积分' } else { return '-'; } }, minWidth: 80,align:'center'}, {field: 'orderNo', title: '订单编号', minWidth: 150,align:'left'}, {field: 'createdTime', title: '创建时间', minWidth: 180,align:'center'} ]] @@ -238,7 +244,7 @@ name: $searchForm.find('input[name="name"]').val().trim(), phone: $searchForm.find('input[name="phone"]').val().trim(), type: $searchForm.find("select[name='type']").val(), // flowType: $searchForm.find("select[name='flowType']").val(), flowType: $searchForm.find("select[name='flowType']").val(), }; } src/main/resources/templates/febs/views/modules/vip/vip-setting.html
@@ -55,7 +55,7 @@ } </style> <script type="text/html" id="toolbar"> <script type="text/html" id="toolbar1"> <div class="layui-btn-container"> <button class="layui-btn layui-btn-sm" type="button" lay-event="addCoupon">新增</button> <button class="layui-btn layui-btn-danger layui-btn-sm" type="button" lay-event="delCoupon">删除</button> @@ -90,7 +90,7 @@ table.render({ elem: '#unAliveCouponItem' ,toolbar:"#toolbar" ,toolbar:"#toolbar1" ,cols: [[ //表头 {type: 'checkbox'} , {field: 'day', title: '失活天数', edit:'text', width:250} src/main/resources/templates/febs/views/modules/vip/vipBenefits-add.html
@@ -22,6 +22,7 @@ <select name="gainType" class="gain-type" lay-filter="gain-type-select"> <option value="1">会员日</option> <option value="2">会员生日</option> <option value="3">其他</option> </select> </div> </div> src/main/resources/templates/febs/views/modules/vip/vipBenefits-edit.html
@@ -28,6 +28,7 @@ <select name="gainType" class="gain-type" lay-filter="gain-type-select"> <option value="1">会员日</option> <option value="2">会员生日</option> <option value="3">其他</option> </select> </div> </div> src/main/resources/templates/febs/views/modules/vip/vipBenefits-list.html
@@ -40,6 +40,14 @@ <a lay-event="edit" shiro:hasPermission="vipBenefits:update"><i class="layui-icon febs-edit-area febs-blue"></i></a> </script> <script type="text/html" id="isShowSwitch"> {{# if(d.isShow === 1) { }} <input type="checkbox" value={{d.id}} lay-text="显示|隐藏" checked lay-skin="switch" lay-filter="isShowSwitch"> {{# } else { }} <input type="checkbox" value={{d.id}} lay-text="显示|隐藏" lay-skin="switch" lay-filter="isShowSwitch"> {{# } }} </script> <!-- 表格操作栏 end --> <script data-th-inline="none" type="text/javascript"> // 引入组件并初始化 @@ -128,6 +136,7 @@ return '<a lay-event="seeImgThumb"><img id="seeImgThumb'+d.id+'" src="'+d.icon+'" alt=""></a>'; }, minWidth: 150, align: 'center' }, {templet: '#isShowSwitch', title: '是否在小程序显示', minWidth: 120, align: 'center'}, {field: 'remark', title: '备注', minWidth: 120, align: 'center'}, {field: 'createdTime', title: '创建时间', minWidth: 120, align: 'center'}, { @@ -147,19 +156,11 @@ }; } form.on('switch(isTopSwitch)', function (data) { console.log(data.value); if (data.elem.checked) { febs.post(ctx + 'admin/news/topNews/' + data.value, null, function () { febs.alert.success('设置成功'); $query.click(); }); } else { febs.post(ctx + 'admin/news/unTopNews/' + data.value, null, function () { febs.alert.success('设置成功'); $query.click(); }); } form.on('switch(isShowSwitch)', function (data) { febs.post(ctx + 'admin/vip/benefits/switchBenefitsShow/' + data.value, null, function () { febs.alert.success('设置成功'); $query.click(); }); }) }) </script> src/test/java/cc/mrbird/febs/AgentTest.java
@@ -805,11 +805,11 @@ // } // // // @Autowired // private AgentConsumer agentConsumer; // // @Test // public void orderReturnTest() { // agentConsumer.orderReturnMoney("7"); // } @Autowired private AgentConsumer agentConsumer; @Test public void orderReturnTest() { agentConsumer.getScoreMsg(215L); } } src/test/java/cc/mrbird/febs/PayTest.java
@@ -4,6 +4,7 @@ import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.common.utils.SpringContextHolder; import cc.mrbird.febs.pay.util.WechatConfigure; import cc.mrbird.febs.vip.service.IMallVipConfigService; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.alipay.api.AlipayApiException; @@ -59,4 +60,12 @@ redisUtils.set(accessTokenKey,accessToken); } } @Autowired private IMallVipConfigService mallVipConfigService; @Test public void test() { mallVipConfigService.findConfigList(); } } src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -971,6 +971,6 @@ @Test public void aaaTest() { // agentConsumer.vipLevelUp(133L); agentConsumer.getScoreMsg(152L); agentConsumer.getScoreMsg(217L); } }