xiaoyong931011
2022-09-09 e1e7d29ea23fcee395e3f13dc2763162c588b6d0
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -16,6 +16,8 @@
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
import cc.mrbird.febs.mall.vo.*;
import cc.mrbird.febs.pay.model.MemberWithdrawalDto;
import cc.mrbird.febs.pay.service.IXcxPayService;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -64,11 +66,21 @@
    private final MallShopApplyMapper mallShopApplyMapper;
    private final IMallMoneyFlowService mallMoneyFlowService;
    private final MallTeamLeaderMapper mallTeamLeaderMapper;
    @Override
    public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
        Page<MallMember> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<MallMember> mallMembers = this.baseMapper.selectMallMemberListInPage(page, mallMember);
        if(CollUtil.isNotEmpty(mallMembers.getRecords())){
            for(MallMember mallMemberTeam : mallMembers.getRecords()){
                String inviteId = mallMemberTeam.getInviteId();
                MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCodeAndOrderBycreateTime(inviteId);
                if(ObjectUtil.isNotEmpty(mallTeamLeader)){
                    mallMemberTeam.setLeaderState(mallTeamLeader.getState() == null ? 0 : mallTeamLeader.getState());
                }
            }
        }
        return mallMembers;
    }
@@ -141,6 +153,8 @@
        return adminMoneyChargeListVos;
    }
    private final IXcxPayService iXcxPayService;
    @Override
    @Transactional
    public FebsResponse chargeAgree(Long id) {
@@ -152,16 +166,26 @@
        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);
        Long memberId = mallMemberWithdraw.getMemberId();
        MallMember mallMember = mallMemberMapper.selectById(memberId);
        MemberWithdrawalDto memberWithdrawalDto = new MemberWithdrawalDto();
        memberWithdrawalDto.setDesc("余额提现");
        memberWithdrawalDto.setOpenid(mallMember.getOpenId());
        memberWithdrawalDto.setTotalFee(mallMemberWithdraw.getAmount());
        memberWithdrawalDto.setOutTradeNo(mallMoneyFlow.getOrderNo());
        Boolean aBoolean = iXcxPayService.memberWithdrawal(memberWithdrawalDto);
        if(!aBoolean){
            return new FebsResponse().fail().message("微信提现失败,请查看微信商户状态");
        }
        mallMemberWithdraw.setStatus(2);
        mallMemberWithdrawMapper.updateById(mallMemberWithdraw);
        mallMoneyFlow.setStatus(2);
        mallMoneyFlowMapper.updateById(mallMoneyFlow);
        return new FebsResponse().success();
    }