| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | private final MallMemberWalletMapper mallMemberWalletMapper; |
| | | |
| | | private final MallMoneyFlowMapper mallMoneyFlowMapper; |
| | | private final IMallMoneyFlowService mallMemberService; |
| | | |
| | | private final MallMemberPaymentMapper mallMemberPaymentMapper; |
| | | |
| | |
| | | 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) { |
| | |
| | | } |
| | | |
| | | 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 |
| | |
| | | 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(); |
| | | } |
| | |
| | | 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)) { |