From 7e6bbd05a75b07cb0717812d0b51aad128361012 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 19 May 2022 18:43:42 +0800
Subject: [PATCH] fix some problem

---
 src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java                         |    3 +
 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java               |    2 +
 src/main/resources/mapper/modules/MallMemberMapper.xml                       |   26 +++++++++++--
 src/main/resources/mapper/modules/MallOrderInfoMapper.xml                    |    2 
 src/main/resources/templates/febs/views/modules/goods/goodsList.html         |   16 ++++++++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   31 +++++++--------
 6 files changed, 59 insertions(+), 21 deletions(-)

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 c155f00..4470b42 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -73,6 +73,8 @@
 
     IPage<MallMember> selectRankListInPage(IPage<MallMember> page, @Param("record") MallMember mallMember);
 
+    BigDecimal selectAchieveByMemberId(@Param("inviteId") String inviteId, @Param("type") Integer type);
+
     List<MallMember> selectMemberByName(@Param("name") String name);
 
     // 查询有下级的用户
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 9001cfc..100b886 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
@@ -112,6 +112,7 @@
         mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
         mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
         mallMember.setSex("男");
+        mallMember.setBindPhone(registerDto.getAccount());
 
         this.baseMapper.insert(mallMember);
 
@@ -313,25 +314,23 @@
         MallMember mallMember = this.baseMapper.selectById(memberId);
 
         List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId());
-        BigDecimal ownAmount = this.baseMapper.selectOwnOrderAmountByInviteId(mallMember.getInviteId());
-
-        TeamListVo own = new TeamListVo();
-        own.setCreatedTime(mallMember.getCreatedTime());
-        own.setAmount(ownAmount);
-        own.setName(mallMember.getName());
-        own.setPhone(mallMember.getPhone());
-        own.setInviteId(mallMember.getInviteId());
-        own.setIsCurrent(1);
-        own.setCnt(this.baseMapper.selectOwnCntByInviteId(mallMember.getInviteId()));
-        own.setOrderCnt(this.baseMapper.selectOwnOrderCntByInviteId(mallMember.getInviteId()));
-        own.setId(mallMember.getId());
-//        list.add(0, own);
+//        BigDecimal ownAmount = this.baseMapper.selectOwnOrderAmountByInviteId(mallMember.getInviteId());
+//        TeamListVo own = new TeamListVo();
+//        own.setCreatedTime(mallMember.getCreatedTime());
+//        own.setAmount(ownAmount);
+//        own.setName(mallMember.getName());
+//        own.setPhone(mallMember.getPhone());
+//        own.setInviteId(mallMember.getInviteId());
+//        own.setIsCurrent(1);
+//        own.setCnt(this.baseMapper.selectOwnCntByInviteId(mallMember.getInviteId()));
+//        own.setOrderCnt(this.baseMapper.selectOwnOrderCntByInviteId(mallMember.getInviteId()));
+//        own.setId(mallMember.getId());
 
         MyTeamVo myTeamVo = new MyTeamVo();
         myTeamVo.setTeam(list);
-        myTeamVo.setMyAchieve(BigDecimal.valueOf(100));
-        myTeamVo.setMyTeamAchieve(BigDecimal.valueOf(100));
-        myTeamVo.setMyTeamCnt(100);
+        myTeamVo.setMyAchieve(this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 1));
+        myTeamVo.setMyTeamAchieve(this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 2));
+        myTeamVo.setMyTeamCnt(list.size());
         return new FebsResponse().success().data(myTeamVo);
     }
 
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 b47daa9..e365f12 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/TeamListVo.java
@@ -44,4 +44,7 @@
     @ApiModelProperty(value = "是否当前用户 1-是")
     private Integer isCurrent;
 
+    @ApiModelProperty(value = "竞猜积分")
+    private BigDecimal prizeScore;
+
 }
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index bc28913..86db3f2 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -71,14 +71,18 @@
             a.invite_id,
             2 isCurrent,
             a.created_time,
-            (select sum(b.amount) from mall_member e
-                                           inner join mall_order_info b on e.id=b.member_id and b.status in (2, 3, 4)
-             where e.invite_id=a.invite_id or e.referrer_id=a.invite_id) amount,
+            p.prize_score,
+            (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
+             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)
+                      inner join mall_order_info b on e.id=b.member_id and b.status in (2, 3, 4)
              where e.invite_id=a.invite_id or e.referrer_id=a.invite_id) orderCnt,
             (select count(1) from mall_member x where x.referrer_id=a.invite_id) cnt
         from mall_member a
+        inner join mall_member_wallet p on a.id=p.member_id
         where a.referrer_id=#{inviteId}
     </select>
 
@@ -342,6 +346,20 @@
         order by b.amount desc, b.orderTime desc
     </select>
 
+    <select id="selectAchieveByMemberId" resultType="java.math.BigDecimal">
+        select sum(a.amount)
+        from mall_order_info a
+             inner join mall_member b on a.member_id=b.ID
+             inner join mall_order_item c on a.id = c.order_id and c.is_normal=2
+        where a.status in (2, 3, 4) and a.order_type=1
+        <if test="type == 1">
+            and b.invite_id=#{inviteId}
+        </if>
+        <if test="type == 2">
+            and b.referrer_id=#{inviteId}
+        </if>
+    </select>
+
     <select id="selectMemberByName" resultType="cc.mrbird.febs.mall.entity.MallMember">
         select * from mall_member
         where name=#{name}
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index 6707604..4a1e626 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -219,7 +219,7 @@
 
     <select id="selectTotalAmount" resultType="java.math.BigDecimal">
         select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info
-        where member_id=#{memberId} and status = 4
+        where member_id=#{memberId} and status in (2, 3, 4) and order_type=1
     </select>
 
     <select id="selectTotalAmountForDate" resultType="java.math.BigDecimal">
diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsList.html b/src/main/resources/templates/febs/views/modules/goods/goodsList.html
index 8835ba5..bd804bb 100644
--- a/src/main/resources/templates/febs/views/modules/goods/goodsList.html
+++ b/src/main/resources/templates/febs/views/modules/goods/goodsList.html
@@ -60,6 +60,20 @@
     <input type="checkbox" value={{d.id}} lay-text="上架|下架" lay-skin="switch" lay-filter="upOrDownSwitch">
     {{# } }}
 </script>
+<script type="text/html" id="isSkuFormat">
+    {{# if(d.isSku === 1) { }}
+        <span>是</span>
+    {{# } else { }}
+        <span>否</span>
+    {{# } }}
+</script>
+<script type="text/html" id="goodsTypeFormat">
+    {{# if(d.isNormal === 1) { }}
+        <span>普通商品</span>
+    {{# } else { }}
+        <span>套餐</span>
+    {{# } }}
+</script>
 <style>
     .layui-form-onswitch {
         background-color: #5FB878 !important;
@@ -197,6 +211,8 @@
                         }, minWidth: 150,align:'center'},
                     {field: 'categaryName', title: '分类', minWidth: 150,align:'left'},
                     {field: 'isSale', title: '是否上架', templet: '#upOrDownSwitch', minWidth: 130,align:'center'},
+                    {templet:"#goodsTypeFormat",  title: '商品类型', minWidth: 150,align:'left'},
+                    {templet:"#isSkuFormat", title: '是否多规格', minWidth: 150,align:'left'},
                     {field: 'presentPrice', title: '现价', minWidth: 150,align:'left'},
                     {field: 'originalPrice', title: '原价', minWidth: 150,align:'left'},
                     {field: 'stock', title: '商品库存', minWidth: 150,align:'left'},

--
Gitblit v1.9.1