src/main/java/cc/mrbird/febs/common/enumerates/RunVipDataDictionaryEnum.java
@@ -29,7 +29,7 @@ //系统充值地址 CHARGE_SYS_ADDRESS_BSC("CHARGE_TYPE", "CHARGE_SYS_ADDRESS_BSC"), //碳币兑换USDT的手续费率 //USDT提现的最小数 RUN_VIP_BALANCE_TO_COIN_PERCENT("CHARGE_TYPE", "RUN_VIP_BALANCE_TO_COIN_PERCENT"), //碳币兑换USDT的最小数 src/main/java/cc/mrbird/febs/common/enumerates/RunVipMoneyFlowTypeEnum.java
@@ -6,6 +6,26 @@ public enum RunVipMoneyFlowTypeEnum { /** * 碳币兑换USDT */ BALANCE_OUT_COMMISSION_IN(15,"{}碳币兑换{}USDT","获得USDT"), /** * 碳币兑换USDT */ BALANCE_OUT_COMMISSION(14,"{}碳币兑换{}USDT","碳币兑换"), /** * USDT转赠好友-转入 */ COMMISSION_IN_GIVE_FRIEND(13,"获得好友{},{}USDT","USDT转赠好友-转入"), /** * USDT转赠好友-转出 */ COMMISSION_OUT_GIVE_FRIEND(12,"转赠好友{},{}USDT","USDT转赠好友-转出"), /** * 节点助力 */ DIRECT_SCORE(11,"团队助力碳积分{}","团队助力碳积分"), @@ -36,9 +56,9 @@ BUY_VIP_REBATE(6,"{}购买{},返利{}碳币","用户返利碳币"), /** * 碳币提现 * USDT提现 */ BALANCE_OUT(5,"{}碳币兑换{}USDT,手续费{}USDT","碳币提现"), COMMISSION_OUT(5,"提现{}USDT,手续费{}USDT","USDT提现"), /** * 碳积分兑换碳币 src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -112,14 +112,22 @@ return new FebsResponse().success().message("操作成功"); } @ApiOperation(value = "兑换提现") @ApiOperation(value = "碳币兑换USDT") @PostMapping(value = "/withdrawal") @SubmitRepeat public FebsResponse withdrawal(@RequestBody @Validated WithdrawalDto withdrawalDto) { public FebsResponse withdrawal(@RequestBody @Validated CommissionChangeDto withdrawalDto) { memberService.withdrawal(withdrawalDto); return new FebsResponse().success().message("操作成功"); } @ApiOperation(value = "USDT提现") @PostMapping(value = "/withdrawalU") @SubmitRepeat public FebsResponse withdrawalU(@RequestBody @Validated WithdrawalDto withdrawalDto) { memberService.withdrawalU(withdrawalDto); return new FebsResponse().success().message("操作成功"); } @ApiOperation(value = "榜单") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiChartVo.class) src/main/java/cc/mrbird/febs/mall/entity/MallMemberWallet.java
@@ -40,7 +40,7 @@ private BigDecimal prizeScore; /** * 佣金 * USDT */ private BigDecimal commission; } src/main/java/cc/mrbird/febs/mall/entity/RunVip.java
@@ -25,6 +25,8 @@ private Integer withdrawState;//是否允许碳币提现 1是0否 private Integer commissionState;//是否允许USDT提现 1是0否 private Integer insideState;//是否允许内转 1-是0-否 private BigDecimal growthValue;//每日碳积分增长倍数 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -43,7 +43,9 @@ void transfer(TransferDto transferDto); void withdrawal(WithdrawalDto withdrawalDto); void withdrawal(CommissionChangeDto withdrawalDto); void withdrawalU(WithdrawalDto withdrawalDto); void commissionChange(CommissionChangeDto commissionChange); src/main/java/cc/mrbird/febs/mall/service/impl/AdminRunVipServiceImpl.java
@@ -116,7 +116,7 @@ mallMoneyFlow.setStatus(mallMemberWithdraw.getStatus()); mallMoneyFlowMapper.updateById(mallMoneyFlow); if(mallMemberWithdraw.getStatus() == YesOrNoEnum.NO.getValue()){ walletService.addBalance(mallMemberWithdraw.getWithdrawTimes(), mallMemberWithdraw.getMemberId()); walletService.addCommission(mallMemberWithdraw.getWithdrawTimes(), mallMemberWithdraw.getMemberId()); } return new FebsResponse().success().message("操作成功"); } src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -4,10 +4,7 @@ import cc.mrbird.febs.common.enumerates.RunVipDataDictionaryEnum; import cc.mrbird.febs.common.enumerates.YesOrNoEnum; import cc.mrbird.febs.mall.dto.ApiMemberChargeFailDto; import cc.mrbird.febs.mall.entity.AgentInfo; import cc.mrbird.febs.mall.entity.DataDictionaryCustom; import cc.mrbird.febs.mall.entity.MallCharge; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; import cc.mrbird.febs.mall.mapper.MallChargeMapper; import cc.mrbird.febs.mall.mapper.MallMemberMapper; @@ -28,7 +25,9 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.Comparator; import java.util.List; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -211,7 +210,8 @@ // 获取会员信息 MallMember mallMember = mallMemberMapper.selectById(memberId); if (mallMember == null) { throw new IllegalArgumentException("会员不存在"); log.info("会员不存在"); return; } // 已经是节点则跳过 @@ -219,6 +219,17 @@ return; } //节点不是最高等级不升级节点 Optional<RunVip> max = runVipMapper.selectList(null).stream().max(Comparator.comparing(RunVip::getOrderNumber)); RunVip maxRunVip = max.orElse(null); if (maxRunVip == null) { log.info("会员等级不存在"); return; } if (!maxRunVip.getVipCode().equals(mallMember.getLevel())) { return; } // 获取直推成员和团队成员 List<MallMember> allMembers = mallMemberMapper.selectList( new LambdaQueryWrapper<MallMember>() src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -47,6 +47,7 @@ import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; @@ -295,11 +296,13 @@ mallMemberVo.setChangeState(runVip.getChangeState()); mallMemberVo.setWithdrawState(runVip.getWithdrawState()); mallMemberVo.setInsideState(runVip.getInsideState()); mallMemberVo.setCommissionState(runVip.getCommissionState()); MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId()); mallMemberVo.setBalance(wallet.getBalance()); mallMemberVo.setScore(wallet.getScore()); mallMemberVo.setCommission(wallet.getCommission()); return new FebsResponse().success().data(mallMemberVo); } @@ -440,6 +443,7 @@ //获取个人的碳币 MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); myTeamVo.setMyBalance(mallMemberWallet.getBalance()); myTeamVo.setMyCommission(mallMemberWallet.getCommission()); //全部直推 List<MallMember> mallMembers = this.baseMapper.selectByRefererId(mallMember.getInviteId()); /** @@ -448,6 +452,7 @@ if(CollUtil.isEmpty(mallMembers)){ myTeamVo.setMyTeamCnt(0); myTeamVo.setMyTeamBalance(BigDecimal.ZERO); myTeamVo.setMyTeamCommission(BigDecimal.ZERO); myTeamVo.setTeam(null); return new FebsResponse().success().data(myTeamVo); } @@ -455,7 +460,8 @@ * 如果有下级,获取所有的团队 */ myTeamVo.setMyTeamCnt(mallMembers.size()); myTeamVo.setMyTeamBalance(getTeamBalance(mallMembers)); myTeamVo.setMyTeamBalance(getTeamBalance(mallMembers).getMyTeamBalance()); myTeamVo.setMyTeamCommission(getTeamBalance(mallMembers).getMyTeamCommission()); List<TeamListVo> teamListVos = MallMemberConversion.INSTANCE.entityToTeamListVos(mallMembers); teamListVos.forEach(item -> { @@ -465,10 +471,12 @@ if(CollUtil.isEmpty(mallMemberRefs)){ item.setMyTeamCnt(0); item.setMyTeamBalance(BigDecimal.ZERO); item.setMyTeamCommission(BigDecimal.ZERO); }else{ item.setMyTeamCnt(mallMemberRefs.size()); //获取mallMembers的所有id item.setMyTeamBalance(getTeamBalance(mallMemberRefs)); item.setMyTeamBalance(getTeamBalance(mallMemberRefs).getMyTeamBalance()); item.setMyTeamCommission(getTeamBalance(mallMemberRefs).getMyTeamCommission()); } }); myTeamVo.setTeam(teamListVos); @@ -485,15 +493,17 @@ * @param mallMembers 商城成员列表,用于计算总余额 * @return 团队的总余额,表示为BigDecimal类型 */ private BigDecimal getTeamBalance(List<MallMember> mallMembers) { private TeamListVo getTeamBalance(List<MallMember> mallMembers) { TeamListVo teamListVo = new TeamListVo(); // 提取所有商城成员的ID,以便进行后续的钱包信息查询 List<Long> ids = mallMembers.stream().map(MallMember::getId).collect(Collectors.toList()); // 根据成员ID列表查询所有相关成员的钱包信息 List<MallMemberWallet> mallMemberWallets = mallMemberWalletMapper.selectList(new LambdaQueryWrapper<MallMemberWallet>().in(MallMemberWallet::getMemberId, ids)); // 计算所有成员钱包余额的总和,并返回该总和 return mallMemberWallets.stream().map(MallMemberWallet::getBalance).reduce(BigDecimal.ZERO, BigDecimal::add); teamListVo.setMyTeamBalance(mallMemberWallets.stream().map(MallMemberWallet::getBalance).reduce(BigDecimal.ZERO, BigDecimal::add)); teamListVo.setMyTeamCommission(mallMemberWallets.stream().map(MallMemberWallet::getCommission).reduce(BigDecimal.ZERO, BigDecimal::add)); return teamListVo; } @Override @@ -587,35 +597,35 @@ throw new FebsException("资金密码错误"); } walletService.reduceBalance(transferDto.getAmount(), loginMember.getId()); walletService.reduceCommission(transferDto.getAmount(), loginMember.getId()); String orderNo = MallUtils.getOrderNum("HZ"); this.runVipMoneyFlowAdd( loginMember.getId(), mallMember.getId(), orderNo, FlowTypeEnum.BALANCE.getValue(), RunVipMoneyFlowTypeEnum.BALANCE_OUT_GIVE_FRIEND.getValue(), FlowTypeEnum.COMMISSION.getValue(), RunVipMoneyFlowTypeEnum.COMMISSION_OUT_GIVE_FRIEND.getValue(), transferDto.getAmount().negate(), StrUtil.format(RunVipMoneyFlowTypeEnum.BALANCE_OUT_GIVE_FRIEND.getDescription(),mallMember.getInviteId(),transferDto.getAmount()), StrUtil.format(RunVipMoneyFlowTypeEnum.COMMISSION_OUT_GIVE_FRIEND.getDescription(),mallMember.getInviteId(),transferDto.getAmount()), YesOrNoEnum.YES.getValue() ); walletService.addBalance(transferDto.getAmount(), mallMember.getId()); walletService.addCommission(transferDto.getAmount(), mallMember.getId()); this.runVipMoneyFlowAdd( mallMember.getId(), loginMember.getId(), orderNo, FlowTypeEnum.BALANCE.getValue(), RunVipMoneyFlowTypeEnum.BALANCE_IN_GIVE_FRIEND.getValue(), FlowTypeEnum.COMMISSION.getValue(), RunVipMoneyFlowTypeEnum.COMMISSION_IN_GIVE_FRIEND.getValue(), transferDto.getAmount(), StrUtil.format(RunVipMoneyFlowTypeEnum.BALANCE_IN_GIVE_FRIEND.getDescription(),loginMember.getInviteId(),transferDto.getAmount()), StrUtil.format(RunVipMoneyFlowTypeEnum.COMMISSION_IN_GIVE_FRIEND.getDescription(),loginMember.getInviteId(),transferDto.getAmount()), YesOrNoEnum.YES.getValue() ); } @Override @Transactional(rollbackFor = Exception.class) public void withdrawal(WithdrawalDto withdrawalDto) { public void withdrawal(CommissionChangeDto withdrawalDto) { Long memberId = LoginUserUtil.getLoginUser().getId(); MallMember loginMember = this.baseMapper.selectById(memberId); /** @@ -634,15 +644,11 @@ throw new FebsException("资金密码错误"); } MallMemberPayment mallMemberPayment = mallMemberPaymentMapper.selectById(withdrawalDto.getAddressId()); if (mallMemberPayment == null) { throw new FebsException("无效的提现地址"); } BigDecimal minCnt = new BigDecimal( dataDictionaryCustomMapper.selectDicDataByTypeAndCode( RunVipDataDictionaryEnum.RUN_VIP_BALANCE_TO_COIN_MIN.getType(), RunVipDataDictionaryEnum.RUN_VIP_BALANCE_TO_COIN_MIN.getCode()).getValue() ).setScale(4, BigDecimal.ROUND_DOWN); ).setScale(4, RoundingMode.DOWN); if(minCnt.compareTo(withdrawalDto.getAmount()) > 0){ throw new FebsException(minCnt+"碳币起提"); } @@ -651,25 +657,84 @@ dataDictionaryCustomMapper.selectDicDataByTypeAndCode( RunVipDataDictionaryEnum.RUN_VIP_BALANCE_TO_COIN.getType(), RunVipDataDictionaryEnum.RUN_VIP_BALANCE_TO_COIN.getCode()).getValue() ).setScale(2, BigDecimal.ROUND_DOWN); ).setScale(2, RoundingMode.DOWN); BigDecimal withdrawalAmount = withdrawalDto.getAmount().multiply(balanceToCoin).setScale(2, RoundingMode.DOWN); if(BigDecimal.ZERO.compareTo(withdrawalAmount) >= 0){ throw new FebsException("转换异常"); } /** * 减少碳币 */ walletService.reduceBalance(withdrawalDto.getAmount(), loginMember.getId()); String orderNo = MallUtils.getOrderNum("BU"); this.runVipMoneyFlowAdd( loginMember.getId(), loginMember.getId(), orderNo, FlowTypeEnum.BALANCE.getValue(), RunVipMoneyFlowTypeEnum.BALANCE_OUT_COMMISSION.getValue(), withdrawalDto.getAmount().negate(), StrUtil.format(RunVipMoneyFlowTypeEnum.BALANCE_OUT_COMMISSION.getDescription(),withdrawalDto.getAmount(),withdrawalAmount), YesOrNoEnum.YES.getValue() ); walletService.addCommission(withdrawalAmount, loginMember.getId()); this.runVipMoneyFlowAdd( loginMember.getId(), loginMember.getId(), orderNo, FlowTypeEnum.COMMISSION.getValue(), RunVipMoneyFlowTypeEnum.BALANCE_OUT_COMMISSION_IN.getValue(), withdrawalAmount, StrUtil.format(RunVipMoneyFlowTypeEnum.BALANCE_OUT_COMMISSION_IN.getDescription(),withdrawalDto.getAmount(),withdrawalAmount), YesOrNoEnum.YES.getValue() ); } @Override @Transactional(rollbackFor = Exception.class) public void withdrawalU(WithdrawalDto withdrawalDto) { Long memberId = LoginUserUtil.getLoginUser().getId(); MallMember loginMember = this.baseMapper.selectById(memberId); /** * 用户的等级level是否允许USDT提现 */ RunVip runVip = runVipMapper.selectOne(new LambdaQueryWrapper<RunVip>().eq(RunVip::getVipCode, loginMember.getLevel())); if(ObjectUtil.isEmpty(runVip) || runVip.getCommissionState() != YesOrNoEnum.YES.getValue()){ throw new FebsException("请先升级会员"); } if (StrUtil.isBlank(loginMember.getTradePassword())) { throw new FebsException("未设置资金密码"); } if (!loginMember.getTradePassword().equals(SecureUtil.md5(withdrawalDto.getTradePwd()))) { throw new FebsException("资金密码错误"); } MallMemberPayment mallMemberPayment = mallMemberPaymentMapper.selectById(withdrawalDto.getAddressId()); if (mallMemberPayment == null) { throw new FebsException("无效的提现地址"); } BigDecimal balanceToCoinPercent = new BigDecimal( dataDictionaryCustomMapper.selectDicDataByTypeAndCode( RunVipDataDictionaryEnum.RUN_VIP_BALANCE_TO_COIN_PERCENT.getType(), RunVipDataDictionaryEnum.RUN_VIP_BALANCE_TO_COIN_PERCENT.getCode()).getValue() ).setScale(2, BigDecimal.ROUND_DOWN); ).setScale(2, RoundingMode.DOWN); BigDecimal withdrawalAmount = withdrawalDto.getAmount().multiply(balanceToCoin).setScale(2, BigDecimal.ROUND_DOWN); if(balanceToCoinPercent.compareTo(withdrawalDto.getAmount()) > 0){ throw new FebsException("手续费不足"); } BigDecimal fee = balanceToCoinPercent; // BigDecimal fee = balanceToCoinPercent.multiply(withdrawalAmount).setScale(2, BigDecimal.ROUND_DOWN); BigDecimal withdrawalAmountReal = withdrawalAmount.subtract(fee); BigDecimal withdrawalAmountReal = withdrawalDto.getAmount().subtract(fee).setScale(2, RoundingMode.DOWN); if(BigDecimal.ZERO.compareTo(withdrawalAmountReal) >= 0){ throw new FebsException(minCnt+"手续费不足"); throw new FebsException("手续费不足"); } /** * 减少碳币,增加进行中提现记录 */ walletService.reduceBalance(withdrawalDto.getAmount(), loginMember.getId()); walletService.reduceCommission(withdrawalDto.getAmount(), loginMember.getId()); String orderNo = MallUtils.getOrderNum("TX"); MallMemberWithdraw withdraw = new MallMemberWithdraw(); @@ -687,10 +752,10 @@ loginMember.getId(), loginMember.getId(), orderNo, FlowTypeEnum.BALANCE.getValue(), RunVipMoneyFlowTypeEnum.BALANCE_OUT.getValue(), FlowTypeEnum.COMMISSION.getValue(), RunVipMoneyFlowTypeEnum.COMMISSION_OUT.getValue(), withdrawalDto.getAmount().negate(), StrUtil.format(RunVipMoneyFlowTypeEnum.BALANCE_OUT.getDescription(),withdrawalDto.getAmount(),withdrawalAmount,fee), StrUtil.format(RunVipMoneyFlowTypeEnum.COMMISSION_OUT.getDescription(),withdrawalDto.getAmount(),fee), YesOrNoEnum.ING.getValue() ); src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -920,6 +920,9 @@ new LambdaQueryWrapper<MallMember>() .eq(MallMember::getReferrerId, inviteId) ); if(CollUtil.isEmpty(directMembers)){ return memberIds; } memberIds.addAll(directMembers.stream().map(MallMember::getId).collect(Collectors.toSet())); // 获取团队成员 @@ -927,6 +930,10 @@ new LambdaQueryWrapper<MallMember>() .in(MallMember::getReferrerId, directMembers.stream().map(MallMember::getInviteId).collect(Collectors.toSet())) ); if(CollUtil.isEmpty(teamMembers)){ return memberIds; } memberIds.addAll(teamMembers.stream().map(MallMember::getId).collect(Collectors.toSet())); return memberIds; src/main/java/cc/mrbird/febs/mall/vo/ApiRunVipVo.java
@@ -30,6 +30,8 @@ private Integer changeState;//是否允许碳积分兑换碳币 1是0否 @ApiModelProperty(value = "是否允许碳币提现 1是0否") private Integer withdrawState;//是否允许碳币提现 1是0否 @ApiModelProperty(value = "是否允许USDT提现 1是0否") private Integer commissionState;//是否允许USDT提现 1是0否 @ApiModelProperty(value = "是否允许内转 1-是0-否") private Integer insideState;//是否允许内转 1-是0-否 @ApiModelProperty(value = "每日碳积分增长倍数") src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -38,10 +38,16 @@ @ApiModelProperty(value = "是否允许内转 1-是0-否") private Integer insideState;//是否允许内转 1-是0-否 @ApiModelProperty(value = "是否允许USDT提现 1是0否") private Integer commissionState;//是否允许USDT提现 1是0否 @ApiModelProperty(value = "碳币") private BigDecimal balance; private BigDecimal balance = BigDecimal.ZERO; @ApiModelProperty(value = "碳积分") private BigDecimal score; private BigDecimal score = BigDecimal.ZERO; @ApiModelProperty(value = "USDT") private BigDecimal commission = BigDecimal.ZERO; @ApiModelProperty(value = "是否有支付密码 1:是 0:否") private Integer tradeWord; src/main/java/cc/mrbird/febs/mall/vo/MyTeamVo.java
@@ -17,12 +17,18 @@ @ApiModelProperty(value = "我的碳币") private BigDecimal myBalance = BigDecimal.ZERO; @ApiModelProperty(value = "我的USDT") private BigDecimal myCommission = BigDecimal.ZERO; @ApiModelProperty(value = "团队总数") private int myTeamCnt = 0; @ApiModelProperty(value = "团队碳币") private BigDecimal myTeamBalance = BigDecimal.ZERO; @ApiModelProperty(value = "团队USDT") private BigDecimal myTeamCommission = BigDecimal.ZERO; /** * 是否是节点 1是 0否 */ src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java
@@ -34,6 +34,9 @@ @ApiModelProperty(value = "我的碳币") private BigDecimal myBalance = BigDecimal.ZERO; @ApiModelProperty(value = "我的USDT") private BigDecimal myCommission = BigDecimal.ZERO; @ApiModelProperty(value = "用户等级") private String levelName; @@ -42,4 +45,7 @@ @ApiModelProperty(value = "团队碳币") private BigDecimal myTeamBalance = BigDecimal.ZERO; @ApiModelProperty(value = "团队USDT") private BigDecimal myTeamCommission = BigDecimal.ZERO; } src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -8,6 +8,7 @@ a.phone referrerName, IFNULL(c.balance,0) balance, IFNULL(c.score,0) score, IFNULL(c.commission,0) commission, vipConfig.vip_name levelName FROM mall_member m left join mall_member a on m.referrer_id = a.invite_id @@ -35,7 +36,8 @@ </if> </where> GROUP BY m.id, a.phone, c.balance, c.score,vipConfig.vip_name m.id, a.phone, c.balance, c.score, c.commission,vipConfig.vip_name order by m.CREATED_TIME desc </select> src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -254,6 +254,7 @@ {field: 'phone', title: '账号', minWidth: 150,align:'left',totalRowText:"合计"}, {field: 'name', title: '昵称', minWidth: 100,align:'left'}, {field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'}, {field: 'commission', title: 'USDT', minWidth: 100,align:'left', totalRow:true}, {field: 'balance', title: '碳币', minWidth: 100,align:'left', totalRow:true}, {field: 'score', title: '碳积分', minWidth: 100,align:'left', totalRow:true}, {field: 'directCnt', title: '直推', minWidth: 100,align:'left', totalRow:true}, src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
@@ -28,6 +28,7 @@ <option value="">请选择</option> <option value="1">碳币</option> <option value="2">碳积分</option> <option value="4">USDT</option> </select> </div> </div> @@ -144,6 +145,8 @@ return '碳币'; } else if(d.flowType === 2) { return '碳积分' } else if(d.flowType === 4) { return 'USDT' } else { return '-'; } src/main/resources/templates/febs/views/modules/runVip/sellVipList.html
@@ -1,4 +1,4 @@ <div class="layui-fluid layui-anim febs-anim" id="febs-withdraw-list" lay-title="碳币提现"> <div class="layui-fluid layui-anim febs-anim" id="febs-withdraw-list" lay-title="提现"> <div class="layui-row febs-container"> <div class="layui-col-md12"> <div class="layui-card"> src/main/resources/templates/febs/views/modules/runVip/vipAdd.html
@@ -140,13 +140,26 @@ <div class="layui-form-item"> <div class="layui-col-lg6"> <label class="layui-form-label febs-form-item-require">碳币提现:</label> <label class="layui-form-label febs-form-item-require">兑换USDT:</label> <div class="layui-input-block"> <select name="withdrawState" class="valid-type" lay-filter="type-select"> <option value="1">允许</option> <option value="0">不允许</option> </select> <div class="layui-form-mid layui-word-aux">是否允许碳币提现。</div> <div class="layui-form-mid layui-word-aux">是否允许碳币兑换USDT。</div> </div> </div> </div> <div class="layui-form-item"> <div class="layui-col-lg6"> <label class="layui-form-label febs-form-item-require">USDT提现:</label> <div class="layui-input-block"> <select name="commissionState" class="valid-type" lay-filter="type-select"> <option value="1">允许</option> <option value="0">不允许</option> </select> <div class="layui-form-mid layui-word-aux">是否允许USDT提现。</div> </div> </div> </div> src/main/resources/templates/febs/views/modules/runVip/vipEdit.html
@@ -138,15 +138,30 @@ </div> </div> <div class="layui-form-item"> <div class="layui-col-lg6"> <label class="layui-form-label febs-form-item-require">碳币提现:</label> <label class="layui-form-label febs-form-item-require">兑换USDT:</label> <div class="layui-input-block"> <select name="withdrawState" class="valid-type" lay-filter="type-select"> <option value="1">允许</option> <option value="0">不允许</option> </select> <div class="layui-form-mid layui-word-aux">是否允许碳币提现。</div> <div class="layui-form-mid layui-word-aux">是否允许碳币兑换USDT。</div> </div> </div> </div> <div class="layui-form-item"> <div class="layui-col-lg6"> <label class="layui-form-label febs-form-item-require">USDT提现:</label> <div class="layui-input-block"> <select name="commissionState" class="valid-type" lay-filter="type-select"> <option value="1">允许</option> <option value="0">不允许</option> </select> <div class="layui-form-mid layui-word-aux">是否允许USDT提现。</div> </div> </div> </div> @@ -185,6 +200,7 @@ "state":runVip.state, "changeState":runVip.changeState, "withdrawState" : runVip.withdrawState, "commissionState" : runVip.commissionState, "insideState" : runVip.insideState, "growthValue" : runVip.growthValue, "growthCnt" : runVip.growthCnt,