From e676f7bc3498bf81a236e6f2bdc27bcf716757b5 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 18 Apr 2024 10:32:44 +0800 Subject: [PATCH] 代币提现 --- src/main/java/cc/mrbird/febs/mall/dto/WithdrawalBalanceDto.java | 29 +++ src/main/resources/templates/febs/views/modules/mallMember/memberChargeList.html | 20 +- src/main/java/cc/mrbird/febs/mall/service/IMallMemberWithdrawService.java | 3 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java | 3 src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java | 39 ++++ src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java | 65 +++++++ src/main/resources/mapper/modules/MallMemberMapper.xml | 21 ++ src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 7 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 7 src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java | 3 src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java | 2 src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java | 10 + src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 7 src/main/resources/templates/febs/views/modules/mallMember/memberWithDrawList.html | 210 ++++++++++++++++++++++++++ src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java | 2 src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java | 2 16 files changed, 415 insertions(+), 15 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java index 2d5d5bf..e463cce 100644 --- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java +++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java @@ -6,6 +6,8 @@ @Getter public enum DataDictionaryEnum { //充值金额 + WITHDRAW_AMOUNT("WITHDRAW_AMOUNT","WITHDRAW_AMOUNT"), + //充值金额 CHARGE_AMOUNT("CHARGE_AMOUNT","CHARGE_AMOUNT"), //充值地址 CHARGE_ADDRESS("CHARGE_ADDRESS","CHARGE_ADDRESS"), diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java index d260e6b..c8a4184 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java @@ -15,10 +15,7 @@ import cc.mrbird.febs.common.utils.excl.ResponseHeadUtil; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; -import cc.mrbird.febs.mall.mapper.MallMemberAmountMapper; -import cc.mrbird.febs.mall.mapper.MallMemberChargeMapper; -import cc.mrbird.febs.mall.mapper.MallMemberMapper; -import cc.mrbird.febs.mall.mapper.MallMemberWalletMapper; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IAdminMallMemberService; import cc.mrbird.febs.mall.service.IApiMallMemberService; import cc.mrbird.febs.mall.service.IMallMoneyFlowService; @@ -60,6 +57,7 @@ private final IApiMallMemberService apiMallMemberService; private final MallMemberChargeMapper mallMemberChargeMapper; private final IMallMoneyFlowService mallMoneyFlowService; + private final MallMemberWithdrawMapper mallMemberWithdrawMapper; @GetMapping("confirmOrder") @@ -111,6 +109,55 @@ return new FebsResponse().success(); } + @GetMapping("confirmCancelWithdraw") + @ControllerEndpoint(operation = "批量提现取消", exceptionMessage = "操作失败") + public FebsResponse confirmCancelWithdraw(MemberChargrDto memberChargrDto){ + String orderIds = memberChargrDto.getOrderIds(); + List<String> ids = StrUtil.splitTrim(orderIds, ","); + for(String id : ids){ + long orderId = Long.parseLong(id); + MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(orderId); + if(1 != mallMemberWithdraw.getStatus()){ + continue; + } + mallMemberWithdraw.setStatus(3); + mallMemberWithdrawMapper.updateById(mallMemberWithdraw); + + MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(mallMemberWithdraw.getMemberId()); + mallMemberAmount.setFcmCntAva(mallMemberAmount.getFcmCntAva().add(mallMemberWithdraw.getAmount())); + mallMemberAmountMapper.updateFcmCntAvaById(mallMemberAmount); + } + return new FebsResponse().success(); + } + + + @GetMapping("confirmWithdraw") + @ControllerEndpoint(operation = "批量同意", exceptionMessage = "操作失败") + public FebsResponse confirmWithdraw(MemberChargrDto memberChargrDto){ + String orderIds = memberChargrDto.getOrderIds(); + List<String> ids = StrUtil.splitTrim(orderIds, ","); + for(String id : ids){ + long orderId = Long.parseLong(id); + MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(orderId); + if(1 != mallMemberWithdraw.getStatus()){ + continue; + } + mallMemberWithdraw.setStatus(2); + mallMemberWithdrawMapper.updateById(mallMemberWithdraw); + + String orderNo = MallUtils.getOrderNum("BF"); + mallMoneyFlowService.addMoneyFlow( + mallMemberWithdraw.getMemberId(), + mallMemberWithdraw.getAmount(), + MoneyFlowTypeNewEnum.FCM_INSIDE_OUT.getValue(), + orderNo, + mallMemberWithdraw.getId(), + FlowTypeNewEnum.FCM_COIN.getValue(), + MoneyFlowTypeNewEnum.FCM_INSIDE_OUT.getDescrition()); + } + return new FebsResponse().success(); + } + /** * 充值列表 @@ -121,6 +168,16 @@ return new FebsResponse().success().data(data); } + + /** + * 提现列表 + */ + @GetMapping("memberWithDrawList") + public FebsResponse memberWithDrawList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) { + Map<String, Object> data = getDataTable(mallMemberService.memberWithDrawList(moneyChargeListDto, request)); + return new FebsResponse().success().data(data); + } + /** * 平台账单 * diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java index 4ea4ca7..d24aea4 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java @@ -85,6 +85,13 @@ return memberService.chargeBalance(apiChargeBalanceDto); } + @ApiOperation(value = "FCM-提现") + @PostMapping(value = "/withdrawalBalance") + public FebsResponse withdrawalBalance(@RequestBody @Validated WithdrawalBalanceDto withdrawalBalanceDto) { + mallMemberWithdrawService.withdrawalBalance(withdrawalBalanceDto); + return new FebsResponse().success().message("提交成功"); + } + @ApiOperation(value = "FCM-推出登录", notes = "FCM-推出登录") @PostMapping(value = "/logout") diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java index 4b784cf..4ef7bea 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java @@ -33,6 +33,16 @@ public static long idFromScoreAchieveRelease; /** + * 体现列表 + * @return + */ + @GetMapping("memberWithdrawList") + @RequiresPermissions("memberWithdrawList:view") + public String memberWithdrawList() { + return FebsUtil.view("modules/mallMember/memberWithdrawList"); + } + + /** * 充值列表 * @return */ diff --git a/src/main/java/cc/mrbird/febs/mall/dto/WithdrawalBalanceDto.java b/src/main/java/cc/mrbird/febs/mall/dto/WithdrawalBalanceDto.java new file mode 100644 index 0000000..e0d6c8c --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/WithdrawalBalanceDto.java @@ -0,0 +1,29 @@ +package cc.mrbird.febs.mall.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +@Data +@ApiModel(value = "WithdrawalBalanceDto", description = "提现接收参数类") +public class WithdrawalBalanceDto { + + + @Min(0) + @NotNull(message = "参数不能为空") + @ApiModelProperty(value = "金额") + private BigDecimal amount; + + @NotBlank(message = "参数不能为空") + @ApiModelProperty(value = "交易密码") + private String tradePwd; + + @NotBlank(message = "地址不能为空") + @ApiModelProperty(value = "地址") + private String address; +} diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java index d0fba2a..62df223 100644 --- a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java +++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java @@ -38,4 +38,7 @@ */ @TableField(exist = false) private String agreeType; + + @TableField(exist = false) + private String accountLogin; } diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java index dee504f..ca5d84c 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java @@ -4,6 +4,7 @@ import cc.mrbird.febs.mall.entity.AppVersion; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallMemberCharge; +import cc.mrbird.febs.mall.entity.MallMemberWithdraw; import cc.mrbird.febs.mall.vo.*; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -123,4 +124,6 @@ MallMemberVo getMallmemberAmountByMemberId(@Param("memberId")long id); IPage<MallMemberCharge> getMemberChargeListInPage(Page<MallMemberCharge> page, @Param("record")MoneyChargeListDto moneyChargeListDto); + + IPage<MallMemberWithdraw> getMemberWithDrawListInPage(Page<MallMemberWithdraw> page, @Param("record")MoneyChargeListDto moneyChargeListDto); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java index dfd5a4f..51475e8 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java @@ -131,4 +131,6 @@ MallMemberVo getMallmemberAmountByMemberId(long id); IPage<MallMemberCharge> memberChargeList(MoneyChargeListDto moneyChargeListDto, QueryRequest request); + + IPage<MallMemberWithdraw> memberWithDrawList(MoneyChargeListDto moneyChargeListDto, QueryRequest request); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/IMallMemberWithdrawService.java b/src/main/java/cc/mrbird/febs/mall/service/IMallMemberWithdrawService.java index 500c484..67c3a11 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IMallMemberWithdrawService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IMallMemberWithdrawService.java @@ -1,5 +1,6 @@ package cc.mrbird.febs.mall.service; +import cc.mrbird.febs.mall.dto.WithdrawalBalanceDto; import cc.mrbird.febs.mall.dto.WithdrawalDto; import cc.mrbird.febs.mall.entity.MallMemberWithdraw; import com.baomidou.mybatisplus.extension.service.IService; @@ -7,4 +8,6 @@ public interface IMallMemberWithdrawService extends IService<MallMemberWithdraw> { void withdrawal(WithdrawalDto withdrawalDto); + + void withdrawalBalance(WithdrawalBalanceDto withdrawalBalanceDto); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java index da7fe0c..58239fc 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java @@ -966,6 +966,13 @@ return mallMemberChargeIPage; } + @Override + public IPage<MallMemberWithdraw> memberWithDrawList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) { + Page<MallMemberWithdraw> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MallMemberWithdraw> mallMemberWithdrawIPage = mallMemberMapper.getMemberWithDrawListInPage(page, moneyChargeListDto); + return mallMemberWithdrawIPage; + } + private String refererIds(String parentId) { boolean flag = false; if (StrUtil.isBlank(parentId)) { diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index 099ea81..1cf6ffb 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -348,6 +348,13 @@ DataDictionaryEnum.CHARGE_ADDRESS.getCode() ); mallMemberVo.setChargeAddress(chargeAddressDic.getValue()); + + DataDictionaryCustom withdrawAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.WITHDRAW_AMOUNT.getType(), + DataDictionaryEnum.WITHDRAW_AMOUNT.getCode() + ); + BigDecimal withdrawAmount = new BigDecimal(withdrawAmountDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN); + mallMemberVo.setWithdrawAmount(withdrawAmount); return new FebsResponse().success().data(mallMemberVo); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java index d9eddd8..1f51e8a 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java @@ -8,6 +8,7 @@ import cc.mrbird.febs.common.utils.AppContants; import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.common.utils.MallUtils; +import cc.mrbird.febs.mall.dto.WithdrawalBalanceDto; import cc.mrbird.febs.mall.dto.WithdrawalDto; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; @@ -47,6 +48,7 @@ private final MallMemberPaymentMapper mallMemberPaymentMapper; private final DataDictionaryCustomMapper dataDictionaryCustomMapper; private final MallMemberBankMapper mallMemberBankMapper; + private final MallMemberAmountMapper mallMemberAmountMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -176,4 +178,41 @@ mallMemberService.addMoneyFlow(memberId, withdrawalDto.getAmount().negate(), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), orderNo, null, null, null, 1, FlowTypeEnum.BALANCE.getValue()); } + + @Override + public void withdrawalBalance(WithdrawalBalanceDto withdrawalBalanceDto) { + Long memberId = LoginUserUtil.getLoginUser().getId(); + MallMember mallMember = mallMemberService.getById(memberId); + if (StrUtil.isBlank(mallMember.getTradePassword())) { + throw new FebsException("未设置支付密码"); + } + if (!mallMember.getTradePassword().equals(SecureUtil.md5(withdrawalBalanceDto.getTradePwd()))) { + throw new FebsException("支付密码错误"); + } + + DataDictionaryCustom withdrawAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.WITHDRAW_AMOUNT.getType(), + DataDictionaryEnum.WITHDRAW_AMOUNT.getCode() + ); + BigDecimal amount = withdrawalBalanceDto.getAmount(); + BigDecimal withdrawAmount = new BigDecimal(withdrawAmountDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN); + if(withdrawAmount.compareTo(amount) > 0){ + throw new FebsException("至少为"+withdrawAmount); + } + + MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId); + mallMemberAmount.setFcmCntAva(mallMemberAmount.getFcmCntAva().subtract(amount)); + mallMemberAmountMapper.updateFcmCntAvaById(mallMemberAmount); + + String orderNo = MallUtils.getOrderNum("W"); + MallMemberWithdraw withdraw = new MallMemberWithdraw(); + withdraw.setWithdrawNo(orderNo); + withdraw.setMemberId(memberId); + withdraw.setAmount(amount.negate()); + withdraw.setStatus(1); + withdraw.setAmountFee(BigDecimal.ZERO); + withdraw.setRemark(withdrawalBalanceDto.getAddress()); + this.baseMapper.insert(withdraw); + + } } diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java index 1803761..8ba8a26 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java @@ -120,5 +120,7 @@ private String insideNFTPercent; @ApiModelProperty(value = "充值地址") private String chargeAddress; + @ApiModelProperty(value = "最小提现金额") + private BigDecimal withdrawAmount; } diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml index 080f28a..185854c 100644 --- a/src/main/resources/mapper/modules/MallMemberMapper.xml +++ b/src/main/resources/mapper/modules/MallMemberMapper.xml @@ -587,7 +587,6 @@ b.account_login accountLogin from mall_member_charge a left join mall_member b on a.member_id = b.id - left join mall_member_payment c on a.member_id = c.member_id <where> <if test="record.accountLogin!=null and record.accountLogin!=''"> and b.account_login like concat('%', #{record.accountLogin},'%') @@ -601,4 +600,24 @@ </where> order by a.CREATED_TIME desc </select> + + <select id="getMemberWithDrawListInPage" resultType="cc.mrbird.febs.mall.entity.MallMemberWithdraw"> + select + a.*, + b.account_login accountLogin + from mall_member_withdraw a + left join mall_member b on a.member_id = b.id + <where> + <if test="record.accountLogin!=null and record.accountLogin!=''"> + and b.account_login like concat('%', #{record.accountLogin},'%') + </if> + <if test="record.address!=null and record.address!=''"> + and a.remark like concat('%', #{record.address},'%') + </if> + <if test="record.status!=null"> + and a.status = #{record.status} + </if> + </where> + order by a.CREATED_TIME desc + </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/modules/mallMember/memberChargeList.html b/src/main/resources/templates/febs/views/modules/mallMember/memberChargeList.html index 74fbbb8..5ac9e02 100644 --- a/src/main/resources/templates/febs/views/modules/mallMember/memberChargeList.html +++ b/src/main/resources/templates/febs/views/modules/mallMember/memberChargeList.html @@ -3,7 +3,7 @@ <div class="layui-col-md12"> <div class="layui-card"> <div class="layui-card-body febs-table-full"> - <form class="layui-form layui-table-form" lay-filter="withdraw-table-form"> + <form class="layui-form layui-table-form" lay-filter="charge-table-form"> <div class="layui-row"> <div class="layui-col-md10"> <div class="layui-form-item"> @@ -51,7 +51,7 @@ height: auto !important; } </style> -<script type="text/html" id="withdraw-status"> +<script type="text/html" id="charge-status"> {{# var state = { 1: {title: '进行中'}, @@ -64,8 +64,8 @@ <script type="text/html" id="tableToolBarOrder"> <div class="layui-btn-container"> - <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="confirmOrder">提现确认</button> - <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="confirmCancel">提现取消</button> + <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="confirmOrder">确认</button> + <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="confirmCancel">取消</button> </div> </script> @@ -98,7 +98,7 @@ let ids = ""; let totalAmount = 0; for(let i = 0;i < data.length;i++){ - if(data[i].status != 1){ + if(data[i].state != 1){ febs.alert.warn('请选择审核中的记录'); return; }else{ @@ -111,7 +111,7 @@ return; } - febs.modal.confirm('USDT提现', '总额为:'+totalAmount, function () { + febs.modal.confirm('充值', '总额为:'+totalAmount, function () { confirmOrder(ids); }); } @@ -120,7 +120,7 @@ let ids = ""; let totalAmount = 0; for(let i = 0;i < data.length;i++){ - if(data[i].status != 1){ + if(data[i].state != 1){ febs.alert.warn('请选择审核中的记录'); return; }else{ @@ -133,7 +133,7 @@ return; } - febs.modal.confirm('提现取消', '总额为:'+totalAmount, function () { + febs.modal.confirm('取消', '总额为:'+totalAmount, function () { confirmCancel(ids); }); } @@ -184,8 +184,8 @@ {type: 'checkbox', fixed: 'left'}, {field: 'accountLogin', title: '账户', minWidth: 180}, {field: 'address', title: '地址', minWidth: 180}, - {field: 'amount', title: '金额(USDT)', minWidth: 130}, - {title: '提现状态', templet: '#withdraw-status'}, + {field: 'amount', title: '金额', minWidth: 130}, + {title: '提现状态', templet: '#charge-status'}, {field: 'createdTime', title: '创建时间', minWidth: 180}, ]] }); diff --git a/src/main/resources/templates/febs/views/modules/mallMember/memberWithDrawList.html b/src/main/resources/templates/febs/views/modules/mallMember/memberWithDrawList.html new file mode 100644 index 0000000..481fa6a --- /dev/null +++ b/src/main/resources/templates/febs/views/modules/mallMember/memberWithDrawList.html @@ -0,0 +1,210 @@ +<div class="layui-fluid layui-anim febs-anim" id="febs-member-withdraw" lay-title="代币提现"> + <div class="layui-row febs-container"> + <div class="layui-col-md12"> + <div class="layui-card"> + <div class="layui-card-body febs-table-full"> + <form class="layui-form layui-table-form" lay-filter="withdraw-table-form"> + <div class="layui-row"> + <div class="layui-col-md10"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input type="text" name="accountLogin" autocomplete="off" placeholder="登录账户" class="layui-input"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input type="text" name="address" autocomplete="off" placeholder="地址" 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="status"> + <option value=""></option> + <option value="1">进行中</option> + <option value="2">成功</option> + <option value="3">失败</option> + </select> + </div> + </div> + </div> + </div> + <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area"> + <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="query"> + <i class="layui-icon"></i> + </div> + <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset"> + <i class="layui-icon"></i> + </div> + </div> + </div> + </form> + <table lay-filter="memberWithdrawTable" lay-data="{id: 'memberWithdrawTable'}"></table> + </div> + </div> + </div> + </div> +</div> +<style> + .layui-table-cell { + height: auto !important; + } +</style> +<script type="text/html" id="withdraw-status"> + {{# + var status = { + 1: {title: '进行中'}, + 2: {title: '成功'}, + 3: {title: '失败'} + }[d.status]; + }} + <span>{{ status.title }}</span> +</script> + +<script type="text/html" id="tableToolBarWithdraw"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="confirmWithdraw">同意提现</button> + <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="confirmCancelWithdraw">拒绝提现</button> + </div> +</script> + + +<script data-th-inline="none" type="text/javascript"> + layui.use(['dropdown', 'jquery', 'laydate', 'form', 'table', 'febs', 'treeSelect'], function () { + var $ = layui.jquery, + laydate = layui.laydate, + febs = layui.febs, + form = layui.form, + table = layui.table, + dropdown = layui.dropdown, + $view = $('#febs-member-withdraw'), + $query = $view.find('#query'), + $reset = $view.find('#reset'), + $searchForm = $view.find('form'), + sortObject = {field: 'createTime', type: null}, + tableIns; + + form.render(); + + initWithDrawTable(); + + table.on('toolbar(memberWithdrawTable)', function(obj){ + var event = obj.event; + var id = obj.config.id; + var checkStatus = table.checkStatus(id); + if(event === 'confirmWithdraw'){ + var data = checkStatus.data; + let ids = ""; + let totalAmount = 0; + for(let i = 0;i < data.length;i++){ + if(data[i].status != 1){ + febs.alert.warn('请选择审核中的记录'); + return; + }else{ + ids = ids + data[i].id+","; + totalAmount = totalAmount + data[i].amount; + } + } + if(ids == null || ids == ""){ + febs.alert.warn('请选择审核中的记录'); + return; + } + + febs.modal.confirm('同意', '总额为:'+totalAmount, function () { + confirmWithdraw(ids); + }); + } + if(event === 'confirmCancelWithdraw'){ + var data = checkStatus.data; + let ids = ""; + let totalAmount = 0; + for(let i = 0;i < data.length;i++){ + if(data[i].status != 1){ + febs.alert.warn('请选择审核中的记录'); + return; + }else{ + ids = ids + data[i].id+","; + totalAmount = totalAmount + data[i].amount; + } + } + if(ids == null || ids == ""){ + febs.alert.warn('请选择审核中的记录'); + return; + } + + febs.modal.confirm('拒绝', '总额为:'+totalAmount, function () { + confirmCancelWithdraw(ids); + }); + } + }); + function confirmWithdraw(ids) { + febs.get(ctx + 'admin/mallMember/confirmWithdraw?&orderIds='+ids, null, function () { + febs.alert.success('操作成功'); + $query.click(); + + }); + } + function confirmCancelWithdraw(ids) { + febs.get(ctx + 'admin/mallMember/confirmCancelWithdraw?&orderIds='+ids, null, function () { + febs.alert.success('操作成功'); + $query.click(); + + }); + } + + table.on('sort(memberWithdrawTable)', function (obj) { + sortObject = obj; + tableIns.reload({ + initSort: obj, + where: $.extend(getQueryParams(), { + field: obj.field, + order: obj.type + }) + }); + }); + + $query.on('click', function () { + var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type}); + tableIns.reload({where: params, page: {curr: 1}}); + }); + + $reset.on('click', function () { + $searchForm[0].reset(); + tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject}); + }); + + function initWithDrawTable() { + tableIns = febs.table.init({ + elem: $view.find('table'), + id: 'memberWithdrawTable', + url: ctx + 'admin/mallMember/memberWithDrawList', + toolbar: '#tableToolBarWithdraw', + cols: [[ + {type: 'checkbox', fixed: 'left'}, + {field: 'accountLogin', title: '账户', minWidth: 180}, + {field: 'remark', title: '地址', minWidth: 180}, + {field: 'amount', title: '金额', minWidth: 130}, + {title: '提现状态', templet: '#withdraw-status'}, + {field: 'createdTime', title: '创建时间', minWidth: 180}, + ]] + }); + } + + function getQueryParams() { + return { + accountLogin: $searchForm.find('input[name="accountLogin"]').val().trim(), + address: $searchForm.find('input[name="address"]').val().trim(), + status: $searchForm.find("select[name='status']").val(), + invalidate_ie_cache: new Date() + }; + } + + function changeStatus(url) { + febs.post(ctx + url, null, function () { + febs.alert.success('设置成功'); + $query.click(); + }); + } + }) +</script> -- Gitblit v1.9.1