KKSU
2024-04-18 e676f7bc3498bf81a236e6f2bdc27bcf716757b5
代币提现
14 files modified
2 files added
430 ■■■■■ changed files
src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java 65 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/WithdrawalBalanceDto.java 29 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IMallMemberWithdrawService.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java 39 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java 2 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberMapper.xml 21 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/memberChargeList.html 20 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/memberWithDrawList.html 210 ●●●●● patch | view | raw | blame | history
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"),
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);
    }
    /**
     * 平台账单
     *
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")
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
     */
src/main/java/cc/mrbird/febs/mall/dto/WithdrawalBalanceDto.java
New file
@@ -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;
}
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;
}
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);
}
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);
}
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);
}
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)) {
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);
    }
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);
    }
}
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;
}
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>
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},
                ]]
            });
src/main/resources/templates/febs/views/modules/mallMember/memberWithDrawList.html
New file
@@ -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">&#xe848;</i>
                                </div>
                                <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
                                    <i class="layui-icon">&#xe79b;</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>