|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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.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; | 
|---|
|  |  |  | 
|---|
|  |  |  | return new FebsResponse().fail().message("当前状态不是提现中"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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("提现失败,请联系技术人员"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId(); | 
|---|
|  |  |  | //        MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId); | 
|---|
|  |  |  | //        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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | if(CollUtil.isNotEmpty(records)){ | 
|---|
|  |  |  | for(AdminAgentVo adminAgentVo : records){ | 
|---|
|  |  |  | String inviteId = adminAgentVo.getInviteId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //直接下级 | 
|---|
|  |  |  | List<MallMember> mallMembers = mallMemberMapper.selectChildAgentListByInviteId(inviteId); | 
|---|
|  |  |  | adminAgentVo.setMemberNum(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size()); | 
|---|
|  |  |  | 
|---|
|  |  |  | //获取总数 | 
|---|
|  |  |  | List<MallMember> allMallMembers =mallMemberMapper.selectAllChildAgentListByInviteId(inviteId); | 
|---|
|  |  |  | adminAgentVo.setAllMemberNum(CollUtil.isEmpty(allMallMembers) ? 0 : allMallMembers.size()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //团队业绩 | 
|---|
|  |  |  | BigDecimal amount = BigDecimal.ZERO; | 
|---|
|  |  |  | if(CollUtil.isNotEmpty(allMallMembers)){ | 
|---|
|  |  |  | for(MallMember teamMember : allMallMembers){ | 
|---|
|  |  |  | Long memberId = teamMember.getId(); | 
|---|
|  |  |  | BigDecimal sumAmount = mallMemberMapper.getSumAmountByMemberId(memberId); | 
|---|
|  |  |  | amount = amount.add(sumAmount); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | adminAgentVo.setAmount(amount); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return adminAgentVos; | 
|---|
|  |  |  | 
|---|
|  |  |  | List<AdminAgentMemberVo> records = adminAgentMemberVos.getRecords(); | 
|---|
|  |  |  | if(CollUtil.isNotEmpty(records)){ | 
|---|
|  |  |  | for(AdminAgentMemberVo agentMemberVo : records){ | 
|---|
|  |  |  | String inviteId = agentMemberVo.getInviteId(); | 
|---|
|  |  |  | BigDecimal amount = mallMemberMapper.getAgentTeamAmountByInviteId(inviteId); | 
|---|
|  |  |  | Long agentMemberVoId = agentMemberVo.getId(); | 
|---|
|  |  |  | BigDecimal amount = mallMemberMapper.getSumAmountByMemberId(agentMemberVoId); | 
|---|
|  |  |  | agentMemberVo.setAmount(amount); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallMember)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallMember.setLevel(agentLevelSetUpdateDto.getLevelCode()); | 
|---|
|  |  |  | mallMemberMapper.updateById(mallMember); | 
|---|
|  |  |  | String levelCode = agentLevelSetUpdateDto.getLevelCode(); | 
|---|
|  |  |  | String nameByCode = MemberAgentLevelEnum.AGENT.getNameByCode(levelCode); | 
|---|
|  |  |  | mallMemberMapper.updateLevelStatusById(1,memberId); | 
|---|
|  |  |  | mallMemberMapper.updateLevelById(nameByCode,memberId); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | mallShopApplyMapper.updateById(mallShopApply); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public AdminMallMemberPaymentVo getMallBankInfoById(long id) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); | 
|---|
|  |  |  | Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId(); | 
|---|
|  |  |  | MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId); | 
|---|
|  |  |  | AdminMallMemberPaymentVo adminMallMemberPaymentVo = new AdminMallMemberPaymentVo(); | 
|---|
|  |  |  | if(ObjectUtil.isNotEmpty(mallMemberBank)){ | 
|---|
|  |  |  | adminMallMemberPaymentVo.setBankNo(mallMemberBank.getBankNo()); | 
|---|
|  |  |  | adminMallMemberPaymentVo.setBankName(mallMemberBank.getName()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return adminMallMemberPaymentVo; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<MemberCoinChargeEntity> getChargeList(MemberCoinChargeEntity memberCoinChargeEntity, QueryRequest request) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<MemberCoinChargeEntity> memberCoinChargeEntityIPage = this.baseMapper.selectMemberChargeListInPage(page, memberCoinChargeEntity); | 
|---|
|  |  |  | return memberCoinChargeEntityIPage; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private String refererIds(String parentId) { | 
|---|
|  |  |  | boolean flag = false; | 
|---|
|  |  |  | if (StrUtil.isBlank(parentId)) { | 
|---|