From 25828996cb8f2b971de722ce9a527c26bbc68cb2 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Wed, 23 Aug 2023 00:28:35 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java | 2
src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java | 10 +++
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java | 8 ++
src/main/resources/mapper/modules/MallMemberMapper.xml | 9 +-
src/main/resources/mapper/modules/MallOrderInfoMapper.xml | 46 ++++++++++-----
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 58 +++++++------------
6 files changed, 76 insertions(+), 57 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
index 5b532bb..30edcae 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
@@ -81,4 +81,6 @@
@SqlParser(filter = true)
IPage<AdminGoodsStatisticsVo> getGoodsStatisticsInPage(Page<AdminGoodsStatisticsVo> page, @Param("record") MallOrderItem mallOrderItem);
+
+ BigDecimal selectAmountOrTeamAmount(@Param("inviteId") String inviteId, @Param("type") Integer type);
}
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 b2232bb..3716d5d 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
@@ -13,10 +13,7 @@
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
-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.service.*;
import cc.mrbird.febs.mall.vo.*;
import cc.mrbird.febs.pay.model.BrandWCPayRequestData;
import cc.mrbird.febs.pay.service.IXcxPayService;
@@ -30,6 +27,7 @@
import cn.hutool.crypto.asymmetric.RSA;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -69,6 +67,8 @@
private final SpringContextHolder springContextHolder;
private final MallAgentRecordMapper mallAgentRecordMapper;
private final IMallMoneyFlowService mallMoneyFlowService;
+ private final IMallMemberCollectionService mallMemberCollectionService;
+ private final IMallMemberFootprintService mallMemberFootprintService;
@Value("${spring.profiles.active}")
@@ -253,38 +253,24 @@
mallMemberVo.setHasPayment(1);
}
- MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId());
- mallMemberVo.setBalance(wallet.getBalance());
- mallMemberVo.setScore(wallet.getScore());
- mallMemberVo.setPrizeScore(wallet.getPrizeScore());
- mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id));
+ LambdaQueryWrapper<MallMemberCollection> collectionQuery = new LambdaQueryWrapper<>();
+ collectionQuery.eq(MallMemberCollection::getMemberId, id);
+ List<MallMemberCollection> collectionList = mallMemberCollectionService.list(collectionQuery);
+ mallMemberVo.setCollectionCnt(CollUtil.isNotEmpty(collectionList) ? collectionList.size() : 0);
- //代理状态
- 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);
- if(StrUtil.isNotEmpty(mallAgentRecordAgree.getAgentLevel())){
- DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode("AGENT_LEVEL_APPLY", mallAgentRecordAgree.getAgentLevel());
- mallMemberVo.setAgentLevelName(dataDictionaryCustom.getDescription());
- }
- if(AgentLevelEnum.LEVEL_ONE.name().equals(mallAgentRecordAgree.getAgentLevel())){
- mallMemberVo.setAgentLevel(1);
- }
- if(AgentLevelEnum.LEVEL_TWO.name().equals(mallAgentRecordAgree.getAgentLevel())){
- mallMemberVo.setAgentLevel(2);
- }
- if(AgentLevelEnum.LEVEL_THREE.name().equals(mallAgentRecordAgree.getAgentLevel())){
- mallMemberVo.setAgentLevel(3);
- }
- }else if(ObjectUtil.isNotEmpty(mallAgentRecordDisagree)){
- mallMemberVo.setIsAgent(3);
- }
-// log.info(mallMemberVo.getName()+"---"+mallMemberVo.getAgentLevel());
+ LambdaQueryWrapper<MallMemberCollection> footprintQuery = new LambdaQueryWrapper<>();
+ footprintQuery.eq(MallMemberCollection::getMemberId, id);
+ List<MallMemberCollection> footprintList = mallMemberCollectionService.list(footprintQuery);
+ mallMemberVo.setCollectionCnt(CollUtil.isNotEmpty(footprintList) ? footprintList.size() : 0);
+ List<MallMember> mallMembers = this.baseMapper.selectByRefererId(mallMember.getInviteId());
+ mallMemberVo.setChildCnt(CollUtil.isNotEmpty(mallMembers) ? mallMembers.size() : 0);
+
+// MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId());
+// mallMemberVo.setBalance(wallet.getBalance());
+// mallMemberVo.setScore(wallet.getScore());
+// mallMemberVo.setPrizeScore(wallet.getPrizeScore());
+// mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id));
return new FebsResponse().success().data(mallMemberVo);
}
@@ -356,8 +342,8 @@
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.mallOrderInfoMapper.selectAmountOrTeamAmount(mallMember.getInviteId(), 1));
+ myTeamVo.setMyTeamAchieve(this.mallOrderInfoMapper.selectAmountOrTeamAmount(mallMember.getInviteId(), 2));
myTeamVo.setMyTeamCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size());
return new FebsResponse().success().data(myTeamVo);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
index d2f93f0..98d8ae2 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -84,4 +84,12 @@
@ApiModelProperty(value = "代理等级数字 1:一级 2:二级 3:三级")
private Integer agentLevel;
+ @ApiModelProperty(value = "收藏数量")
+ private Integer collectionCnt;
+
+ @ApiModelProperty(value = "足迹数量")
+ private Integer footprintCnt;
+
+ @ApiModelProperty(value = "足迹数量")
+ private Integer childCnt;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java
index d92a485..f49e4aa 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java
@@ -25,6 +25,13 @@
@ApiModelProperty(value = "昵称")
private String name;
+ @ApiModelProperty(value = "头像")
+ private String avatar;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "注册时间")
+ private Date createTime;
+
@ApiModelProperty(value = "手机号")
private String phone;
@@ -50,4 +57,7 @@
@ApiModelProperty(value = "用户等级")
private String levelName;
+ @ApiModelProperty(value = "自己下单数量")
+ private Integer selfOrderCnt;
+
}
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index dd74bb6..79f460a 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -79,20 +79,19 @@
a.invite_id,
2 isCurrent,
a.created_time,
- p.prize_score,
- u.description levelName,
+ a.avatar,
+ (select count(1) from mall_order_info orderInfo
+ where orderInfo.status in (2, 3, 4) and orderInfo.member_id=a.id) selfOrderCnt,
(select sum(e.amount)
from mall_order_info e
inner join mall_member b on e.member_id=b.ID
- inner join mall_order_item c on e.id = c.order_id -- and c.is_normal=2
+ inner join mall_order_item c on e.id = c.order_id
where e.status in (2, 3, 4) and e.order_type=1 and (b.invite_id=a.invite_id or b.referrer_id=a.invite_id)) amount,
(select count(1) from mall_member e
inner join mall_order_info b on e.id=b.member_id and b.status in (2, 3, 4)
where find_in_set(a.invite_id, e.referrer_ids)) orderCnt,
(select count(1) from mall_member x where find_in_set(a.invite_id, x.referrer_ids)) cnt
from mall_member a
- inner join mall_member_wallet p on a.id=p.member_id
- left join data_dictionary_custom u on a.level=u.code and u.type='AGENT_LEVEL'
where a.referrer_id=#{inviteId}
</select>
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index 657a430..f9d27cb 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -423,20 +423,34 @@
</select>
<select id="getGoodsStatisticsInPage" resultType="cc.mrbird.febs.mall.vo.AdminGoodsStatisticsVo">
- select
- goods_name goodsName,
- SUM(cnt) goodsCnt
- from mall_order_item
- <where>
- 1=1
- <if test="record.orderIdsStr != null">
- and order_id in
- <foreach collection="record.orderIdsStr" item="id" index="index" open="(" close=")" separator=",">
- #{id}
- </foreach>
- </if>
- </where>
- GROUP BY goods_id
- ORDER BY goods_id desc
-</select>
+ select
+ goods_name goodsName,
+ SUM(cnt) goodsCnt
+ from mall_order_item
+ <where>
+ 1=1
+ <if test="record.orderIdsStr != null">
+ and order_id in
+ <foreach collection="record.orderIdsStr" item="id" index="index" open="(" close=")" separator=",">
+ #{id}
+ </foreach>
+ </if>
+ </where>
+ GROUP BY goods_id
+ ORDER BY goods_id desc
+ </select>
+
+ <select id="selectAmountOrTeamAmount" resultType="java.math.BigDecimal">
+ select IFNULL(sum(IFNULL(a.amount,0)),0) from mall_order_info a
+ inner join mall_member b on a.member_id=b.ID
+ <where>
+ a.status in (2,3,4)
+ <if test="type == 1">
+ and b.invite_id=#{inviteId}
+ </if>
+ <if test="type == 2">
+ and find_in_set(#{inviteId}, b.referrer_ids)
+ </if>
+ </where>
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1