| | |
| | | |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.entity.QueryRequest; |
| | | import cc.mrbird.febs.mall.entity.MallMember; |
| | | import cc.mrbird.febs.mall.mapper.MallMemberMapper; |
| | | 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.vo.MallMemberVo; |
| | | 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; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public FebsResponse closeAccount(Long id) { |
| | | MallMember mallMember = mallMemberMapper.selectById(id); |
| | | if(ObjectUtil.isEmpty(mallMember)) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public FebsResponse openAccount(Long id) { |
| | | MallMember mallMember = mallMemberMapper.selectById(id); |
| | | if(ObjectUtil.isEmpty(mallMember)) { |
| | |
| | | } |
| | | |
| | | @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 |
| | | public MallMemberVo getMallMemberInfoById(long id) { |
| | | MallMemberVo mallMemberVo = mallMemberMapper.getMallMemberInfoById(id); |
| | | return mallMemberVo; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<AdminMallMoneyFlowVo> moneyFlow(QueryRequest request, MallMember mallMember) { |
| | | Page<AdminMallMoneyFlowVo> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<AdminMallMoneyFlowVo> adminMallMoneyFlowVos = mallMoneyFlowMapper.selectMoneyFlowInPage(page, mallMember); |
| | | return adminMallMoneyFlowVos; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<AdminMoneyFlowListVo> getMoneyFlowListInPage(MoneyFlowListDto moneyFlowListDto, QueryRequest request) { |
| | | Page<AdminMoneyFlowListVo> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<AdminMoneyFlowListVo> adminMoneyFlowListVos = mallMoneyFlowMapper.getMoneyFlowListInPage(page, moneyFlowListDto); |
| | | return adminMoneyFlowListVos; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<AdminMoneyChargeListVo> getMoneyChargeListInPage(MoneyChargeListDto moneyChargeListDto, QueryRequest request) { |
| | | Page<AdminMoneyChargeListVo> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<AdminMoneyChargeListVo> adminMoneyChargeListVos = mallMoneyFlowMapper.getMoneyChargeListInPage(page, moneyChargeListDto); |
| | | return adminMoneyChargeListVos; |
| | | } |
| | | |
| | | private final IXcxPayService iXcxPayService; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public FebsResponse chargeAgree(Long id) { |
| | | |
| | | MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); |
| | | if(ObjectUtil.isEmpty(mallMemberWithdraw)){ |
| | | return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); |
| | | } |
| | | 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) { |
| | | MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); |
| | | if(ObjectUtil.isEmpty(mallMemberWithdraw)){ |
| | | return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); |
| | | } |
| | | 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); |
| | | |
| | | //用户钱包增加对应的余额 |
| | | iApiMallMemberWalletService.addBalance(mallMoneyFlow.getAmount().negate(),mallMoneyFlow.getMemberId()); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @Override |
| | | public AdminMallMemberPaymentVo getMallMemberPaymentInfoByFlowId(long id) { |
| | | AdminMallMemberPaymentVo adminMallMemberPaymentVo = new AdminMallMemberPaymentVo(); |
| | | 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(); |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | } |