From e53f3e7d0e4c79b4bf350d51f88918d211869ec7 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 04 Jan 2024 10:42:09 +0800
Subject: [PATCH] 团队列表

---
 src/main/java/cc/mrbird/febs/common/enumerates/MemberLevelNewEnum.java       |   30 +++++--
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java    |    9 ++
 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java               |    6 +
 src/main/java/cc/mrbird/febs/mall/vo/MyFcmTeamVo.java                        |   46 +++++++++++
 src/main/resources/mapper/modules/MallMemberMapper.xml                       |   48 +++++++++++-
 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java         |    2 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   53 +++++++++++++
 7 files changed, 181 insertions(+), 13 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/MemberLevelNewEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/MemberLevelNewEnum.java
index 64adabc..9aa1a22 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/MemberLevelNewEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/MemberLevelNewEnum.java
@@ -9,21 +9,23 @@
 public enum MemberLevelNewEnum {
 //    SEVEN_LEVEL("SEVEN_LEVEL",6),
 //    SIX_LEVEL("SIX_LEVEL",5),
-    WU_LEVEL("WU_LEVEL",5),
-    SI_LEVEL("SI_LEVEL",4),
-    SAN_LEVEL("SAN_LEVEL",3),
-    ER_LEVEL("ER_LEVEL",2),
-    YI_LEVEL("YI_LEVEL",1),
-    ZERO_LEVEL("ZERO_LEVEL",0);
+    WU_LEVEL("WU_LEVEL",5,"五星"),
+    SI_LEVEL("SI_LEVEL",4,"四星"),
+    SAN_LEVEL("SAN_LEVEL",3,"三星"),
+    ER_LEVEL("ER_LEVEL",2,"二星"),
+    YI_LEVEL("YI_LEVEL",1,"一星"),
+    ZERO_LEVEL("ZERO_LEVEL",0,"普通会员");
 
 
     private String type;
+    private String name;
 
     private Integer code;
 
-    MemberLevelNewEnum(String type, Integer code) {
+    MemberLevelNewEnum(String type, Integer code,String name) {
         this.type = type;
         this.code = code;
+        this.name = name;
     }
 
     public List<String> getLevelType(){
@@ -42,6 +44,16 @@
             }
         }
         return codeOne;
+    }
+
+    public String getLevelName(String Level){
+        String levelName = MemberLevelNewEnum.ZERO_LEVEL.name;
+        for (MemberLevelNewEnum value : MemberLevelNewEnum.values()) {
+            if(value.type.equals(Level)){
+                levelName = value.name;
+            }
+        }
+        return levelName;
     }
 
     public String getNextLevel(String Level){
@@ -64,8 +76,8 @@
     }
 
     public static void main(String[] args) {
-        String zero_level = MemberLevelNewEnum.ZERO_LEVEL.getNextLevel("YI_LEVEL");
-        System.out.println(zero_level);
+                String levelName = MemberLevelNewEnum.ZERO_LEVEL.name;
+        System.out.println(levelName);
     }
 
     /**
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index db3afc5..2b44b45 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -105,6 +105,15 @@
         return memberService.teamList(teamListDto);
     }
 
+    @ApiOperation(value = "FCM-我的团队列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = MyFcmTeamVo.class)
+    })
+    @PostMapping(value = "/teamFcmList")
+    public FebsResponse teamFcmList(@RequestBody TeamListDto teamListDto) {
+        return memberService.teamFcmList(teamListDto);
+    }
+
 
     @ApiOperation(value = "FCM-资金流水列表")
     @ApiResponses({
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
index f31057b..bc594ce 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -77,6 +77,12 @@
 
     BigDecimal selectAchieveByMemberId(@Param("inviteId") String inviteId, @Param("type") Integer type);
 
+    BigDecimal selectAchieveBuyByMemberId(@Param("inviteId") String inviteId, @Param("type") Integer type);
+    BigDecimal selectAchieveSellByMemberId(@Param("inviteId") String inviteId, @Param("type") Integer type);
+
+    Integer selectAchieveBuyOrderCntByMemberId(@Param("inviteId") String inviteId);
+    Integer selectAchieveSellOrderCntByMemberId(@Param("inviteId") String inviteId);
+
     List<MallMember> selectMemberByName(@Param("name") String name);
 
     // 查询有下级的用户
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index be182ab..70a5ed5 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -33,6 +33,8 @@
 
     FebsResponse teamList(TeamListDto teamListDto);
 
+    FebsResponse teamFcmList(TeamListDto teamListDto);
+
     MyTeamVo teamListForMine(TeamListDto teamListDto);
 
     FebsResponse moneyFlows(MoneyFlowDto moneyFlowDto);
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 16b591a..694f16c 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
@@ -382,6 +382,59 @@
     }
 
     @Override
+    public FebsResponse teamFcmList(TeamListDto teamListDto) {
+        Long memberId = null;
+        if (teamListDto.getId() == null) {
+            memberId = LoginUserUtil.getLoginUser().getId();
+        } else {
+            memberId = teamListDto.getId();
+        }
+
+        MallMember mallMember = this.baseMapper.selectById(memberId);
+
+        MyFcmTeamVo myTeamVo = new MyFcmTeamVo();
+        myTeamVo.setMemberId(mallMember.getId());
+        myTeamVo.setAccountLogin(mallMember.getAccountLogin());
+        myTeamVo.setIsFrozen(mallMember.getIsFrozen());
+        myTeamVo.setLevelName(MemberLevelNewEnum.ZERO_LEVEL.getLevelName(mallMember.getLevel()));
+        myTeamVo.setMyAchieveBuy(this.baseMapper.selectAchieveBuyByMemberId(mallMember.getInviteId(), 1));
+        myTeamVo.setMyAchieveSell(this.baseMapper.selectAchieveSellByMemberId(mallMember.getInviteId(), 1));
+        myTeamVo.setMyTeamAchieveBuy(this.baseMapper.selectAchieveBuyByMemberId(mallMember.getInviteId(), 2));
+        myTeamVo.setMyTeamAchieveSell(this.baseMapper.selectAchieveSellByMemberId(mallMember.getInviteId(), 2));
+        myTeamVo.setMyTeamMemberCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size());
+        Integer buyCnt = this.baseMapper.selectAchieveBuyOrderCntByMemberId(mallMember.getInviteId());
+        Integer sellCnt = this.baseMapper.selectAchieveSellOrderCntByMemberId(mallMember.getInviteId());
+        myTeamVo.setMyTeamOrderCnt(buyCnt+sellCnt);
+
+        List<MallMember> mallMembersDirects = this.baseMapper.selectChildAgentListByInviteId(mallMember.getInviteId());
+        List<MyFcmTeamVo> list = new ArrayList<>();
+        if(CollUtil.isNotEmpty(mallMembersDirects)){
+            for(MallMember mallMembersDirect : mallMembersDirects){
+                MyFcmTeamVo myTeamDirectVo = new MyFcmTeamVo();
+                myTeamVo.setMemberId(mallMembersDirect.getId());
+                myTeamVo.setAccountLogin(mallMembersDirect.getAccountLogin());
+                myTeamVo.setIsFrozen(mallMembersDirect.getIsFrozen());
+                myTeamDirectVo.setLevelName(MemberLevelNewEnum.ZERO_LEVEL.getLevelName(mallMembersDirect.getLevel()));
+                myTeamDirectVo.setMyAchieveBuy(this.baseMapper.selectAchieveBuyByMemberId(mallMembersDirect.getInviteId(), 1));
+                myTeamDirectVo.setMyAchieveSell(this.baseMapper.selectAchieveSellByMemberId(mallMembersDirect.getInviteId(), 1));
+                myTeamDirectVo.setMyTeamAchieveBuy(this.baseMapper.selectAchieveBuyByMemberId(mallMembersDirect.getInviteId(), 2));
+                myTeamDirectVo.setMyTeamAchieveSell(this.baseMapper.selectAchieveSellByMemberId(mallMembersDirect.getInviteId(), 2));
+                myTeamDirectVo.setMyTeamMemberCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMembersDirect.getInviteId()).size());
+                Integer buyCntDirect = this.baseMapper.selectAchieveBuyOrderCntByMemberId(mallMembersDirect.getInviteId());
+                Integer sellCntDirect = this.baseMapper.selectAchieveSellOrderCntByMemberId(mallMembersDirect.getInviteId());
+                myTeamDirectVo.setMyTeamOrderCnt(buyCntDirect+sellCntDirect);
+                list.add(myTeamDirectVo);
+            }
+        }
+
+        myTeamVo.setTeam(list);
+
+
+
+        return new FebsResponse().success().data(myTeamVo);
+    }
+
+    @Override
     public MyTeamVo teamListForMine(TeamListDto teamListDto) {
         return null;
     }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MyFcmTeamVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MyFcmTeamVo.java
new file mode 100644
index 0000000..903d677
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MyFcmTeamVo.java
@@ -0,0 +1,46 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@ApiModel(value = "MyFcmTeamVo", description = "我的团队返回参数类")
+public class MyFcmTeamVo {
+
+    @ApiModelProperty(value = "ID")
+    private Long memberId;
+
+    @ApiModelProperty(value = "是否冻结 1:是 0 :否")
+    private Integer isFrozen;
+
+    @ApiModelProperty(value = "账号")
+    private String accountLogin;
+
+    @ApiModelProperty(value = "代理等级")
+    private String levelName;
+
+    @ApiModelProperty(value = "个人买入总额")
+    private BigDecimal myAchieveBuy;
+
+    @ApiModelProperty(value = "个人卖出总额")
+    private BigDecimal myAchieveSell;
+
+    @ApiModelProperty(value = "团队买入总额")
+    private BigDecimal myTeamAchieveBuy;
+
+    @ApiModelProperty(value = "团队卖出总额")
+    private BigDecimal myTeamAchieveSell;
+
+    @ApiModelProperty(value = "团队总单量")
+    private int myTeamOrderCnt;
+
+    @ApiModelProperty(value = "团队总人数")
+    private int myTeamMemberCnt;
+
+    @ApiModelProperty(value = "团队列表")
+    private List<MyFcmTeamVo> team;
+}
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index 94ba6dd..9259596 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -99,12 +99,9 @@
         select
             a.id,
             a.account_login name,
-            a.phone,
             a.invite_id,
             2 isCurrent,
             a.created_time,
-            p.prize_score,
-            u.description levelName,
             (select sum(e.amount)
              from mall_order_info e
                       inner join mall_member b on e.member_id=b.ID
@@ -116,7 +113,6 @@
             (select count(1) from mall_member x where x.invite_id=a.invite_id or 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>
 
@@ -393,6 +389,50 @@
         </if>
     </select>
 
+    <select id="selectAchieveBuyByMemberId" resultType="java.math.BigDecimal">
+        select sum(IFNULL(a.nft_total, 0))
+        from mall_product_buy a
+             inner join mall_member b on a.member_id=b.ID
+        where a.state = 3
+        <if test="type == 1">
+            and b.invite_id=#{inviteId}
+        </if>
+        <if test="type == 2">
+            and find_in_set(#{inviteId}, b.referrer_ids)
+        </if>
+    </select>
+
+    <select id="selectAchieveSellByMemberId" resultType="java.math.BigDecimal">
+        select sum(IFNULL(a.nft_total, 0))
+        from mall_product_sell a
+             inner join mall_member b on a.member_id=b.ID
+        where a.state = 3
+        <if test="type == 1">
+            and b.invite_id=#{inviteId}
+        </if>
+        <if test="type == 2">
+            and find_in_set(#{inviteId}, b.referrer_ids)
+        </if>
+    </select>
+
+    <select id="selectAchieveBuyOrderCntByMemberId" resultType="java.lang.Integer ">
+        select count(a.id)
+        from mall_product_buy a
+             inner join mall_member b on a.member_id=b.ID
+        where a.state = 3
+            and b.invite_id=#{inviteId}
+            and find_in_set(#{inviteId}, b.referrer_ids)
+    </select>
+
+    <select id="selectAchieveSellOrderCntByMemberId" resultType="java.lang.Integer ">
+        select count(a.id)
+        from mall_product_sell a
+             inner join mall_member b on a.member_id=b.ID
+        where a.state = 3
+          and b.invite_id=#{inviteId}
+          and find_in_set(#{inviteId}, b.referrer_ids)
+    </select>
+
     <select id="selectMemberByName" resultType="cc.mrbird.febs.mall.entity.MallMember">
         select * from mall_member
         where name=#{name}

--
Gitblit v1.9.1