src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java
@@ -23,7 +23,7 @@ */ private Integer status; private String account; private BigDecimal amountFee; private String name; src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -58,6 +58,7 @@ private final IApiMallMemberWalletService iApiMallMemberWalletService; private final AppVersionMapper appVersionMapper; private final MallMemberWithdrawMapper mallMemberWithdrawMapper; private final MallNewsInfoMapper mallNewsInfoMapper; private final MallShopApplyMapper mallShopApplyMapper; @@ -143,28 +144,44 @@ @Override @Transactional public FebsResponse chargeAgree(Long id) { MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); if(ObjectUtil.isEmpty(mallMoneyFlow)){ MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); if(ObjectUtil.isEmpty(mallMemberWithdraw)){ return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); } if(1 != mallMoneyFlow.getStatus()){ if(1 != mallMemberWithdraw.getStatus()){ return new FebsResponse().fail().message("当前状态不是提现中"); } mallMemberWithdraw.setStatus(2); mallMemberWithdrawMapper.updateById(mallMemberWithdraw); QueryWrapper<MallMoneyFlow> objectQueryWrapper = new QueryWrapper<>(); objectQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); objectQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue()); MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(objectQueryWrapper); mallMoneyFlow.setStatus(2); mallMoneyFlowMapper.updateById(mallMoneyFlow); return new FebsResponse().success(); } @Override @Transactional public FebsResponse chargeDisagree(Long id) { MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); if(ObjectUtil.isEmpty(mallMoneyFlow)){ MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); if(ObjectUtil.isEmpty(mallMemberWithdraw)){ return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); } if(1 != mallMoneyFlow.getStatus()){ if(1 != mallMemberWithdraw.getStatus()){ return new FebsResponse().fail().message("当前状态不是提现中"); } mallMemberWithdraw.setStatus(3); mallMemberWithdrawMapper.updateById(mallMemberWithdraw); QueryWrapper<MallMoneyFlow> objectQueryWrapper = new QueryWrapper<>(); objectQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); objectQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue()); MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(objectQueryWrapper); mallMoneyFlow.setStatus(3); mallMoneyFlowMapper.updateById(mallMoneyFlow); @@ -176,8 +193,8 @@ @Override public AdminMallMemberPaymentVo getMallMemberPaymentInfoByFlowId(long id) { AdminMallMemberPaymentVo adminMallMemberPaymentVo = new AdminMallMemberPaymentVo(); MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); AdminMallMemberPaymentVo adminMallMemberPaymentVoa = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallMoneyFlow.getMemberId()); MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); AdminMallMemberPaymentVo adminMallMemberPaymentVoa = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallMemberWithdraw.getMemberId()); if(ObjectUtil.isNotEmpty(adminMallMemberPaymentVoa)){ adminMallMemberPaymentVo = adminMallMemberPaymentVoa; } src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java
@@ -1,22 +1,22 @@ package cc.mrbird.febs.mall.service.impl; import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; import cc.mrbird.febs.common.enumerates.FlowTypeEnum; import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.common.utils.MallUtils; import cc.mrbird.febs.mall.dto.WithdrawalDto; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallMemberPayment; import cc.mrbird.febs.mall.entity.MallMemberWallet; import cc.mrbird.febs.mall.entity.MallMemberWithdraw; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IApiMallMemberService; import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.IMallMemberWithdrawService; import cc.mrbird.febs.mall.service.MallMemberService; import cc.mrbird.febs.mall.vo.CashOutSettingVo; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -38,6 +38,7 @@ private final MallMemberWalletMapper mallMemberWalletMapper; private final IApiMallMemberWalletService walletService; private final MallMemberPaymentMapper mallMemberPaymentMapper; private final DataDictionaryCustomMapper dataDictionaryCustomMapper; @Override public void withdrawal(WithdrawalDto withdrawalDto) { @@ -71,6 +72,12 @@ } } CashOutSettingVo cashOutSettingVo = new CashOutSettingVo(); DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode()); if (dic != null) { cashOutSettingVo = JSONObject.parseObject(dic.getValue(), CashOutSettingVo.class); } walletService.reduce(withdrawalDto.getAmount(), memberId, "commission"); String orderNo = MallUtils.getOrderNum("W"); @@ -79,6 +86,7 @@ withdraw.setMemberId(memberId); withdraw.setAmount(withdrawalDto.getAmount()); withdraw.setStatus(1); withdraw.setAmountFee(cashOutSettingVo.getServiceFee().multiply(withdrawalDto.getAmount())); this.baseMapper.insert(withdraw); mallMemberService.addMoneyFlow(memberId, withdrawalDto.getAmount().negate(), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), orderNo, null, null, null, 1, FlowTypeEnum.COMMISSION.getValue()); src/main/java/cc/mrbird/febs/mall/vo/AdminMoneyChargeListVo.java
@@ -18,19 +18,15 @@ private BigDecimal amount; private Integer type; private BigDecimal amountFee; private String orderNo; private String withdrawNo; private String description; private String remark; private Integer status; private String name; private String phone; private String bindPhone; private Integer status; } src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -68,14 +68,18 @@ <select id="getMoneyChargeListInPage" resultType="cc.mrbird.febs.mall.vo.AdminMoneyChargeListVo"> select a.*, a.id id, a.created_time createdTime, a.amount amount, a.amount_fee amountFee, a.withdraw_no withdrawNo, a.status status, b.name, b.bind_phone bindPhone, b.phone from mall_money_flow a from mall_member_withdraw a inner join mall_member b on a.member_id=b.id <where> a.type = 6 <if test="record != null" > <if test="record.name!=null and record.name!=''"> and b.name like concat('%', #{record.name},'%') src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html
@@ -119,10 +119,12 @@ id: 'moneyFlowChargeTable', url: ctx + 'admin/mallMember/getMoneyChargeList', cols: [[ {field: 'withdrawNo', title: '编号', minWidth: 100,align:'left'}, {field: 'name', title: '名称', minWidth: 100,align:'left'}, {field: 'phone', title: '账号', minWidth: 150,align:'left'}, {field: 'bindPhone', title: '手机号', minWidth: 150,align:'left'}, {field: 'amount', title: '金额', minWidth: 150,align:'left'}, {field: 'amountFee', title: '手续费', minWidth: 150,align:'left'}, {field: 'status', title: '状态', templet: function (d) { if (d.status === 1) {