xiaoyong931011
2023-08-29 374e611675043365d4a8ae2e1d93e168da54b6b1
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -18,7 +18,9 @@
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.NBYHResponse;
import cc.mrbird.febs.pay.model.SinglePayDto;
import cc.mrbird.febs.pay.service.NBYHService;
import cc.mrbird.febs.pay.service.UnipayService;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -32,6 +34,7 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.xmlbeans.impl.store.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -55,6 +58,7 @@
    private final MallMemberWalletMapper mallMemberWalletMapper;
    private final MallMoneyFlowMapper mallMoneyFlowMapper;
    private final IMallMoneyFlowService mallMemberService;
    private final MallMemberPaymentMapper mallMemberPaymentMapper;
@@ -73,6 +77,8 @@
    private final MallMemberBankMapper mallMemberBankMapper;
    private final MallScoreRecordMapper mallScoreRecordMapper;
    private final MallScoreAchieveReleaseMapper mallScoreAchieveReleaseMapper;
    private final NBYHService nbyhService;
    private final MallMemberAuthMapper mallMemberAuthMapper;
    @Override
    public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
@@ -176,39 +182,30 @@
        }
        Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId();
//        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("提现失败,请稍后查看错误信息一览");
//        }
        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);
        MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId);
        String bankName = mallMemberBank.getBankName();
        NBYHResponse nbyhResponse = new NBYHResponse();
        if("宁波银行".equals(bankName)){
            nbyhResponse = nbyhService.tradeSinge(mallMemberWithdraw.getId());
        }else{
            nbyhResponse = nbyhService.tradeSingeOuterTransfer(mallMemberWithdraw.getId());
        }
        if(nbyhResponse.isFlag()){
            mallMemberWithdraw.setStatus(2);
            mallMemberWithdrawMapper.updateById(mallMemberWithdraw);
        return new FebsResponse().success();
            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().message(nbyhResponse.getMsg());
        }else{
            return new FebsResponse().fail().message(nbyhResponse.getMsg());
        }
    }
    @Override
@@ -234,13 +231,55 @@
        if(AppContants.MEMBER_WITHDRAW_NORMAL.equals(mallMemberWithdraw.getRemark())){
            //用户佣金增加对应的余额
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance");
            mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(),
                    mallMemberWithdraw.getAmount(),
                    MoneyFlowTypeEnum.WITHDRAWAL.getValue(),
                    mallMemberWithdraw.getWithdrawNo(),
                    null,
                    null,
                    mallMemberWithdraw.getMemberId(),
                    2,
                    FlowTypeEnum.BALANCE.getValue(),
                    1);
        }
        if(AppContants.MEMBER_WITHDRAW_VOUCHER.equals(mallMemberWithdraw.getRemark())){
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance");
            mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(),
                    mallMemberWithdraw.getAmount(),
                    MoneyFlowTypeEnum.WITHDRAWAL.getValue(),
                    mallMemberWithdraw.getWithdrawNo(),
                    null,
                    null,
                    mallMemberWithdraw.getMemberId(),
                    2,
                    FlowTypeEnum.BALANCE.getValue(),
                    1);
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmountFee(),mallMemberWithdraw.getMemberId(),"voucherFireCnt");
            mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(),
                    mallMemberWithdraw.getAmountFee(),
                    MoneyFlowTypeEnum.WITHDRAWAL.getValue(),
                    mallMemberWithdraw.getWithdrawNo(),
                    null,
                    null,
                    mallMemberWithdraw.getMemberId(),
                    2,
                    FlowTypeEnum.COMMISSION.getValue(),
                    1);
        }
        if(AppContants.MEMBER_WITHDRAW_VOUCHER_AMOUNT.equals(mallMemberWithdraw.getRemark())){
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"voucherAmount");
            mallMemberService.addMoneyFlow(mallMemberWithdraw.getMemberId(),
                    mallMemberWithdraw.getAmount(),
                    MoneyFlowTypeEnum.WITHDRAWAL.getValue(),
                    mallMemberWithdraw.getWithdrawNo(),
                    null,
                    null,
                    mallMemberWithdraw.getMemberId(),
                    2,
                    FlowTypeEnum.VOUCHER_AMOUNT.getValue(),
                    1);
        }
        return new FebsResponse().success();
    }
@@ -753,6 +792,128 @@
        return new FebsResponse().success();
    }
    @Override
    public FebsResponse searchInfo(Long id) {
        NBYHResponse nbyhResponse1 = nbyhService.transferResultInfoQuery(id);
        return new FebsResponse().success().message(nbyhResponse1.getMsg());
    }
    @Override
    public FebsResponse accountInfo(Long id) {
        boolean b = nbyhService.accountInfoQuery(id);
        if(!b){
            return new FebsResponse().fail().message("银行账户余额不足");
        }
        return new FebsResponse().success().message("可以转账");
    }
    @Override
    public FebsResponse outsideWithType(Long id, int i) {
        MallMember mallMember = mallMemberMapper.selectById(id);
        if(ObjectUtil.isEmpty(mallMember)) {
            return new FebsResponse().fail().message("会员信息不存在");
        }
        mallMember.setOutsideWith(i);
        mallMemberMapper.updateById(mallMember);
        return new FebsResponse().success();
    }
    @Override
    public FebsResponse chargeAgreeWithType(MallMemberWithdraw mallMemberWithdrawInfo) {
        MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(mallMemberWithdrawInfo.getId());
        if(ObjectUtil.isEmpty(mallMemberWithdraw)){
            return new FebsResponse().fail().message("系统繁忙,请刷新后重试");
        }
        if(1 != mallMemberWithdraw.getStatus()){
            return new FebsResponse().fail().message("当前状态不是提现中");
        }
        Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId();
        MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId);
        if(ObjectUtil.isEmpty(mallMemberBank)){
            return new FebsResponse().fail().message("提现银行卡已删除");
        }
        String agreeType = mallMemberWithdrawInfo.getAgreeType();
        if("1".equals(agreeType)){
            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();
        }else{
            String bankName = mallMemberBank.getBankName();
            NBYHResponse nbyhResponse = new NBYHResponse();
            if("宁波银行".equals(bankName)){
                nbyhResponse = nbyhService.tradeSinge(mallMemberWithdraw.getId());
            }else{
                nbyhResponse = nbyhService.tradeSingeOuterTransfer(mallMemberWithdraw.getId());
            }
            if(nbyhResponse.isFlag()){
                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().message(nbyhResponse.getMsg());
            }else{
                return new FebsResponse().fail().message(nbyhResponse.getMsg());
            }
        }
    }
    @Override
    public IPage<MallMemberAuth> memberAuthList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) {
        Page<MallMemberAuth> page = new Page<>(request.getPageNum(), request.getPageSize());
        return mallMemberAuthMapper.getMemberAuthListInPage(page, moneyChargeListDto);
    }
    @Override
    public FebsResponse authAgree(Long id) {
        MallMemberAuth mallMemberAuth = mallMemberAuthMapper.selectById(id);
        if(ObjectUtil.isEmpty(mallMemberAuth)){
            return new FebsResponse().fail().message("系统繁忙,请刷新后重试");
        }
        if(1 != mallMemberAuth.getStatus()){
            return new FebsResponse().fail().message("当前状态不是进行中");
        }
        mallMemberAuth.setStatus(2);
        mallMemberAuthMapper.updateById(mallMemberAuth);
        MallMember mallMember = mallMemberMapper.selectById(mallMemberAuth.getMemberId());
        mallMember.setIsAuth(1);
        mallMemberMapper.updateById(mallMember);
        return new FebsResponse().success();
    }
    @Override
    public FebsResponse authDisagree(Long id) {
        MallMemberAuth mallMemberAuth = mallMemberAuthMapper.selectById(id);
        if(ObjectUtil.isEmpty(mallMemberAuth)){
            return new FebsResponse().fail().message("系统繁忙,请刷新后重试");
        }
        if(1 != mallMemberAuth.getStatus()){
            return new FebsResponse().fail().message("当前状态不是进行中");
        }
        mallMemberAuth.setStatus(3);
        mallMemberAuthMapper.updateById(mallMemberAuth);
        return new FebsResponse().success();
    }
    private String refererIds(String parentId) {
        boolean flag = false;
        if (StrUtil.isBlank(parentId)) {