src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java
@@ -15,7 +15,7 @@ */ BALANCE(1), /** * 积分 * H金劵 */ SCORE(2), /** src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -111,7 +111,7 @@ return new FebsResponse().success().message("提交成功"); } @ApiOperation(value = "积分转余额") @ApiOperation(value = "H金劵转余额") @PostMapping(value = "/withdrawalScore") public FebsResponse withdrawalScore(@RequestBody @Validated WithdrawalScoreDto withdrawalScoreDto) { mallMemberWithdrawService.withdrawalScore(withdrawalScoreDto); @@ -138,7 +138,7 @@ return new FebsResponse().success().message("绑定成功"); } @ApiOperation(value = "可提现金额 1:余额 2:积分") @ApiOperation(value = "可提现金额 1:余额 2:H金劵") @GetMapping(value = "/canWithdrawal/{type}") public FebsResponse canWithdrawal(@PathVariable("type") int type) { return new FebsResponse().success().data(memberService.canMoney(type)); src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java
@@ -90,12 +90,12 @@ private BigDecimal costPrice; /** * 商品类型 1-付费商品 2-积分商品 * 商品类型 1-付费商品 2-H金劵商品 */ private Integer goodsType; /** * 积分 * H金劵 */ private BigDecimal score; src/main/java/cc/mrbird/febs/mall/entity/MallMemberWallet.java
@@ -25,7 +25,7 @@ private BigDecimal balance; /** * 积分 * H金劵 */ private BigDecimal score; src/main/java/cc/mrbird/febs/mall/service/IAgentService.java
@@ -5,12 +5,12 @@ void autoUpAgentLevel(Long memberId); /** * 1、购买人获得固定比例的积分 * 2、直推获取8%的现金->余额,4%的积分->积分 * 3、不同代理级别获取不用的比例的现金和积分 * 1、购买人获得固定比例的H金劵 * 2、直推获取8%的现金->余额,4%的H金劵->H金劵 * 3、不同代理级别获取不用的比例的现金和H金劵 * 4、董事享受全公司入单分红2%加权(现金) * 5、合伙人享全公司入单分红5%加权(现金) * 6、入单后,50%入现金池 35%的积分入积分池,更新价格 * 6、入单后,50%入现金池 35%的H金劵入H金劵池,更新价格 */ void returnMoneyToAgent(Long orderId); src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -192,12 +192,12 @@ @Transactional(rollbackFor = Exception.class) public void returnMoneyToAgent(Long orderId) { /** * 1、购买人获得固定比例的积分 * 2、直推获取8%的现金->余额,4%的积分->积分 * 3、不同代理级别获取不用的比例的现金和积分 * 1、购买人获得固定比例的H金劵 * 2、直推获取8%的现金->余额,4%的H金劵->H金劵 * 3、不同代理级别获取不用的比例的现金和H金劵 * 4、董事享受全公司入单分红2%加权(现金) * 5、合伙人享全公司入单分红5%加权(现金) * 6、入单后,50%入现金池 35%的积分入积分池,更新价格 * 6、入单后,50%入现金池 35%的H金劵入H金劵池,更新价格 */ //获取当前订单子表信息 List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectbyOrderId(orderId); @@ -220,7 +220,7 @@ Long memberId = mallOrderInfo.getMemberId(); /** * 1、购买人获得固定比例的积分 * 1、购买人获得固定比例的H金劵 * = amountTC * 固定比例 */ perkMember(memberId, @@ -233,7 +233,7 @@ orderNo); /** * 2、直推获取8%的现金->余额,4%的积分->积分 * 2、直推获取8%的现金->余额,4%的H金劵->H金劵 */ MallMember mallMember = mallMemberMapper.selectById(memberId); if(ObjectUtil.isNotEmpty(mallMember.getReferrerId())){ @@ -291,7 +291,7 @@ } /** * 3、团队下不同代理级别获取不用的比例的现金和积分 * 3、团队下不同代理级别获取不用的比例的现金和H金劵 */ if(StrUtil.isNotEmpty(mallMember.getReferrerIds())){ //团队补贴对象 @@ -330,7 +330,7 @@ BigDecimal cashAmount = amountTC.multiply(cashPercent).setScale(2, BigDecimal.ROUND_DOWN); //如果是积分,除以当前价格,得到数量。 //如果是H金劵,除以当前价格,得到数量。 BigDecimal scoreCnt = amountTC.multiply(scorePercent).setScale(2, BigDecimal.ROUND_DOWN); scoreCnt = scoreCnt.divide(poolScorePrice, 2 ,BigDecimal.ROUND_DOWN); if(cashAmount.compareTo(BigDecimal.ZERO) > 0){ @@ -383,7 +383,7 @@ } /** * 6、入单后,50%入现金池 35%的积分入积分池,更新价格 * 6、入单后,50%入现金池 35%的H金劵入H金劵池,更新价格 */ DataDictionaryCustom poolCashPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( PerkEnum.POOL_CASH_PERCENT.getType(), @@ -412,13 +412,13 @@ PerkEnum.POOL_SCORE_PRICE.getCode()); BigDecimal poolScorePrice = new BigDecimal(poolScorePriceDic.getValue() == null ? "1" : poolScorePriceDic.getValue()); BigDecimal poolScorePercent = new BigDecimal(poolScorePercentDic.getValue()).multiply(AppContants.PERCENTAGE); //新增积分数量 //新增H金劵数量 BigDecimal poolScoreAdd = amountTC.multiply(poolScorePercent); poolScoreAdd = poolScoreAdd.divide(poolScorePrice,2,BigDecimal.ROUND_DOWN); DataDictionaryCustom poolScoreDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( PerkEnum.POOL_SCORE.getType(), PerkEnum.POOL_SCORE.getCode()); //当前积分池数量 //当前H金劵池数量 BigDecimal poolScore = new BigDecimal(poolScoreDic.getValue()); poolScore = poolScore.add(poolScoreAdd).setScale(2,BigDecimal.ROUND_DOWN); dataDictionaryCustomMapper.updateDicValueByTypeAndCode( @@ -444,7 +444,7 @@ * @param memberId 用户ID * @param perkEnum 比例的枚举值 * @param amountTC 总金额 * @param walletField 类型:score:积分 balance:余额 * @param walletField 类型:score:H金劵 balance:余额 * @param type 流水类型 * @param flowType 流水分类 * @param orderNo 订单编号 @@ -457,7 +457,7 @@ BigDecimal perkEnumDicPercent = new BigDecimal(perkEnumDic.getValue() == null ? "0" : perkEnumDic.getValue()); //获得数量 BigDecimal perkEnumDicPercentPerk = perkEnumDicPercent.multiply(AppContants.PERCENTAGE).multiply(amountTC).setScale(2, BigDecimal.ROUND_DOWN); //如果是积分,除以当前价格,得到数量。 //如果是H金劵,除以当前价格,得到数量。 if(walletField.equals("score")){ DataDictionaryCustom poolScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( PerkEnum.POOL_SCORE_PRICE.getType(), src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java
@@ -51,7 +51,7 @@ @ApiModelProperty(value = "商品类型") private Integer goodsType; @ApiModelProperty(value = "积分") @ApiModelProperty(value = "H金劵") private BigDecimal score; @ApiModelProperty(value = "是否有运费") src/main/java/cc/mrbird/febs/mall/vo/MallGoodsListVo.java
@@ -35,7 +35,7 @@ @ApiModelProperty(value = "销量") private String saleVolume; @ApiModelProperty(value = "积分") @ApiModelProperty(value = "H金劵") private BigDecimal score; @ApiModelProperty(value = "是否有运费 1-是 2-包邮") src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -66,10 +66,10 @@ @ApiModelProperty(value = "累计消费") private BigDecimal totalCost; @ApiModelProperty(value = "积分") @ApiModelProperty(value = "H金劵") private BigDecimal score; @ApiModelProperty(value = "积分价格") @ApiModelProperty(value = "H金劵价格") private BigDecimal poolScorePrice; @ApiModelProperty(value = "抽奖积分") src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -243,7 +243,7 @@ {field: 'name', title: '名称', minWidth: 100,align:'left'}, {field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'}, {field: 'balance', title: '余额', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.balance) }}'}, {field: 'score', title: '积分', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.score) }}'}, {field: 'score', title: 'H金劵', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.score) }}'}, // {field: 'prizeScore', title: '竞猜积分', minWidth: 100,align:'left'}, // {field: 'commission', title: '佣金', minWidth: 100,align:'left'}, {field: 'referrerName', title: '推荐人', minWidth: 100,align:'left'}, src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
@@ -59,11 +59,11 @@ }else if (d.type === 16) { return '<span>系统拨付</span>' }else if (d.type === 19) { return '<span>套餐获取积分补贴</span>' return '<span>套餐获取H金劵补贴</span>' }else if (d.type === 20) { return '<span>直推现金补贴</span>' }else if (d.type === 21) { return '<span>直推积分补贴</span>' return '<span>直推H金劵补贴</span>' }else if (d.type === 22) { return '<span>董事现金补贴</span>' }else if (d.type === 23) { @@ -71,9 +71,9 @@ }else if (d.type === 24) { return '<span>代理现金补贴</span>' }else if (d.type === 25) { return '<span>代理积分补贴</span>' return '<span>代理H金劵补贴</span>' }else if (d.type === 26) { return '<span>积分转余额</span>' return '<span>H金劵转余额</span>' }else{ return '-' } @@ -83,7 +83,7 @@ if (d.flowType === 1) { return '余额'; } else if(d.flowType === 2) { return '积分' return 'H金劵' } else { return '-'; } src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
@@ -36,14 +36,14 @@ <option value="11">退款</option> <option value="14">签到</option> <option value="16">系统拨付</option> <option value="19">套餐获取积分补贴</option> <option value="19">套餐获取H金劵补贴</option> <option value="20">直推现金补贴</option> <option value="21">直推积分补贴</option> <option value="21">直推H金劵补贴</option> <option value="22">董事现金补贴</option> <option value="23">合伙人现金补贴</option> <option value="24">代理现金补贴</option> <option value="25">代理积分补贴</option> <option value="26">积分转余额</option> <option value="25">代理H金劵补贴</option> <option value="26">H金劵转余额</option> </select> </div> </div> @@ -53,7 +53,7 @@ <select name="flowType"> <option value="">请选择</option> <option value="1">余额</option> <option value="2">积分</option> <option value="2">H金劵</option> </select> </div> </div> @@ -139,11 +139,11 @@ }else if (d.type === 16) { return '<span>系统拨付</span>' }else if (d.type === 19) { return '<span>套餐获取积分补贴</span>' return '<span>套餐获取H金劵补贴</span>' }else if (d.type === 20) { return '<span>直推现金补贴</span>' }else if (d.type === 21) { return '<span>直推积分补贴</span>' return '<span>直推H金劵补贴</span>' }else if (d.type === 22) { return '<span>董事现金补贴</span>' }else if (d.type === 23) { @@ -151,9 +151,9 @@ }else if (d.type === 24) { return '<span>代理现金补贴</span>' }else if (d.type === 25) { return '<span>代理积分补贴</span>' return '<span>代理H金劵补贴</span>' }else if (d.type === 26) { return '<span>积分转余额</span>' return '<span>H金劵转余额</span>' }else{ return '-' } @@ -163,7 +163,7 @@ if (d.flowType === 1) { return '余额'; } else if(d.flowType === 2) { return '积分' return 'H金劵' } else { return '-'; } src/main/resources/templates/febs/views/modules/system/perkSet.html
@@ -3,11 +3,11 @@ <form class="layui-form" action="" lay-filter="perk-set-form"> <div class="layui-card"> <div class="layui-card-body"> <blockquote class="layui-elem-quote blue-border">补贴比例设置(比例为百分比,例如:20,即获得订单中对应金额*20%的积分。)</blockquote> <blockquote class="layui-elem-quote blue-border">补贴比例设置(比例为百分比,例如:20,即获得订单中对应金额*20%的H金劵。)</blockquote> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label febs-form-item-require">购买人:</label> <div class="layui-form-mid layui-word-aux">获得【积分】比例:</div> <div class="layui-form-mid layui-word-aux">获得【H金劵】比例:</div> <div class="layui-input-inline"> <input type="text" name="buySetMealPerkPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input"> </div> @@ -21,7 +21,7 @@ <div class="layui-input-inline"> <input type="text" name="directCashPerkPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input"> </div> <div class="layui-form-mid layui-word-aux">%,获得【积分】比例:</div> <div class="layui-form-mid layui-word-aux">%,获得【H金劵】比例:</div> <div class="layui-input-inline"> <input type="text" name="directScorePerkPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input"> </div> src/main/resources/templates/febs/views/modules/system/poolSet.html
@@ -1,9 +1,9 @@ <div class="layui-fluid layui-anim febs-anim" id="pool-set" lay-title="积分池设置"> <div class="layui-fluid layui-anim febs-anim" id="pool-set" lay-title="H金劵云设置"> <div class="layui-row layui-col-space8 febs-container"> <form class="layui-form" action="" lay-filter="pool-set-form"> <div class="layui-card"> <div class="layui-card-body"> <blockquote class="layui-elem-quote blue-border">积分池</blockquote> <blockquote class="layui-elem-quote blue-border">H金劵池</blockquote> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label febs-form-item-require">现金:</label> @@ -15,7 +15,7 @@ </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label febs-form-item-require">积分:</label> <label class="layui-form-label febs-form-item-require">H金劵:</label> <div class="layui-form-mid layui-word-aux">数量:</div> <div class="layui-input-inline"> <input type="text" name="poolScore" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" readonly> @@ -24,14 +24,14 @@ </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label febs-form-item-require">当前积分价格:</label> <label class="layui-form-label febs-form-item-require">当前H金劵价格:</label> <div class="layui-form-mid layui-word-aux">价格:</div> <div class="layui-input-inline"> <input type="text" name="poolScorePrice" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" readonly> </div> </div> </div> <blockquote class="layui-elem-quote blue-border">积分池比例设置</blockquote> <blockquote class="layui-elem-quote blue-border">H金劵池比例设置</blockquote> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label febs-form-item-require">现金:</label> @@ -39,28 +39,28 @@ <div class="layui-input-inline"> <input type="text" name="poolCashPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input"> </div> <div class="layui-form-mid layui-word-aux">%,进入积分池。</div> <div class="layui-form-mid layui-word-aux">%,进入H金劵池。</div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label febs-form-item-require">积分:</label> <label class="layui-form-label febs-form-item-require">H金劵:</label> <div class="layui-form-mid layui-word-aux">每单产生:</div> <div class="layui-input-inline"> <input type="text" name="poolScorePercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input"> </div> <div class="layui-form-mid layui-word-aux">%,进入积分池。</div> <div class="layui-form-mid layui-word-aux">%,进入H金劵池。</div> </div> </div> <blockquote class="layui-elem-quote blue-border">积分转换比例设置(转换后,积分池【积分】减少,积分池【现金】增加)</blockquote> <blockquote class="layui-elem-quote blue-border">H金劵转换比例设置(转换后,H金劵池【H金劵】减少,H金劵池【现金】增加)</blockquote> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label febs-form-item-require">积分:</label> <div class="layui-form-mid layui-word-aux">每次转换积分数量乘积分当前价格后的:</div> <label class="layui-form-label febs-form-item-require">H金劵:</label> <div class="layui-form-mid layui-word-aux">每次转换H金劵数量乘H金劵当前价格后的:</div> <div class="layui-input-inline"> <input type="text" name="withdrawScoreCashPercent" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input"> </div> <div class="layui-form-mid layui-word-aux">%,进入积分现金池。</div> <div class="layui-form-mid layui-word-aux">%,进入H金劵现金池。</div> </div> </div> </div>