src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java
@@ -447,7 +447,7 @@ temp.add("快递寄送"); temp.add("已支付"); temp.add("待发货"); temp.add(item.getPayTime()); temp.add(DateUtil.format(item.getPayTime(),"yyyy-MM-dd HH:mm:ss")); List<MallOrderItemVo> mallOrderItemVoList = dappMemberDao.selectMallOrderItemVoByOrderId(item.getId()); if (CollUtil.isNotEmpty(mallOrderItemVoList)) { src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
@@ -116,6 +116,15 @@ return new FebsResponse().success().data("success"); } @ApiOperation(value = "提现规则", notes = "提现规则") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = CashOutSettingVo.class) }) @GetMapping(value = "/cashOutSetting") public FebsResponse cashOutSetting() { return new FebsResponse().success().data(dappWalletService.cashOutSetting()); } @ApiOperation(value = "提现", notes = "提现") @PostMapping(value = "/withdraw") public FebsResponse withdraw(@RequestBody @Valid WithdrawDto withdrawDto) { src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java
@@ -228,6 +228,20 @@ String withDrawFee = ObjectUtil.isEmpty(withDrawFeeDic.getValue()) ? "0" : withDrawFeeDic.getValue(); hlmBasicPerkDto.setWithDrawFee(withDrawFee); } DataDictionaryCustom minWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(), DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode()); if (withDrawFeeDic != null) { String minWithdraw = ObjectUtil.isEmpty(minWithdrawDic.getValue()) ? "0" : minWithdrawDic.getValue(); hlmBasicPerkDto.setMinWithdraw(minWithdraw); } DataDictionaryCustom maxWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(), DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode()); if (maxWithdrawDic != null) { String maxWithdraw = ObjectUtil.isEmpty(maxWithdrawDic.getValue()) ? "0" : maxWithdrawDic.getValue(); hlmBasicPerkDto.setMaxWithdraw(maxWithdraw); } model.addAttribute("hlmBasicPerk", hlmBasicPerkDto); return FebsUtil.view("goods/basicPerkSetting"); } src/main/java/cc/mrbird/febs/dapp/dto/HlmBasicPerkDto.java
@@ -41,4 +41,10 @@ //提现手续费 private String withDrawFee; //提现手续费 private String minWithdraw; //提现手续费 private String maxWithdraw; } src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
@@ -6,6 +6,16 @@ public enum DataDictionaryEnum { /** * 今日最大提现金额 */ MAX_WITHDRAW_AMOUNT("MAX_WITHDRAW_AMOUNT","MAX_WITHDRAW_AMOUNT"), /** * 最小提现金额 */ MIN_WITHDRAW_AMOUNT("MIN_WITHDRAW_AMOUNT","MIN_WITHDRAW_AMOUNT"), /** * 团队产生的收益1%奖励积分 */ PACKAGE_TEAM_PERK_PERCENT("PACKAGE_TEAM_PERK_PERCENT","PACKAGE_TEAM_PERK_PERCENT"), src/main/java/cc/mrbird/febs/dapp/mapper/DappFundFlowDao.java
@@ -62,4 +62,6 @@ List<DappFundFlowEntity> selectListByMemberIdAndTypeAndDate(@Param("memberId")Long memberId, @Param("type")int code, @Param("dateStr") DateTime now); List<DappFundFlowEntity> selectListByTypeAndDate(@Param("type")int code, @Param("dateStr") DateTime now); BigDecimal selectSumAmountByMemberIdAndType(@Param("memberId") Long memberId,@Param("type")int type); } src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
@@ -7,6 +7,7 @@ import cc.mrbird.febs.dapp.entity.DappFundFlowEntity; import cc.mrbird.febs.dapp.entity.DappWalletCoinEntity; import cc.mrbird.febs.dapp.entity.DappWalletMineEntity; import cc.mrbird.febs.dapp.vo.CashOutSettingVo; import cc.mrbird.febs.dapp.vo.DappFundFlowVo; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -60,4 +61,6 @@ FebsResponse getChangeInPageInPage(ChangeInPageDto changeInPageDto); FebsResponse changeInToday(); CashOutSettingVo cashOutSetting(); } src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
@@ -253,6 +253,12 @@ updateDataDic(DataDictionaryEnum.WITHDRAW_FEE.getType(), DataDictionaryEnum.WITHDRAW_FEE.getCode(), hlmBasicPerkDto.getWithDrawFee()); updateDataDic(DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(), DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode(), hlmBasicPerkDto.getMinWithdraw()); updateDataDic(DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(), DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode(), hlmBasicPerkDto.getMaxWithdraw()); } @Override src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -14,6 +14,7 @@ import cc.mrbird.febs.dapp.vo.*; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; @@ -117,6 +118,26 @@ DataDictionaryEnum.WITHDRAW_FEE.getCode() ); BigDecimal withdrawFee = new BigDecimal(withdrawFeeDic.getValue()); //最小提现金额 DataDictionaryCustom minWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(), DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode() ); BigDecimal minWithdraw = new BigDecimal(minWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN); if (minWithdraw.compareTo(withdrawDto.getAmount()) > 0) { throw new FebsException("最小提现金额为"+minWithdraw); } //今日最大提现金额 DataDictionaryCustom maxWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(), DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode() ); BigDecimal maxWithdraw = new BigDecimal(maxWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN); BigDecimal withdrawToday = dappFundFlowDao.selectSumAmountByMemberIdAndType(member.getId(), FundFlowEnum.WITHDRAW_USDT.getCode()); withdrawToday = withdrawToday.add(withdrawDto.getAmount()); if (maxWithdraw.compareTo(withdrawToday) < 0) { throw new FebsException("今日提现最多可申请"+maxWithdraw); } //手续费 BigDecimal feeAmount = amount.multiply(withdrawFee); //减少余额 @@ -798,4 +819,25 @@ DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = dappAccountMoneyChangeDao.selectNewOneByMemberId(memberId); return new FebsResponse().success().data(dappAccountMoneyChangeEntity); } @Override public CashOutSettingVo cashOutSetting() { CashOutSettingVo cashOutSettingVo = new CashOutSettingVo(); //最小提现金额 DataDictionaryCustom minWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(), DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode() ); BigDecimal minWithdraw = new BigDecimal(minWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN); cashOutSettingVo.setMinWithdraw(minWithdraw); //今日最大提现金额 DataDictionaryCustom maxWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(), DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode() ); BigDecimal maxWithdraw = new BigDecimal(maxWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN); cashOutSettingVo.setMaxWithdraw(maxWithdraw); return cashOutSettingVo; } } src/main/java/cc/mrbird/febs/dapp/vo/CashOutSettingVo.java
New file @@ -0,0 +1,16 @@ package cc.mrbird.febs.dapp.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @Data public class CashOutSettingVo { @ApiModelProperty(value = "每次最小提现金额") private BigDecimal minWithdraw; @ApiModelProperty(value = "每日限额") private BigDecimal maxWithdraw; } src/main/resources/mapper/dapp/DappFundFlowDao.xml
@@ -205,4 +205,10 @@ and status = 2 group by member_id </select> <select id="selectSumAmountByMemberIdAndType" resultType="java.math.BigDecimal"> select ifnull(sum(amount), 0) from dapp_fund_flow where member_id = #{memberId} and type = #{type} </select> </mapper> src/main/resources/templates/febs/views/goods/basicPerkSetting.html
@@ -81,6 +81,21 @@ <div class="layui-word-aux">资产包卖出划入底池比例</div> </div> </div> <blockquote class="layui-elem-quote blue-border">提现设置:</blockquote> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">最小金额:</label> <div class="layui-input-block"> <input type="text" name="minWithdraw" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" > <div class="layui-word-aux">每次提现最小金额</div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">每日限额:</label> <div class="layui-input-block"> <input type="text" name="maxWithdraw" lay-verify="required" placeholder="请输入数字" autocomplete="off" class="layui-input" > <div class="layui-word-aux">今日最大提现金额</div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">提现手续(%):</label> <div class="layui-input-block"> @@ -130,6 +145,8 @@ function initHlmBasicPerkValue() { form.val("hlm-basic-perk-form", { "minWithdraw": hlmBasicPerk.minWithdraw, "maxWithdraw": hlmBasicPerk.maxWithdraw, "withDrawFee": hlmBasicPerk.withDrawFee, "packageSaleToPoorPercent": hlmBasicPerk.packageSaleToPoorPercent, "packageScorePrice": hlmBasicPerk.packageScorePrice,