|  |  |  | 
|---|
|  |  |  | 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.exception.FebsException; | 
|---|
|  |  |  | import cc.mrbird.febs.common.utils.LoginUserUtil; | 
|---|
|  |  |  | import cc.mrbird.febs.common.utils.MallUtils; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.dto.*; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.entity.*; | 
|---|
|  |  |  | 
|---|
|  |  |  | import cc.mrbird.febs.mall.mapper.*; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.service.IAdminMallMemberService; | 
|---|
|  |  |  | 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.MemberWithdrawalDto; | 
|---|
|  |  |  | import cc.mrbird.febs.pay.service.IXcxPayService; | 
|---|
|  |  |  | import cn.hutool.core.collection.CollUtil; | 
|---|
|  |  |  | import cn.hutool.core.util.ObjectUtil; | 
|---|
|  |  |  | import cn.hutool.core.util.StrUtil; | 
|---|
|  |  |  | import cn.hutool.crypto.SecureUtil; | 
|---|
|  |  |  | import com.alibaba.fastjson.JSONObject; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
|---|
|  |  |  | import lombok.RequiredArgsConstructor; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.xmlbeans.impl.store.Query; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | private final IApiMallMemberWalletService iApiMallMemberWalletService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final AppVersionMapper appVersionMapper; | 
|---|
|  |  |  | private final MallMemberWithdrawMapper mallMemberWithdrawMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final MallNewsInfoMapper mallNewsInfoMapper; | 
|---|
|  |  |  | private final MallShopApplyMapper mallShopApplyMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final IMallMoneyFlowService mallMoneyFlowService; | 
|---|
|  |  |  | private final MallTeamLeaderMapper mallTeamLeaderMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final MallAgentRecordMapper mallAgentRecordMapper; | 
|---|
|  |  |  | private final MallSalesmanMapper mallSalesmanMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) { | 
|---|
|  |  |  | Page<MallMember> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<MallMember> mallMembers = this.baseMapper.selectMallMemberListInPage(page, mallMember); | 
|---|
|  |  |  | if(CollUtil.isNotEmpty(mallMembers.getRecords())){ | 
|---|
|  |  |  | for(MallMember mallMemberTeam : mallMembers.getRecords()){ | 
|---|
|  |  |  | Long salesmansId = mallMemberTeam.getSalesmansId(); | 
|---|
|  |  |  | MallSalesman mallSalesman = mallSalesmanMapper.selectById(salesmansId); | 
|---|
|  |  |  | if(ObjectUtil.isNotEmpty(mallSalesman)){ | 
|---|
|  |  |  | StringBuffer salesmanName = new StringBuffer(); | 
|---|
|  |  |  | salesmanName.append(mallSalesman.getName()); | 
|---|
|  |  |  | if(2 == mallSalesman.getState()){ | 
|---|
|  |  |  | salesmanName.append("(禁用)"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallMemberTeam.setSalesmansName(salesmanName.toString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return mallMembers; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE); | 
|---|
|  |  |  | mallMemberMapper.updateById(mallMember); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void changeIdentity(Integer type, Long id, Integer value) { | 
|---|
|  |  |  | MallMember mallMember = mallMemberMapper.selectById(id); | 
|---|
|  |  |  | if(mallMember == null) { | 
|---|
|  |  |  | throw new FebsException("参数错误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (type == 1) { | 
|---|
|  |  |  | mallMember.setDirector(value); | 
|---|
|  |  |  | } else if (type == 2){ | 
|---|
|  |  |  | mallMember.setStoreMaster(value); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | throw new FebsException("参数错误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.baseMapper.updateById(mallMember); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 
|---|
|  |  |  | return adminMoneyChargeListVos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final IXcxPayService iXcxPayService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public FebsResponse chargeAgree(Long id) { | 
|---|
|  |  |  | MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallMoneyFlow)){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallMemberWithdraw)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(1 != mallMoneyFlow.getStatus()){ | 
|---|
|  |  |  | if(1 != mallMemberWithdraw.getStatus()){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("当前状态不是提现中"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | QueryWrapper<MallMoneyFlow> objectQueryWrapper = new QueryWrapper<>(); | 
|---|
|  |  |  | objectQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); | 
|---|
|  |  |  | objectQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue()); | 
|---|
|  |  |  | MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(objectQueryWrapper); | 
|---|
|  |  |  | Long memberId = mallMemberWithdraw.getMemberId(); | 
|---|
|  |  |  | MallMember mallMember = mallMemberMapper.selectById(memberId); | 
|---|
|  |  |  | MemberWithdrawalDto memberWithdrawalDto = new MemberWithdrawalDto(); | 
|---|
|  |  |  | memberWithdrawalDto.setDesc("余额提现"); | 
|---|
|  |  |  | memberWithdrawalDto.setOpenid(mallMember.getOpenId()); | 
|---|
|  |  |  | memberWithdrawalDto.setTotalFee(mallMemberWithdraw.getAmount()); | 
|---|
|  |  |  | memberWithdrawalDto.setOutTradeNo(mallMoneyFlow.getOrderNo()); | 
|---|
|  |  |  | Boolean aBoolean = iXcxPayService.memberWithdrawal(memberWithdrawalDto); | 
|---|
|  |  |  | if(!aBoolean){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("微信提现失败,请查看微信商户状态"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallMemberWithdraw.setStatus(2); | 
|---|
|  |  |  | mallMemberWithdrawMapper.updateById(mallMemberWithdraw); | 
|---|
|  |  |  | mallMoneyFlow.setStatus(2); | 
|---|
|  |  |  | mallMoneyFlowMapper.updateById(mallMoneyFlow); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public FebsResponse chargeDisagree(Long id) { | 
|---|
|  |  |  | MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallMoneyFlow)){ | 
|---|
|  |  |  | MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallMemberWithdraw)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(1 != mallMoneyFlow.getStatus()){ | 
|---|
|  |  |  | if(1 != mallMemberWithdraw.getStatus()){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("当前状态不是提现中"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public AdminMallMemberPaymentVo getMallMemberPaymentInfoByFlowId(long id) { | 
|---|
|  |  |  | AdminMallMemberPaymentVo adminMallMemberPaymentVo = new AdminMallMemberPaymentVo(); | 
|---|
|  |  |  | MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); | 
|---|
|  |  |  | AdminMallMemberPaymentVo adminMallMemberPaymentVoa = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallMoneyFlow.getMemberId()); | 
|---|
|  |  |  | MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); | 
|---|
|  |  |  | AdminMallMemberPaymentVo adminMallMemberPaymentVoa = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallMemberWithdraw.getMemberId()); | 
|---|
|  |  |  | if(ObjectUtil.isNotEmpty(adminMallMemberPaymentVoa)){ | 
|---|
|  |  |  | adminMallMemberPaymentVo = adminMallMemberPaymentVoa; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public AdminAgentLevelUpdateInfoVo getAgentLevelUpdateInfoById(long id) { | 
|---|
|  |  |  | AdminAgentLevelUpdateInfoVo adminAgentLevelUpdateInfoVo = new AdminAgentLevelUpdateInfoVo(); | 
|---|
|  |  |  | DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id); | 
|---|
|  |  |  | String value = dataDictionaryCustom.getValue(); | 
|---|
|  |  |  | //{"directIncome":36,"lastCnt":3,"orderCnt":500,"orderType":2,"teamIncome":6,"teamIncomeType":2} | 
|---|
|  |  |  | JSONObject jsonObject = JSONObject.parseObject(value); | 
|---|
|  |  |  | adminAgentLevelUpdateInfoVo.setDirectIncome(new BigDecimal((jsonObject.get("directIncome")==null?0:jsonObject.get("directIncome")).toString())); | 
|---|
|  |  |  | adminAgentLevelUpdateInfoVo.setLastCnt(Integer.parseInt((jsonObject.get("lastCnt")==null?0:jsonObject.get("lastCnt")).toString())); | 
|---|
|  |  |  | adminAgentLevelUpdateInfoVo.setOrderCnt(Integer.parseInt((jsonObject.get("orderCnt")==null?0:jsonObject.get("orderCnt")).toString())); | 
|---|
|  |  |  | adminAgentLevelUpdateInfoVo.setOrderType(Integer.parseInt(jsonObject.get("orderType").toString())); | 
|---|
|  |  |  | adminAgentLevelUpdateInfoVo.setTeamIncome(new BigDecimal((jsonObject.get("teamIncome")==null?0:jsonObject.get("teamIncome")).toString())); | 
|---|
|  |  |  | adminAgentLevelUpdateInfoVo.setTeamIncomeType(Integer.parseInt(jsonObject.get("orderType").toString())); | 
|---|
|  |  |  | AdminAgentLevelUpdateInfoVo adminAgentLevelUpdateInfoVo = JSONObject.parseObject(value, AdminAgentLevelUpdateInfoVo.class); | 
|---|
|  |  |  | adminAgentLevelUpdateInfoVo.setId(id); | 
|---|
|  |  |  | return adminAgentLevelUpdateInfoVo; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse agentLevelUpdate(AgentLevelUpdateDto agentLevelUpdateDto) { | 
|---|
|  |  |  | DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(agentLevelUpdateDto.getId()); | 
|---|
|  |  |  | AgentLevelUpdateDto agentLevelUpdateDtoJson = new AgentLevelUpdateDto(); | 
|---|
|  |  |  | agentLevelUpdateDtoJson.setDirectIncome(agentLevelUpdateDto.getDirectIncome()); | 
|---|
|  |  |  | agentLevelUpdateDtoJson.setLastCnt(agentLevelUpdateDto.getLastCnt()); | 
|---|
|  |  |  | agentLevelUpdateDtoJson.setOrderCnt(agentLevelUpdateDto.getOrderCnt()); | 
|---|
|  |  |  | agentLevelUpdateDtoJson.setTeamIncome(agentLevelUpdateDto.getTeamIncome()); | 
|---|
|  |  |  | agentLevelUpdateDtoJson.setOrderType(agentLevelUpdateDto.getOrderType()); | 
|---|
|  |  |  | agentLevelUpdateDtoJson.setTeamIncomeType(agentLevelUpdateDto.getTeamIncomeType()); | 
|---|
|  |  |  | JSONObject jsonObject = (JSONObject)JSONObject.toJSON(agentLevelUpdateDtoJson); | 
|---|
|  |  |  | dataDictionaryCustom.setValue(jsonObject.toString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | agentLevelUpdateDto.setId(null); | 
|---|
|  |  |  | dataDictionaryCustom.setValue(JSONObject.toJSONString(agentLevelUpdateDto)); | 
|---|
|  |  |  | dataDictionaryCustomMapper.updateById(dataDictionaryCustom); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public MallNewsInfo getNewsInfoById(long id) { | 
|---|
|  |  |  | return mallNewsInfoMapper.selectById(id); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<AdminMallNewsInfoVo> getNewInfoList(MallNewsInfo mallNewsInfo, QueryRequest request) { | 
|---|
|  |  |  | Page<AdminMallNewsInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<AdminMallNewsInfoVo> adminMallNewsInfoVos = mallNewsInfoMapper.getNewInfoListInPage(page, mallNewsInfo); | 
|---|
|  |  |  | return adminMallNewsInfoVos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse addNewsInfo(MallNewsInfoDto mallNewsInfoDto) { | 
|---|
|  |  |  | Integer type = mallNewsInfoDto.getType(); | 
|---|
|  |  |  | if(type == 2){ | 
|---|
|  |  |  | Long goodsId = mallNewsInfoDto.getGoodsId()==null?0L:mallNewsInfoDto.getGoodsId(); | 
|---|
|  |  |  | if(goodsId == 0L){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("请选择跳转的产品"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | MallNewsInfo mallNewsInfo = new MallNewsInfo(); | 
|---|
|  |  |  | mallNewsInfo.setTitle(mallNewsInfoDto.getTitle()); | 
|---|
|  |  |  | mallNewsInfo.setContent(mallNewsInfoDto.getContent()); | 
|---|
|  |  |  | mallNewsInfo.setType(mallNewsInfoDto.getType()); | 
|---|
|  |  |  | if(mallNewsInfoDto.getType() == 2){ | 
|---|
|  |  |  | mallNewsInfo.setTargetId(mallNewsInfoDto.getGoodsId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallNewsInfoMapper.insert(mallNewsInfo); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse delNewsInfo(Long id) { | 
|---|
|  |  |  | MallNewsInfo mallNewsInfo = mallNewsInfoMapper.selectById(id); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallNewsInfo)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallNewsInfoMapper.deleteById(id); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse updateNewsInfo(MallNewsInfoDto mallNewsInfoDto) { | 
|---|
|  |  |  | MallNewsInfo mallNewsInfoBefore = mallNewsInfoMapper.selectById(mallNewsInfoDto.getId()); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallNewsInfoBefore)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Integer type = mallNewsInfoDto.getType(); | 
|---|
|  |  |  | if(type == 2){ | 
|---|
|  |  |  | Long goodsId = mallNewsInfoDto.getGoodsId()==null?0L:mallNewsInfoDto.getGoodsId(); | 
|---|
|  |  |  | if(goodsId == 0L){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("请选择跳转的产品"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | MallNewsInfo mallNewsInfo = new MallNewsInfo(); | 
|---|
|  |  |  | mallNewsInfo.setTitle(mallNewsInfoDto.getTitle()); | 
|---|
|  |  |  | mallNewsInfo.setContent(mallNewsInfoDto.getContent()); | 
|---|
|  |  |  | mallNewsInfo.setType(mallNewsInfoDto.getType()); | 
|---|
|  |  |  | if(mallNewsInfoDto.getType() == 2){ | 
|---|
|  |  |  | mallNewsInfo.setTargetId(mallNewsInfoDto.getGoodsId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallNewsInfoMapper.insert(mallNewsInfo); | 
|---|
|  |  |  | mallNewsInfoMapper.deleteById(mallNewsInfoDto.getId()); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public FebsResponse updateSystemPay(MallSystemPayDto mallSystemPayDto) { | 
|---|
|  |  |  | Long memberId = mallSystemPayDto.getId(); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | BigDecimal bigDecimal = mallSystemPayDto.getAddBalance(); | 
|---|
|  |  |  | boolean isReduce = false; | 
|---|
|  |  |  | if(bigDecimal.compareTo(BigDecimal.ZERO) <= 0){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("拨付数目需要大于0"); | 
|---|
|  |  |  | isReduce = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); | 
|---|
|  |  |  | mallMemberWallet.setBalance(mallMemberWallet.getBalance().add(bigDecimal)); | 
|---|
|  |  |  | mallMemberWalletMapper.updateBalanceWithId(mallMemberWallet); | 
|---|
|  |  |  | Integer type = mallSystemPayDto.getType(); | 
|---|
|  |  |  | String filedType = ""; | 
|---|
|  |  |  | if (type == 1) { | 
|---|
|  |  |  | filedType = "balance"; | 
|---|
|  |  |  | } else if (type == 2) { | 
|---|
|  |  |  | filedType = "score"; | 
|---|
|  |  |  | } else if (type == 3) { | 
|---|
|  |  |  | filedType = "prizeScore"; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | throw new FebsException("参数错误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MallMoneyFlow flow = new MallMoneyFlow(); | 
|---|
|  |  |  | flow.setMemberId(memberId); | 
|---|
|  |  |  | flow.setAmount(bigDecimal); | 
|---|
|  |  |  | flow.setType(MoneyFlowTypeEnum.SYSTEM_PAY.getValue()); | 
|---|
|  |  |  | flow.setOrderNo("SYS"+MallUtils.getOrderNum()); | 
|---|
|  |  |  | flow.setStatus(2); | 
|---|
|  |  |  | mallMoneyFlowMapper.insert(flow); | 
|---|
|  |  |  | if (isReduce) { | 
|---|
|  |  |  | int i = iApiMallMemberWalletService.reduce(mallSystemPayDto.getAddBalance().negate(), mallSystemPayDto.getId(), filedType); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (i == 2) { | 
|---|
|  |  |  | throw new FebsException("剩余数量不足"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, type); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | this.baseMapper.updateById(mallMember); | 
|---|
|  |  |  | return new FebsResponse().success().message("重置成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void resetPwd(String ids, Integer type) { | 
|---|
|  |  |  | if (StrUtil.isEmpty(ids)) { | 
|---|
|  |  |  | throw new FebsException("参数错误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<String> idList = StrUtil.split(ids, ','); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (String s : idList) { | 
|---|
|  |  |  | Long id = Long.parseLong(s); | 
|---|
|  |  |  | MallMember member = new MallMember(); | 
|---|
|  |  |  | member.setId(id); | 
|---|
|  |  |  | member.setCreatedTime(null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 重置交易密码 | 
|---|
|  |  |  | if (type == 1) { | 
|---|
|  |  |  | String payPwd = SecureUtil.md5("654321"); | 
|---|
|  |  |  | member.setTradePassword(payPwd); | 
|---|
|  |  |  | // 重置登录密码 | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | String pwd = SecureUtil.md5("a123456"); | 
|---|
|  |  |  | member.setPassword(pwd); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.baseMapper.updateById(member); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<MallDataVo> getMallDataList(MallMember mallMember, QueryRequest request) { | 
|---|
|  |  |  | Page<MallDataVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<MallDataVo> mallDataVos = this.baseMapper.getMallDataListInPage(page, mallMember); | 
|---|
|  |  |  | return mallDataVos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<MallShopApply> findShopApplyListInPage(MallShopApply mallShopApply, QueryRequest request) { | 
|---|
|  |  |  | Page<MallShopApply> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return mallShopApplyMapper.selectShopApplyInPage(mallShopApply, page); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public MallShopApply findShopApplyById(Long id) { | 
|---|
|  |  |  | return mallShopApplyMapper.selectById(id); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void applyCheckAgree(Long id) { | 
|---|
|  |  |  | MallShopApply apply = mallShopApplyMapper.selectById(id); | 
|---|
|  |  |  | if (!MallShopApply.APPLY_ING.equals(apply.getStatus())) { | 
|---|
|  |  |  | throw new FebsException("申请已审核, 请勿重复操作"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MallMember member = mallMemberMapper.selectById(apply.getMemberId()); | 
|---|
|  |  |  | member.setStoreMaster(1); | 
|---|
|  |  |  | mallMemberMapper.updateById(member); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | apply.setStatus(MallShopApply.APPLY_AGREE); | 
|---|
|  |  |  | mallShopApplyMapper.updateById(apply); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void applyCheckDisAgree(Long id) { | 
|---|
|  |  |  | MallShopApply apply = mallShopApplyMapper.selectById(id); | 
|---|
|  |  |  | if (!MallShopApply.APPLY_ING.equals(apply.getStatus())) { | 
|---|
|  |  |  | throw new FebsException("申请已审核, 请勿重复操作"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | apply.setStatus(MallShopApply.APPLY_DISAGREE); | 
|---|
|  |  |  | mallShopApplyMapper.updateById(apply); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public FebsResponse updateMemberInfo(MallUpdateMemberInfoDto mallUpdateMemberInfoDto) { | 
|---|
|  |  |  | Long memberId = mallUpdateMemberInfoDto.getId(); | 
|---|
|  |  |  | MallMember mallMember = mallMemberMapper.selectById(memberId); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallMember)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String phone = mallUpdateMemberInfoDto.getPhone(); | 
|---|
|  |  |  | if(StrUtil.isEmpty(phone)){ | 
|---|
|  |  |  | throw new FebsException("请输入手机号码"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!phone.equals(mallMember.getPhone())){ | 
|---|
|  |  |  | QueryWrapper<MallMember> objectQueryWrapper = new QueryWrapper<>(); | 
|---|
|  |  |  | objectQueryWrapper.eq("phone",phone); | 
|---|
|  |  |  | List<MallMember> mallMembers = this.baseMapper.selectList(objectQueryWrapper); | 
|---|
|  |  |  | if(CollUtil.isNotEmpty(mallMembers)){ | 
|---|
|  |  |  | throw new FebsException("手机号码已绑定过账号"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallMember.setPhone(phone); | 
|---|
|  |  |  | mallMember.setBindPhone(phone); | 
|---|
|  |  |  | mallMember.setLevel(mallUpdateMemberInfoDto.getLevelCode()); | 
|---|
|  |  |  | mallMemberMapper.updateById(mallMember); | 
|---|
|  |  |  | if(mallUpdateMemberInfoDto.getBalance() == null){ | 
|---|
|  |  |  | throw new FebsException("请输入正确的余额"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(mallUpdateMemberInfoDto.getScore() == null){ | 
|---|
|  |  |  | throw new FebsException("请输入正确的赠送积分"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(mallUpdateMemberInfoDto.getPrizeScore() == null){ | 
|---|
|  |  |  | throw new FebsException("请输入正确的竞猜积分"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | BigDecimal balance = mallUpdateMemberInfoDto.getBalance(); | 
|---|
|  |  |  | if(BigDecimal.ZERO.compareTo(balance) > 0){ | 
|---|
|  |  |  | throw new FebsException("请输入正确的余额"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | BigDecimal score = mallUpdateMemberInfoDto.getScore(); | 
|---|
|  |  |  | if(BigDecimal.ZERO.compareTo(score) > 0){ | 
|---|
|  |  |  | throw new FebsException("请输入正确的赠送积分"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | BigDecimal prizeScore = mallUpdateMemberInfoDto.getPrizeScore(); | 
|---|
|  |  |  | if(BigDecimal.ZERO.compareTo(prizeScore) > 0){ | 
|---|
|  |  |  | throw new FebsException("请输入正确的竞猜积分"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); | 
|---|
|  |  |  | mallMemberWallet.setBalance(balance); | 
|---|
|  |  |  | mallMemberWallet.setScore(score); | 
|---|
|  |  |  | mallMemberWallet.setPrizeScore(prizeScore); | 
|---|
|  |  |  | mallMemberWalletMapper.updateById(mallMemberWallet); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public MallMember findByInviteId(String inviteId) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return this.baseMapper.selectInfoByInviteId(inviteId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = Exception.class) | 
|---|
|  |  |  | public void modifyReferer(MallMember member) { | 
|---|
|  |  |  | MallMember referer = this.baseMapper.selectInfoByInviteId(member.getReferrerId()); | 
|---|
|  |  |  | if (referer == null) { | 
|---|
|  |  |  | throw new FebsException("推荐人不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String refererId = member.getReferrerId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | member = this.baseMapper.selectById(member.getId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String beforeReferer = member.getReferrerId(); | 
|---|
|  |  |  | member.setReferrerId(refererId); | 
|---|
|  |  |  | String refererIds = refererIds(refererId); | 
|---|
|  |  |  | member.setReferrerIds(refererIds); | 
|---|
|  |  |  | this.baseMapper.updateById(member); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<MallMember> childs = this.baseMapper.selectByRefererId(member.getInviteId()); | 
|---|
|  |  |  | if (CollUtil.isEmpty(childs)) { | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (MallMember child : childs) { | 
|---|
|  |  |  | child.setReferrerIds(member.getInviteId() + "," + refererIds); | 
|---|
|  |  |  | this.baseMapper.updateById(child); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<MallAgentRecord> getAgentApplyList(MallAgentRecord mallAgentRecord, QueryRequest request) { | 
|---|
|  |  |  | Page<MallAgentRecord> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<MallAgentRecord> mallAgentRecords = mallAgentRecordMapper.selectMallAgentRecordListInPage(page, mallAgentRecord); | 
|---|
|  |  |  | return mallAgentRecords; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public FebsResponse agreeAgentApply(Long id) { | 
|---|
|  |  |  | MallAgentRecord mallAgentRecord = mallAgentRecordMapper.selectById(id); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallAgentRecord)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("申请记录不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallAgentRecord.setState(MallAgentRecord.APPLY_AGREE); | 
|---|
|  |  |  | mallAgentRecordMapper.updateById(mallAgentRecord); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //更新用户表中的LEVEL | 
|---|
|  |  |  | MallMember mallMember = this.baseMapper.selectById(mallAgentRecord.getMemberId()); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallMember)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("用户不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); | 
|---|
|  |  |  | this.baseMapper.updateById(mallMember); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public FebsResponse disagreeAgentApply(Long id) { | 
|---|
|  |  |  | MallAgentRecord mallAgentRecord = mallAgentRecordMapper.selectById(id); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallAgentRecord)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("申请记录不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallAgentRecord.setState(MallAgentRecord.APPLY_DISAGREE); | 
|---|
|  |  |  | mallAgentRecordMapper.updateById(mallAgentRecord); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<MallSalesman> getMallSalesmanListInPage(MallSalesman mallSalesman, QueryRequest request) { | 
|---|
|  |  |  | Page<MallSalesman> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | return mallSalesmanMapper.selectMallSalesmanListInPage(page, mallSalesman); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse addSalesman(MallSalesman mallSalesman) { | 
|---|
|  |  |  | mallSalesmanMapper.insert(mallSalesman); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse salesmanDel(Long id) { | 
|---|
|  |  |  | MallSalesman mallSalesman = mallSalesmanMapper.selectById(id); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallSalesman)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("推销员不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallSalesman.setState(2); | 
|---|
|  |  |  | mallSalesmanMapper.updateById(mallSalesman); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse salesmanUpdate(MallSalesman mallSalesman) { | 
|---|
|  |  |  | MallSalesman mallSalesmanNow = mallSalesmanMapper.selectById(mallSalesman.getId()); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallSalesmanNow)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("推销员不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallSalesmanMapper.updateById(mallSalesman); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse salesmanUse(Long id) { | 
|---|
|  |  |  | MallSalesman mallSalesman = mallSalesmanMapper.selectById(id); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallSalesman)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("推销员不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallSalesman.setState(1); | 
|---|
|  |  |  | mallSalesmanMapper.updateById(mallSalesman); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<AdminMallSalesmansTreeVo> getSalesmansTree() { | 
|---|
|  |  |  | List<AdminMallSalesmansTreeVo> adminMallSalesmansTreeVos = mallSalesmanMapper.selectTreeByState(1); | 
|---|
|  |  |  | return adminMallSalesmansTreeVos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse memberUpdateSalesman(MallMember mallmember) { | 
|---|
|  |  |  | MallMember mallMemberNow = mallMemberMapper.selectById(mallmember.getId()); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallMemberNow)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("用户不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallMemberNow.setSalesmansId(mallmember.getSalesmansId()); | 
|---|
|  |  |  | mallMemberMapper.updateById(mallMemberNow); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<AdminMallAddressInfoVo> getAddressAmountList(MallAddressInfo mallAddressInfo, QueryRequest request) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Page<AdminMallAddressInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<AdminMallAddressInfoVo> adminMallAddressInfoVoIPage = mallSalesmanMapper.selectAddressAmountListInPage(page, mallAddressInfo); | 
|---|
|  |  |  | List<AdminMallAddressInfoVo> records = adminMallAddressInfoVoIPage.getRecords(); | 
|---|
|  |  |  | if(CollUtil.isNotEmpty(records)){ | 
|---|
|  |  |  | for(AdminMallAddressInfoVo adminMallAddressInfoVo : records){ | 
|---|
|  |  |  | String province = adminMallAddressInfoVo.getProvince(); | 
|---|
|  |  |  | String city = adminMallAddressInfoVo.getCity(); | 
|---|
|  |  |  | BigDecimal sumAmount = mallSalesmanMapper.selectSumOrderAmountByProvinceAndCity(province,city); | 
|---|
|  |  |  | adminMallAddressInfoVo.setAmount(sumAmount); | 
|---|
|  |  |  | Integer orderCnt = mallSalesmanMapper.selectSumOrderCntByProvinceAndCity(province,city); | 
|---|
|  |  |  | adminMallAddressInfoVo.setOrderCnt(orderCnt); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return adminMallAddressInfoVoIPage; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<AdminMallAddressInfoVo> getAddressTree() { | 
|---|
|  |  |  | return mallSalesmanMapper.selectProvince(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<AdminSalesmanAchieveVo> getSalesmanAchieveList(MallSalesman mallSalesman, QueryRequest request) { | 
|---|
|  |  |  | Page<AdminSalesmanAchieveVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<AdminSalesmanAchieveVo> adminSalesmanAchieveVoIPage = mallSalesmanMapper.selectSalesmanAchieveListInPage(page, mallSalesman); | 
|---|
|  |  |  | List<AdminSalesmanAchieveVo> records = adminSalesmanAchieveVoIPage.getRecords(); | 
|---|
|  |  |  | if(CollUtil.isNotEmpty(records)){ | 
|---|
|  |  |  | for(AdminSalesmanAchieveVo adminSalesmanAchieveVo : records){ | 
|---|
|  |  |  | Long salesmanId = adminSalesmanAchieveVo.getSalesmanId(); | 
|---|
|  |  |  | List<AdminMemberOrderVo> adminMemberOrderVos = mallSalesmanMapper.selectAdminMemberOrderVoBySalesmanId(salesmanId); | 
|---|
|  |  |  | adminSalesmanAchieveVo.setOrderCnt(adminMemberOrderVos.size()); | 
|---|
|  |  |  | adminSalesmanAchieveVo.setAdminMemberOrderVos(adminMemberOrderVos); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return adminSalesmanAchieveVoIPage; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<AdminSalesmanAchieveVo> getSalesmanAchieveTree() { | 
|---|
|  |  |  | return mallSalesmanMapper.selectSalesmanAchieveProvince(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private String refererIds(String parentId) { | 
|---|
|  |  |  | boolean flag = false; | 
|---|
|  |  |  | if (StrUtil.isBlank(parentId)) { | 
|---|
|  |  |  | flag = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String ids = ""; | 
|---|
|  |  |  | while (!flag) { | 
|---|
|  |  |  | if (StrUtil.isBlank(ids)) { | 
|---|
|  |  |  | ids += parentId; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | ids += ("," + parentId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | MallMember parentMember = this.baseMapper.selectInfoByInviteId(parentId); | 
|---|
|  |  |  | if (parentMember == null) { | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | parentId = parentMember.getReferrerId(); | 
|---|
|  |  |  | if (StrUtil.isBlank(parentMember.getReferrerId())) { | 
|---|
|  |  |  | flag = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ids; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|