From e1e7d29ea23fcee395e3f13dc2763162c588b6d0 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 09 Sep 2022 13:45:08 +0800
Subject: [PATCH] 20220902

---
 src/main/resources/mapper/modules/MallTeamLeaderMapper.xml                      |    9 ++++
 src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java                |   37 +++++++++---------
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |    7 ++-
 src/main/resources/mapper/modules/MallMemberMapper.xml                          |    3 -
 src/main/resources/templates/febs/views/modules/leader/leaderList.html          |    3 +
 src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java              |    2 +
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java  |   10 +++++
 src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html  |   14 ++++++-
 8 files changed, 60 insertions(+), 25 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java
index a3b7955..c44fce7 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java
@@ -30,4 +30,6 @@
     MallTeamLeader selectLeaderByLonAndLat(@Param("longitude")Double longitude, @Param("latitude")Double latitude);
 
     IPage<MallLeaderStock> selectleaderGoodsStockListInPage(Page<MallLeaderStock> page, @Param("record")MallLeaderStock mallLeaderStock);
+
+    MallTeamLeader selectLeaderByUniqueCodeAndOrderBycreateTime(@Param("uniqueCode")String inviteId);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
index 0a09cb7..864936f 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
@@ -110,8 +110,10 @@
         List<MallOrderInfo> orderInfos = mallOrderInfoMapper.selectOrderByStatusAndPayTime(3,DateUtil.offsetDay(new Date(), -value));
         if(CollUtil.isNotEmpty(orderInfos)){
             for(MallOrderInfo orderInfo : orderInfos){
-                DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
-                BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+                MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode());
+                BigDecimal bonusPercent =new BigDecimal(mallTeamLeader.getBonusPercent()==null?"0":mallTeamLeader.getBonusPercent());
+//                DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
+//                BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
                 //生成一条团长提成记录
                 Long id = orderInfo.getId();
                 List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id);
@@ -147,23 +149,22 @@
     @Scheduled(cron = "1 * * * * ?")
     public void leaderAchieveAuto() {
         log.info("团长每日提成");
-        DataDictionaryCustom dicBonusSwitch = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_SWITCH.getType(), DataDictionaryEnum.BONUS_SWITCH.getCode());
-        String bonusSwitch = dicBonusSwitch.getValue();
-        if("1".equals(bonusSwitch)){
-//            DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
-//            BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
-            //获取每日提成总数
-            /**
-             * a.unique_code uniqueCode 团长特征码
-             * , IFNULL(sum(a.amount),0) amount 每日提成总金额
-             */
+        //获取每日提成总数
+        /**
+         * a.unique_code uniqueCode 团长特征码
+         * , IFNULL(sum(a.amount),0) amount 每日提成总金额
+         */
 //            DateTime dateTime = DateUtil.offsetDay(new Date(), -1);
-            DateTime dateTime = DateUtil.offsetDay(new Date(), 0);
-            List<Map<String, String>> allLeaderAchieve = mallLeaderAchieveMapper.selectListByStateAndCreateTimeAndUniqueCode(MallLeaderAchieve.STATE_ONE,dateTime);
-            if (CollUtil.isNotEmpty(allLeaderAchieve)) {
-                for (Map<String, String> map : allLeaderAchieve) {
-                    String uniqueCode = map.get("uniqueCode");
-                    Object profitAmount = map.get("profitAmount");
+        DateTime dateTime = DateUtil.offsetDay(new Date(), 0);
+        List<Map<String, String>> allLeaderAchieve = mallLeaderAchieveMapper.selectListByStateAndCreateTimeAndUniqueCode(MallLeaderAchieve.STATE_ONE,dateTime);
+        if (CollUtil.isNotEmpty(allLeaderAchieve)) {
+            for (Map<String, String> map : allLeaderAchieve) {
+                String uniqueCode = map.get("uniqueCode");
+                Object profitAmount = map.get("profitAmount");
+
+                MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(uniqueCode);
+                Integer profitSwitch = mallTeamLeader.getProfitSwitch();
+                if(1 == profitSwitch){
                     //直接舍弃小数点的第三位
                     BigDecimal achieveMoney = new BigDecimal(String.valueOf(profitAmount)).setScale(2,BigDecimal.ROUND_DOWN);
                     MallMember mallMember = mallMemberMapper.selectInfoByInviteId(uniqueCode);
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 21a4142..7a91557 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -66,11 +66,21 @@
     private final MallShopApplyMapper mallShopApplyMapper;
 
     private final IMallMoneyFlowService mallMoneyFlowService;
+    private final MallTeamLeaderMapper mallTeamLeaderMapper;
 
     @Override
     public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
         Page<MallMember> page = new Page<>(request.getPageNum(), request.getPageSize());
         IPage<MallMember> mallMembers = this.baseMapper.selectMallMemberListInPage(page, mallMember);
+        if(CollUtil.isNotEmpty(mallMembers.getRecords())){
+            for(MallMember mallMemberTeam : mallMembers.getRecords()){
+                String inviteId = mallMemberTeam.getInviteId();
+                MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCodeAndOrderBycreateTime(inviteId);
+                if(ObjectUtil.isNotEmpty(mallTeamLeader)){
+                    mallMemberTeam.setLeaderState(mallTeamLeader.getState() == null ? 0 : mallTeamLeader.getState());
+                }
+            }
+        }
         return mallMembers;
     }
 
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index fd7ac30..0e4619f 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -520,8 +520,11 @@
         Long orderInfoId = orderInfo.getId();
         List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfoId);
         if(CollUtil.isNotEmpty(mallOrderItemList)){
-            DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
-            BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+
+            MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(orderInfo.getTakeUniqueCode());
+            BigDecimal bonusPercent =new BigDecimal(mallTeamLeader.getBonusPercent()==null?"0":mallTeamLeader.getBonusPercent());
+//            DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
+//            BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
             for(MallOrderItem mallOrderItem : mallOrderItemList){
                 Integer state = mallOrderItem.getState() == null ? 1 : mallOrderItem.getState();
                 if(1 == state){
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index e3c1dd9..dd74bb6 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -4,12 +4,11 @@
 
     <select id="selectMallMemberListInPage" resultType="cc.mrbird.febs.mall.entity.MallMember">
         SELECT m.*,a.name referrerName,IFNULL(c.balance,0) balance,IFNULL(c.score,0) score,IFNULL(c.prize_score,0) prizeScore,IFNULL(c.commission,0) commission
-        ,d.description levelName,e.state leaderState
+        ,d.description levelName
         FROM mall_member m
         left join mall_member a on m.referrer_id = a.invite_id
         LEFT JOIN mall_member_wallet c on c.member_id = m.id
         LEFT JOIN data_dictionary_custom d on d.code = m.level and type='AGENT_LEVEL'
-        LEFT JOIN mall_team_leader e on e.member_id = m.id
         <where>
             <if test="record != null" >
                 <if test="record.name!=null and record.name!=''">
diff --git a/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml b/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
index fb44d2b..f738740 100644
--- a/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
+++ b/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
@@ -177,4 +177,13 @@
         where a.team_leader_id = #{record.teamLeaderId}
     </select>
 
+    <select id="selectLeaderByUniqueCodeAndOrderBycreateTime" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
+        select
+            a.*
+        from mall_team_leader a
+        where a.unique_code = #{uniqueCode}
+        order by a.CREATED_TIME desc
+        limit 1
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/leader/leaderList.html b/src/main/resources/templates/febs/views/modules/leader/leaderList.html
index 2bdac6c..9300a92 100644
--- a/src/main/resources/templates/febs/views/modules/leader/leaderList.html
+++ b/src/main/resources/templates/febs/views/modules/leader/leaderList.html
@@ -187,7 +187,7 @@
                             }else if (d.state === 3) {
                                 return '<span style="color:blue;">待审核</span>'
                             }else if (d.state === 4) {
-                                return '<span style="color:blue;">已取消</span>'
+                                return '<span style="color:blue;">已取消资格</span>'
                             }else{
                                 return ''
                             }
@@ -216,6 +216,7 @@
             } else {
                 closeProfit(data.value);
             }
+            $query.click();
         })
 
         function startProfit(id) {
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index 8fa62f7..cc358f2 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -264,6 +264,8 @@
                                 return '<span style="color:green;">团长</span>'
                             }else if (d.leaderState === 3) {
                                 return '<span">申请中</span>'
+                            }else if (d.leaderState === 4) {
+                                return '<span">普通用户(取消团长资格)</span>'
                             }else{
                                 return '<span">普通用户</span>'
                             }
@@ -272,11 +274,19 @@
                     {field: 'createdTime', title: '注册时间', minWidth: 180,align:'center'},
                     {title: '操作',
                         templet: function (d) {
-                        if(d.leaderState === 1 || d.leaderState === 3){
+                        if(d.leaderState === 1 ){
                             return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="user:update">资金流水</button>'
+                        }else if(d.leaderState === 2){
+                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="user:update">资金流水</button>'
+                                + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addLeader" shiro:hasPermission="user:update">设置为团长</button>'
+                        }else if(d.leaderState === 3){
+                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="user:update">资金流水</button>'
+                        }else if(d.leaderState === 4){
+                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="user:update">资金流水</button>'
+                                // + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addLeader" shiro:hasPermission="user:update">设置为团长</button>'
                         }else{
                             return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="user:update">资金流水</button>'
-                            + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addLeader" shiro:hasPermission="user:update">设置为团长</button>'
+                                + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addLeader" shiro:hasPermission="user:update">设置为团长</button>'
                         }
 
                         },minWidth: 200,align:'center', fixed:"right"}

--
Gitblit v1.9.1