Hentua
2023-06-12 2f34848f649b7d29f7697f8fe13b5e93c543c19a
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -7,6 +7,7 @@
import cc.mrbird.febs.common.enumerates.GreenScoreEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
import cc.mrbird.febs.common.exception.FebsException;
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.*;
@@ -35,6 +36,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -175,24 +177,36 @@
        }
        Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId();
        MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId);
//        MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId);
        /**
         * 调用汇聚代付
         */
        SinglePayDto singlePayDto = new SinglePayDto();
        singlePayDto.setMerchantOrderNo(mallMemberWithdraw.getWithdrawNo());
        singlePayDto.setReceiverAccountNoEncBankNo(mallMemberBank.getBankNo());
        singlePayDto.setReceiverAccountNoEncName(mallMemberBank.getName());
        singlePayDto.setReceiverAccountType("201");
        BigDecimal paidAmount = mallMemberWithdraw.getAmount().subtract(mallMemberWithdraw.getAmountFee()).setScale(2, BigDecimal.ROUND_DOWN);
        singlePayDto.setPaidAmount(paidAmount);
        singlePayDto.setCurrency("201");
        singlePayDto.setIsChecked("202");
        singlePayDto.setPaidDesc("用户提现");
        singlePayDto.setPaidUse("202");
        String singlePayRep = unipayService.singlePay(singlePayDto);
        if(!mallMemberWithdraw.getWithdrawNo().equals(singlePayRep)){
            return new FebsResponse().fail().message("提现失败,请稍后查看错误信息一览");
//        SinglePayDto singlePayDto = new SinglePayDto();
//        singlePayDto.setMerchantOrderNo(mallMemberWithdraw.getWithdrawNo());
//        singlePayDto.setReceiverAccountNoEncBankNo(mallMemberBank.getBankNo());
//        singlePayDto.setReceiverAccountNoEncName(mallMemberBank.getName());
//        singlePayDto.setReceiverAccountType("201");
//        BigDecimal paidAmount = mallMemberWithdraw.getAmount().subtract(mallMemberWithdraw.getAmountFee()).setScale(2, BigDecimal.ROUND_DOWN);
//        singlePayDto.setPaidAmount(paidAmount);
//        singlePayDto.setCurrency("201");
//        singlePayDto.setIsChecked("202");
//        singlePayDto.setPaidDesc("用户提现");
//        singlePayDto.setPaidUse("202");
//        String singlePayRep = unipayService.singlePay(singlePayDto);
//        if(!mallMemberWithdraw.getWithdrawNo().equals(singlePayRep)){
//            return new FebsResponse().fail().message("提现失败,请稍后查看错误信息一览");
//        }
        mallMemberWithdraw.setStatus(2);
        mallMemberWithdrawMapper.updateById(mallMemberWithdraw);
        QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>();
        flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo());
        flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue());
        MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper);
        if(ObjectUtil.isNotEmpty(mallMoneyFlow)){
            mallMoneyFlow.setStatus(2);
            mallMoneyFlowMapper.updateById(mallMoneyFlow);
        }
        return new FebsResponse().success();
@@ -218,9 +232,11 @@
        MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(objectQueryWrapper);
        mallMoneyFlow.setStatus(3);
        mallMoneyFlowMapper.updateById(mallMoneyFlow);
        //用户佣金增加对应的余额
        iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance");
        if(AppContants.MEMBER_WITHDRAW_NORMAL.equals(mallMemberWithdraw.getRemark())){
            //用户佣金增加对应的余额
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount().add(mallMemberWithdraw.getAmountFee()),mallMemberWithdraw.getMemberId(),"balance");
//            mallMoneyFlowService.addMoneyFlow(mallMemberWithdraw.getMemberId(), mallMemberWithdraw.getAmount().add(mallMemberWithdraw.getAmountFee()), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), mallMemberWithdraw.getWithdrawNo(), FlowTypeEnum.BALANCE.getValue());
        }
        return new FebsResponse().success();
    }
@@ -632,6 +648,9 @@
        if(ObjectUtil.isNotEmpty(mallMemberBank)){
            adminMallMemberPaymentVo.setBankNo(mallMemberBank.getBankNo());
            adminMallMemberPaymentVo.setBankName(mallMemberBank.getName());
            adminMallMemberPaymentVo.setDigitalNo(mallMemberBank.getDigitalNo());
            adminMallMemberPaymentVo.setSubbranchName(mallMemberBank.getSubbranchName());
            adminMallMemberPaymentVo.setBank(mallMemberBank.getBankName());
        }
        return adminMallMemberPaymentVo;
    }
@@ -718,6 +737,17 @@
        return mallMoneyFlowIPage;
    }
    @Override
    public FebsResponse insideWithType(Long id, int i) {
        MallMember mallMember = mallMemberMapper.selectById(id);
        if(ObjectUtil.isEmpty(mallMember)) {
            return new FebsResponse().fail().message("会员信息不存在");
        }
        mallMember.setInsideWith(i);
        mallMemberMapper.updateById(mallMember);
        return new FebsResponse().success();
    }
    private String refererIds(String parentId) {
        boolean flag = false;
        if (StrUtil.isBlank(parentId)) {
@@ -742,4 +772,44 @@
        return ids;
    }
    @Override
    public List<MallMember> findParentMemberList(List<String> inviteIds, Integer level, boolean containsParent) {
        List<MallMember> mallMembers = this.baseMapper.selectByInviteIds(inviteIds);
        if(CollUtil.isEmpty(mallMembers)) {
            return mallMembers;
        }
        List<MallMember> result = new ArrayList<>();
        int index = containsParent ? 0 : 1;
        int count = 0;
        while(true) {
            if (level != null && count == level) {
                break;
            }
            if (index >= mallMembers.size()) {
                break;
            }
            String inviteId = inviteIds.get(index);
            List<MallMember> collect = mallMembers.stream().filter(item -> item.getInviteId().equals(inviteId)).collect(Collectors.toList());
            result.add(collect.get(0));
            index++;
            count++;
        }
        return result;
    }
    @Override
    public TreeItemVo findMatrixTree() {
        return null;
    }
    @Override
    public List<ChargeListExportVo> findChargeListForExcel(MoneyChargeListDto moneyChargeListDto) {
        return this.mallMoneyFlowMapper.selectChargeListForExcel(moneyChargeListDto);
    }
}