From 11a0b98b93797e884bac39abbab086e82f924f9c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 22 Feb 2023 11:59:06 +0800 Subject: [PATCH] 商品排序 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 82 +++++++++++++++++++++++++++++++++-------- 1 files changed, 66 insertions(+), 16 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index 5d19108..aeb67dd 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -16,6 +16,7 @@ import cc.mrbird.febs.mall.service.IApiMallMemberService; import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.ICommonService; +import cc.mrbird.febs.mall.service.IMallMoneyFlowService; import cc.mrbird.febs.mall.vo.*; import cc.mrbird.febs.pay.model.BrandWCPayRequestData; import cc.mrbird.febs.pay.service.IXcxPayService; @@ -66,6 +67,8 @@ private final MallRegisterAppealMapper mallRegisterAppealMapper; private final MallTeamLeaderMapper mallTeamLeaderMapper; private final SpringContextHolder springContextHolder; + private final MallAgentRecordMapper mallAgentRecordMapper; + private final IMallMoneyFlowService mallMoneyFlowService; @Value("${spring.profiles.active}") @@ -232,10 +235,11 @@ MallMember mallMember = this.baseMapper.selectById(id); MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember); - - MallMember referMember = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId()); - if (referMember != null) { - mallMemberVo.setReferrerName(referMember.getName()); + if(StrUtil.isNotEmpty(mallMember.getReferrerId())){ + MallMember referMember = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId()); + if (referMember != null) { + mallMemberVo.setReferrerName(referMember.getName()); + } } if (StrUtil.isNotBlank(mallMember.getTradePassword())) { @@ -247,23 +251,24 @@ mallMemberVo.setHasPayment(1); } -// DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.AGENT_LEVEL, mallMember.getLevel()); -// if (dic != null) { -// mallMemberVo.setLevelName(dic.getDescription()); -// } MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId()); mallMemberVo.setBalance(wallet.getBalance()); mallMemberVo.setScore(wallet.getScore()); mallMemberVo.setPrizeScore(wallet.getPrizeScore()); mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id)); - //用户是否是团长 - List<MallTeamLeader> mallTeamLeaders = mallTeamLeaderMapper.selectListByMemberIdAndState(mallMember.getId(), MallTeamLeader.STATE_YES); - if(CollUtil.isNotEmpty(mallTeamLeaders)){ - mallMemberVo.setIsTeamLeader(1); - }else{ - mallMemberVo.setIsTeamLeader(2); + //代理状态 + MallAgentRecord mallAgentRecordIng = mallAgentRecordMapper.selectByMemberIdAndState(id, MallAgentRecord.APPLY_ING); + MallAgentRecord mallAgentRecordAgree = mallAgentRecordMapper.selectByMemberIdAndState(id, MallAgentRecord.APPLY_AGREE); + MallAgentRecord mallAgentRecordDisagree = mallAgentRecordMapper.selectByMemberIdAndState(id, MallAgentRecord.APPLY_DISAGREE); + if(ObjectUtil.isNotEmpty(mallAgentRecordIng)){ + mallMemberVo.setIsAgent(1); + }else if(ObjectUtil.isNotEmpty(mallAgentRecordAgree)){ + mallMemberVo.setIsAgent(2); + }else if(ObjectUtil.isNotEmpty(mallAgentRecordDisagree)){ + mallMemberVo.setIsAgent(3); } + return new FebsResponse().success().data(mallMemberVo); } @@ -431,7 +436,7 @@ Long id = LoginUserUtil.getLoginUser().getId(); MallMember member = this.baseMapper.selectById(id); - member.setBindPhone(accountAndCodeDto.getAccount()); + member.setPhone(accountAndCodeDto.getAccount()); this.baseMapper.updateById(member); } @@ -643,7 +648,7 @@ if(StrUtil.isNotEmpty(avatarUrl)){ mallMember.setAvatar(avatarUrl); } - mallMember.setSex(apiXcxSaveInfoDto.getGender() == 1 ? "女" : "男"); +// mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男"); this.baseMapper.updateById(mallMember); return new FebsResponse().success(); } @@ -717,6 +722,9 @@ Integer value = Integer.parseInt(rangeSize.getValue()) * 1000; //根据经纬度获取周围团长的距离 MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByLonAndLat(longitude, latitude); + if(ObjectUtil.isEmpty(mallTeamLeader)){ + return new FebsResponse().success().data(2); + } Double distance = mallTeamLeader.getDistance(); if(value <= distance){ return new FebsResponse().success().data(2); @@ -735,6 +743,19 @@ if(BigDecimal.ZERO.compareTo(amount)>0){ return new FebsResponse().fail().message("请输入正确的充值金额"); } + Integer type = apiRechargeWalletDto.getType(); + if(2 == type){ + //成为合伙人的充值金额 + DataDictionaryCustom agentPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.PRICE_AMOUNT.getType(), + DataDictionaryEnum.PRICE_AMOUNT.getCode()); + String agentPrice = agentPriceDic.getValue(); + BigDecimal price = new BigDecimal(agentPrice); + if(price.compareTo(amount) != 0){ + return new FebsResponse().fail().message("成为合伙人的金额为"+agentPrice); + } + } + String rechargeNo = "CZ_"+MallUtils.getOrderNum(); + apiRechargeWalletDto.setRechargeNo(rechargeNo); apiRechargeWalletDto.setMemberId(memberId); BrandWCPayRequestData brandWCPayRequestData = null; try { @@ -742,6 +763,14 @@ } catch (Exception e) { throw new FebsException("支付失败"); } + mallMoneyFlowService.addMoneyFlow( + memberId, + amount, + MoneyFlowTypeEnum.RECHARGE.getValue(), + rechargeNo, + FlowTypeEnum.BALANCE.getValue(), + "余额充值",1); + String wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData); String payResultStr = brandWCPayRequestData.getPrepay_id(); Map<String, Object> map = new HashMap<>(); @@ -750,6 +779,27 @@ return new FebsResponse().success().data(map).message("充值即将到账"); } + @Override + public void updateMemberAgent(Long memberId) { + mallAgentRecordMapper.updateStateByMemberId(memberId); + + //更新用户表中的LEVEL + MallMember mallMember = this.baseMapper.selectById(memberId); + mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); + this.baseMapper.updateById(mallMember); + } + + @Override + public FebsResponse agentDetail() { + DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.AGENT_DETAILS.getType(), DataDictionaryEnum.AGENT_DETAILS.getCode()); + Map<String, Object> map = new HashMap<>(); + if(ObjectUtil.isNotEmpty(dataDictionaryCustom)){ + map.put("agentDetail", dataDictionaryCustom.getValue()); + } + return new FebsResponse().success().data(map); + } + private String getXcxLoginUrl(String code) { String wechatLoginUrl =xcxProperties.getWecharLoginUrl(); return String.format(wechatLoginUrl, xcxProperties.getXcxAppid(), xcxProperties.getXcxSecret(), code); -- Gitblit v1.9.1