| | |
| | | |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.enumerates.AgentLevelEnum; |
| | | import cc.mrbird.febs.common.enumerates.FlowTypeEnum; |
| | | import cc.mrbird.febs.common.enumerates.MemberAgentLevelEnum; |
| | | import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; |
| | | import cc.mrbird.febs.common.enumerates.*; |
| | | import cc.mrbird.febs.common.exception.FebsException; |
| | | import cc.mrbird.febs.common.utils.LoginUserUtil; |
| | | import cc.mrbird.febs.common.utils.MallUtils; |
| | |
| | | |
| | | 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("提现失败,请稍后查看错误信息一览"); |
| | | if(ObjectUtil.isEmpty(mallMemberBank)){ |
| | | return new FebsResponse().fail().message("提现地址不存在"); |
| | | } |
| | | |
| | | //更新提现记录状态为成功 |
| | | mallMemberWithdrawMapper.updateStatusById(2,mallMemberWithdraw.getId()); |
| | | //更新提现流水记录为成功 |
| | | String withdrawNo = mallMemberWithdraw.getWithdrawNo(); |
| | | MallMoneyFlow withdrawMoneyFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn( |
| | | mallMemberWithdraw.getMemberId(), |
| | | withdrawNo, |
| | | MallMoneyFlowTypeEnum.WITHDRAW.getCode(), |
| | | MallMoneyFlow.STATUS_ING, |
| | | MallMoneyFlow.IS_RETURN_Y |
| | | ); |
| | | withdrawMoneyFlow.setStatus(MallMoneyFlow.STATUS_SUCCESS); |
| | | mallMoneyFlowMapper.updateById(withdrawMoneyFlow); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | |
| | | if(1 != mallMemberWithdraw.getStatus()){ |
| | | return new FebsResponse().fail().message("当前状态不是提现中"); |
| | | } |
| | | //更新提现记录状态为失败 |
| | | mallMemberWithdrawMapper.updateStatusById(3,mallMemberWithdraw.getId()); |
| | | //更新提现流水记录为成功 |
| | | String withdrawNo = mallMemberWithdraw.getWithdrawNo(); |
| | | MallMoneyFlow withdrawMoneyFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn( |
| | | mallMemberWithdraw.getMemberId(), |
| | | withdrawNo, |
| | | MallMoneyFlowTypeEnum.WITHDRAW.getCode(), |
| | | MallMoneyFlow.STATUS_ING, |
| | | MallMoneyFlow.IS_RETURN_Y |
| | | ); |
| | | withdrawMoneyFlow.setStatus(MallMoneyFlow.STATUS_FAIL); |
| | | mallMoneyFlowMapper.updateById(withdrawMoneyFlow); |
| | | |
| | | 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); |
| | | |
| | | //用户佣金增加对应的余额 |
| | | iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"commission"); |
| | | //用户余额增加对应的余额 |
| | | iApiMallMemberWalletService.addBalance(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId()); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | |
| | | } else { |
| | | iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType); |
| | | } |
| | | mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, type); |
| | | |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | memberId, |
| | | null, |
| | | bigDecimal, |
| | | MallMoneyFlowTypeEnum.SYSTEM_CHARGE.getCode(), |
| | | MallMoneyFlow.STATUS_SUCCESS, |
| | | MallMoneyFlow.IS_RETURN_Y, |
| | | memberId, |
| | | FlowTypeEnum.BALANCE.getValue(), |
| | | MallMoneyFlowTypeEnum.SYSTEM_CHARGE.getName() |
| | | ); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @Override |
| | | public AdminAgentLevelSetInfoVo getAgentLevelSetInfoByMemberId(long id) { |
| | | AdminAgentLevelSetInfoVo adminAgentLevelSetInfoVo = mallMemberMapper.getAgentLevelSetInfoByMemberId(id); |
| | | AdminAgentLevelSetInfoVo adminAgentLevelSetInfoVo = new AdminAgentLevelSetInfoVo(); |
| | | AdminAgentLevelSetInfoVo adminAgentLevelSetInfo = mallMemberMapper.getAgentLevelSetInfoByMemberId(id); |
| | | if(ObjectUtil.isEmpty(adminAgentLevelSetInfo)){ |
| | | adminAgentLevelSetInfoVo.setId(id); |
| | | adminAgentLevelSetInfoVo.setLevelCode(MemberAgentLevelEnum.AGENT.getCodeByName(MemberAgentLevelEnum.AGENT.getName())); |
| | | }else{ |
| | | adminAgentLevelSetInfoVo.setId(id); |
| | | adminAgentLevelSetInfoVo.setLevelCode(MemberAgentLevelEnum.AGENT.getCodeByName(adminAgentLevelSetInfo.getLevelCode())); |
| | | } |
| | | return adminAgentLevelSetInfoVo; |
| | | } |
| | | |
| | |
| | | } |
| | | String levelCode = agentLevelSetUpdateDto.getLevelCode(); |
| | | String nameByCode = MemberAgentLevelEnum.AGENT.getNameByCode(levelCode); |
| | | mallMember.setLevel(nameByCode); |
| | | mallMember.setLevelStatus(1); |
| | | mallMemberMapper.updateById(mallMember); |
| | | mallMemberMapper.updateLevelStatusById(1,memberId); |
| | | mallMemberMapper.updateLevelById(nameByCode,memberId); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |