From 15a6f5b0a38f0cd19c777c75c3fc4ff498fbc8dc Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 18 Aug 2023 10:17:58 +0800
Subject: [PATCH] 赠送积分更新状态
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 81 ++++++++++++++++++++++++++++++++++++----
1 files changed, 72 insertions(+), 9 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 10db004..7514881 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
@@ -286,7 +286,11 @@
mallMemberVo.setIsAgent(3);
}
// log.info(mallMemberVo.getName()+"---"+mallMemberVo.getAgentLevel());
-
+ DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.SCORE_CHANGE.getType(),
+ DataDictionaryEnum.SCORE_CHANGE.getCode()
+ );
+ mallMemberVo.setScoreChange(dataDictionaryCustom.getValue() == null ? "1" : dataDictionaryCustom.getValue());
return new FebsResponse().success().data(mallMemberVo);
}
@@ -355,11 +359,22 @@
MallMember mallMember = this.baseMapper.selectById(memberId);
List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId());
-
+ if(CollUtil.isNotEmpty(list)){
+ for(TeamListVo teamListVo : list){
+ List<MallOrderInfo> mallOrderInfos = mallOrderInfoMapper.selectTotalAmountListByMemberId(teamListVo.getId());
+ if(CollUtil.isNotEmpty(mallOrderInfos)){
+ BigDecimal reduce = mallOrderInfos.stream().map(MallOrderInfo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+ teamListVo.setAmount(reduce);
+ teamListVo.setOrderCnt(mallOrderInfos.size());
+ List<MallMember> mallMembers = this.baseMapper.selectChildAgentListByInviteId(teamListVo.getInviteId());
+ teamListVo.setCnt(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size());
+ }
+ }
+ }
MyTeamVo myTeamVo = new MyTeamVo();
myTeamVo.setTeam(list);
- myTeamVo.setMyAchieve(this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 1));
- myTeamVo.setMyTeamAchieve(this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 2));
+ myTeamVo.setMyAchieve(this.baseMapper.selectOrderAmountByMemberId(mallMember.getInviteId(), 1));
+ myTeamVo.setMyTeamAchieve(this.baseMapper.selectOrderAmountByMemberId(mallMember.getInviteId(), 2));
myTeamVo.setMyTeamCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size());
return new FebsResponse().success().data(myTeamVo);
}
@@ -492,7 +507,7 @@
MallMember referMember = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId());
if (referMember != null) {
commissionVo.setReferrerName(referMember.getName());
- commissionVo.setAvatar(referMember.getAvatar());
+ commissionVo.setReferrerAvatar(referMember.getAvatar());
}
DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.AGENT_LEVEL, mallMember.getLevel());
@@ -501,7 +516,7 @@
}
MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(id);
- commissionVo.setCommission(wallet.getCommission());
+ commissionVo.setCommission(wallet.getBalance());
commissionVo.setToday(mallMoneyFlowMapper.selectCommissionIncome(1, new Date(), id));
commissionVo.setMonth(mallMoneyFlowMapper.selectCommissionIncome(2, new Date(), id));
commissionVo.setTotal(mallMoneyFlowMapper.selectCommissionIncome(null, null, id));
@@ -600,7 +615,56 @@
// 查询用户是否存在
MallMember mallMember = this.baseMapper.selectMemberByOpenId(openId);
if (ObjectUtil.isEmpty(mallMember)) {
- return febsResponse.fail().message("请先关注公众号");
+ //根据OPENID,查询用户信息,如果存在,直接返回
+ mallMember = new MallMember();
+ mallMember.setPassword(SecureUtil.md5("a123456"));
+ mallMember.setName("微信用户");
+ mallMember.setSubStatus(MallMember.SUB_STATUS_DISABLED);
+ mallMember.setReferrerId(null);
+ mallMember.setPhone(null);
+ mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
+ mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
+ mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name());
+ mallMember.setSex("男");
+ mallMember.setBindPhone(null);
+ mallMember.setOpenId(openId);
+ this.baseMapper.insert(mallMember);
+ //生成邀请码
+ String inviteId = ShareCodeUtil.toSerialCode(mallMember.getId());
+ mallMember.setInviteId(inviteId);
+ //推荐人和推荐人链
+ boolean flag = false;
+ String parentId = mallMember.getReferrerId();
+ 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;
+ }
+ }
+ if (StrUtil.isNotBlank(ids)) {
+ mallMember.setReferrerIds(ids);
+ }
+ this.baseMapper.updateById(mallMember);
+ //初始化钱包信息
+ MallMemberWallet wallet = new MallMemberWallet();
+ wallet.setBalance(BigDecimal.ZERO);
+ wallet.setMemberId(mallMember.getId());
+ mallMemberWalletMapper.insert(wallet);
+
+ return new FebsResponse().fail().message("请先关注公众号");
}
// 存放redis
String redisKey = AppContants.XCX_LOGIN_PREFIX + mallMember.getId();
@@ -769,8 +833,7 @@
amount,
MoneyFlowTypeEnum.RECHARGE.getValue(),
rechargeNo,
- FlowTypeEnum.BALANCE.getValue(),
- "余额充值",1);
+ FlowTypeEnum.BALANCE.getValue());
String wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData);
String payResultStr = brandWCPayRequestData.getPrepay_id();
--
Gitblit v1.9.1