|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import cc.mrbird.febs.common.entity.FebsResponse; | 
|---|
|  |  |  | import cc.mrbird.febs.common.entity.QueryRequest; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.dto.MoneyChargeListDto; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.dto.MoneyFlowListDto; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.entity.MallMember; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.entity.MallMoneyFlow; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.mapper.MallMemberMapper; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.mapper.MallMemberPaymentMapper; | 
|---|
|  |  |  | import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper; | 
|---|
|  |  |  | 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.entity.MallNewsInfo; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @author wzy | 
|---|
|  |  |  | 
|---|
|  |  |  | @Slf4j | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | @RequiredArgsConstructor | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public class AdminMallMemberServiceImpl extends ServiceImpl<MallMemberMapper, MallMember> implements IAdminMallMemberService { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final MallMemberMapper mallMemberMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final MallMemberWalletMapper mallMemberWalletMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final MallMoneyFlowMapper mallMoneyFlowMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final MallMemberPaymentMapper mallMemberPaymentMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final DataDictionaryCustomMapper dataDictionaryCustomMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return adminMallMemberPaymentVo; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<AdminAgentVo> getAgentList(AgentDto agentDto, QueryRequest request) { | 
|---|
|  |  |  | Page<AdminAgentVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<AdminAgentVo> adminAgentVos = this.baseMapper.getAgentListInPage(page, agentDto); | 
|---|
|  |  |  | List<AdminAgentVo> records = adminAgentVos.getRecords(); | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return adminAgentVos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<AdminAgentLevelVo> getAgentLevelList(AgentLevelDto agentLevelDto, QueryRequest request) { | 
|---|
|  |  |  | Page<AdminAgentLevelVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<AdminAgentLevelVo> adminAgentVos = this.baseMapper.getAgentLevelListInPage(page, agentLevelDto); | 
|---|
|  |  |  | return adminAgentVos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public AdminAgentLevelUpdateInfoVo getAgentLevelUpdateInfoById(long id) { | 
|---|
|  |  |  | DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id); | 
|---|
|  |  |  | String value = dataDictionaryCustom.getValue(); | 
|---|
|  |  |  | //{"directIncome":36,"lastCnt":3,"orderCnt":500,"orderType":2,"teamIncome":6,"teamIncomeType":2} | 
|---|
|  |  |  | 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.setId(null); | 
|---|
|  |  |  | dataDictionaryCustom.setValue(JSONObject.toJSONString(agentLevelUpdateDto)); | 
|---|
|  |  |  | dataDictionaryCustomMapper.updateById(dataDictionaryCustom); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<AdminAgentLevelOptionTreeVo> getAgentLevelOption() { | 
|---|
|  |  |  | return dataDictionaryCustomMapper.getAgentLevelOption(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<AdminAgentMemberVo> agentChild(QueryRequest request, MallMember mallMember) { | 
|---|
|  |  |  | Long memberId = mallMember.getId(); | 
|---|
|  |  |  | mallMember = mallMemberMapper.selectById(memberId); | 
|---|
|  |  |  | Page<AdminAgentMemberVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<AdminAgentMemberVo> adminAgentMemberVos = this.baseMapper.getAgentChildInPage(page, mallMember); | 
|---|
|  |  |  | List<AdminAgentMemberVo> records = adminAgentMemberVos.getRecords(); | 
|---|
|  |  |  | if(CollUtil.isNotEmpty(records)){ | 
|---|
|  |  |  | for(AdminAgentMemberVo agentMemberVo : records){ | 
|---|
|  |  |  | String inviteId = agentMemberVo.getInviteId(); | 
|---|
|  |  |  | BigDecimal amount = mallMemberMapper.getAgentTeamAmountByInviteId(inviteId); | 
|---|
|  |  |  | agentMemberVo.setAmount(amount); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return adminAgentMemberVos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<AdminRankAwardVo> getRankAwardList(RankAwardDto rankAwardDto, QueryRequest request) { | 
|---|
|  |  |  | Page<AdminRankAwardVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<AdminRankAwardVo> adminRankAwardVos = this.baseMapper.getRankAwardListInPage(page, rankAwardDto); | 
|---|
|  |  |  | return adminRankAwardVos; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public AdminRankAwardUpdateInfoVo getRankAwardUpdateInfoById(long id) { | 
|---|
|  |  |  | AdminRankAwardUpdateInfoVo adminRankAwardUpdateInfoVo = dataDictionaryCustomMapper.getRankAwardUpdateInfoById(id); | 
|---|
|  |  |  | return adminRankAwardUpdateInfoVo; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse rankAwardUpdate(RankAwardUpdateDto rankAwardUpdateDto) { | 
|---|
|  |  |  | DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(rankAwardUpdateDto.getId()); | 
|---|
|  |  |  | dataDictionaryCustom.setValue(rankAwardUpdateDto.getValue()); | 
|---|
|  |  |  | dataDictionaryCustom.setDescription(rankAwardUpdateDto.getDescription()); | 
|---|
|  |  |  | dataDictionaryCustomMapper.updateById(dataDictionaryCustom); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public IPage<AppVersion> getAppVersionList(AppVersion appVersion, QueryRequest request) { | 
|---|
|  |  |  | Page<AppVersion> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|---|
|  |  |  | IPage<AppVersion> appVersions = this.baseMapper.getAppVersionListInPage(page, appVersion); | 
|---|
|  |  |  | return appVersions; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse delCategary(Long id) { | 
|---|
|  |  |  | AppVersion appVersion = appVersionMapper.selectById(id); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(appVersion)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | appVersionMapper.deleteById(id); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse addAppVersion(AppVersion appVersion) { | 
|---|
|  |  |  | appVersion.setCreatetime(new Date()); | 
|---|
|  |  |  | appVersionMapper.insert(appVersion); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public AppVersion getAppVersionInfoById(long id) { | 
|---|
|  |  |  | return appVersionMapper.selectById(id); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse updateAppVersion(AppVersion appVersion) { | 
|---|
|  |  |  | AppVersion appVersionBefore = appVersionMapper.selectById(appVersion.getId()); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(appVersionBefore)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | appVersion.setCreatetime(new Date()); | 
|---|
|  |  |  | appVersionMapper.updateById(appVersion); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse activateAccount(Long id) { | 
|---|
|  |  |  | MallMember mallMember = mallMemberMapper.selectById(id); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallMember)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | String level = mallMember.getLevel(); | 
|---|
|  |  |  | if(StrUtil.isEmpty(level) || !AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("该用户无法激活"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); | 
|---|
|  |  |  | mallMemberMapper.updateById(mallMember); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public FebsResponse updateSystemPay(MallSystemPayDto mallSystemPayDto) { | 
|---|
|  |  |  | Long memberId = mallSystemPayDto.getId(); | 
|---|
|  |  |  | MallMember mallMember = mallMemberMapper.selectById(memberId); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallMember)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | BigDecimal bigDecimal = mallSystemPayDto.getAddBalance(); | 
|---|
|  |  |  | boolean isReduce = false; | 
|---|
|  |  |  | if(bigDecimal.compareTo(BigDecimal.ZERO) <= 0){ | 
|---|
|  |  |  | isReduce = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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("参数错误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public AdminAgentLevelSetInfoVo getAgentLevelSetInfoByMemberId(long id) { | 
|---|
|  |  |  | AdminAgentLevelSetInfoVo adminAgentLevelSetInfoVo = mallMemberMapper.getAgentLevelSetInfoByMemberId(id); | 
|---|
|  |  |  | return adminAgentLevelSetInfoVo; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse agentLevelSetUpdate(AgentLevelSetUpdateDto agentLevelSetUpdateDto) { | 
|---|
|  |  |  | Long memberId = agentLevelSetUpdateDto.getId(); | 
|---|
|  |  |  | MallMember mallMember = mallMemberMapper.selectById(memberId); | 
|---|
|  |  |  | if(ObjectUtil.isEmpty(mallMember)){ | 
|---|
|  |  |  | return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | mallMember.setLevel(agentLevelSetUpdateDto.getLevelCode()); | 
|---|
|  |  |  | mallMemberMapper.updateById(mallMember); | 
|---|
|  |  |  | return new FebsResponse().success(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public FebsResponse resetPwd(Long id) { | 
|---|
|  |  |  | MallMember mallMember = this.baseMapper.selectById(id); | 
|---|
|  |  |  | if (mallMember == null) { | 
|---|
|  |  |  | throw new FebsException("用户不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String pwd = SecureUtil.md5("a123456"); | 
|---|
|  |  |  | mallMember.setPassword(pwd); | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|