Merge branch 'blnka' of http://120.27.238.55:7000/r/xc-mall into blnka
1 files added
24 files modified
| | |
| | | */ |
| | | PAY(1, "积分支付"), |
| | | |
| | | BUY(2, "购买商品获得积分"); |
| | | BUY(2, "购买商品获得积分"), |
| | | |
| | | RECOMMEND(3, "推荐下单获得积分"); |
| | | |
| | | private final int value; |
| | | |
| | |
| | | return new FebsResponse().success().message("操作成功"); |
| | | } |
| | | |
| | | @PostMapping("addMemberCoupon") |
| | | @ControllerEndpoint(operation = "会员添加优惠券呢", exceptionMessage = "操作失败") |
| | | public FebsResponse addMemberCoupon(@Valid MallMember mallmember) { |
| | | return mallMemberService.addMemberCoupon(mallmember); |
| | | } |
| | | } |
| | |
| | | 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"); |
| | | } |
| | | |
| | | } |
| | |
| | | IPage<MallMember> getsalemanRuleList(MallMember mallMember, QueryRequest request); |
| | | |
| | | FebsResponse salemanCoupon(MallMember mallmember); |
| | | |
| | | FebsResponse addMemberCoupon(MallMember member); |
| | | } |
| | |
| | | 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; |
| | |
| | | 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) { |
| | |
| | | |
| | | 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("操作成功"); |
| | | } |
| | | } |
| | |
| | | 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("设置成功"); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | | } |
| | |
| | | */ |
| | | private String remark; |
| | | |
| | | /** |
| | | * 是否在小程序上显示 |
| | | */ |
| | | private Integer isShow; |
| | | |
| | | @TableField(exist = false) |
| | | private Integer isJump; |
| | | |
| | |
| | | void editVipBenefits(MallVipBenefits mallVipBenefits); |
| | | |
| | | void getBenefits(Long id); |
| | | |
| | | void switchBenefitsShow(Long id); |
| | | } |
| | |
| | | return; |
| | | } |
| | | |
| | | if (CollUtil.isEmpty(mallVipBenefits.getDetails())) { |
| | | throw new FebsException("权益明细不能为空"); |
| | | } |
| | | // if (CollUtil.isEmpty(mallVipBenefits.getDetails())) { |
| | | // throw new FebsException("权益明细不能为空"); |
| | | // } |
| | | |
| | | this.baseMapper.insert(mallVipBenefits); |
| | | |
| | | if (CollUtil.isNotEmpty(mallVipBenefits.getDetails())) { |
| | | mallVipBenefits.getDetails().forEach(item -> { |
| | | item.setBenefitsId(mallVipBenefits.getId()); |
| | | }); |
| | | } |
| | | this.mallVipBenefitsDetailsService.saveBatch(mallVipBenefits.getDetails()); |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Slf4j |
| | | @Service |
| | |
| | | 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; |
| | | } |
| | |
| | | return false; |
| | | } |
| | | |
| | | if (item.getGainType() == 3 && item.getScoreMultiple() != null) { |
| | | return true; |
| | | } |
| | | |
| | | // 生日权益 |
| | | if (item.getGainType() == 2 && isBirthday) { |
| | | return true; |
| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | private final MallMemberMapper mallMemberMapper; |
| | | private final MallVipConfigMapper mallVipConfigMapper; |
| | | private final AgentProducer agentProducer; |
| | | private final IApiMallGoodsService mallGoodsService; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | Long memberId = mallOrderInfo.getMemberId(); |
| | | MallVipBenefits mallVipBenefits = mallVipConfigService.hasVipBenefits(memberId); |
| | | |
| | | MallMember member = mallMemberMapper.selectById(memberId); |
| | | BigDecimal multiple = BigDecimal.ONE; |
| | | String name = ""; |
| | | if (mallVipBenefits != null) { |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | <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" /> |
| | |
| | | ,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 |
| | |
| | | ,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 |
| | |
| | | </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> |
| | | |
| | |
| | | </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> |
| | | |
| | |
| | | <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 --> |
| | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | 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) { |
New file |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | 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"> |
| | |
| | | {field: 'amount', title: '金额', minWidth: 150,align:'left', totalRow:true}, |
| | | {field: 'type', title: '流水类型', |
| | | templet: function (d) { |
| | | 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) { |
| | |
| | | }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'} |
| | | ]] |
| | |
| | | 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(), |
| | | }; |
| | | } |
| | | |
| | |
| | | } |
| | | </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> |
| | |
| | | |
| | | table.render({ |
| | | elem: '#unAliveCouponItem' |
| | | ,toolbar:"#toolbar" |
| | | ,toolbar:"#toolbar1" |
| | | ,cols: [[ //表头 |
| | | {type: 'checkbox'} |
| | | , {field: 'day', title: '失活天数', edit:'text', width:250} |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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"> |
| | | // 引入组件并初始化 |
| | |
| | | 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'}, |
| | | { |
| | |
| | | }; |
| | | } |
| | | |
| | | form.on('switch(isTopSwitch)', function (data) { |
| | | console.log(data.value); |
| | | if (data.elem.checked) { |
| | | febs.post(ctx + 'admin/news/topNews/' + data.value, null, function () { |
| | | form.on('switch(isShowSwitch)', function (data) { |
| | | febs.post(ctx + 'admin/vip/benefits/switchBenefitsShow/' + 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(); |
| | | }); |
| | | } |
| | | }) |
| | | }) |
| | | </script> |
| | |
| | | // } |
| | | // |
| | | // |
| | | // @Autowired |
| | | // private AgentConsumer agentConsumer; |
| | | // |
| | | // @Test |
| | | // public void orderReturnTest() { |
| | | // agentConsumer.orderReturnMoney("7"); |
| | | // } |
| | | @Autowired |
| | | private AgentConsumer agentConsumer; |
| | | |
| | | @Test |
| | | public void orderReturnTest() { |
| | | agentConsumer.getScoreMsg(215L); |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | redisUtils.set(accessTokenKey,accessToken); |
| | | } |
| | | } |
| | | |
| | | @Autowired |
| | | private IMallVipConfigService mallVipConfigService; |
| | | |
| | | @Test |
| | | public void test() { |
| | | mallVipConfigService.findConfigList(); |
| | | } |
| | | } |
| | |
| | | @Test |
| | | public void aaaTest() { |
| | | // agentConsumer.vipLevelUp(133L); |
| | | agentConsumer.getScoreMsg(152L); |
| | | agentConsumer.getScoreMsg(217L); |
| | | } |
| | | } |