From 8b072d1560336e3fcf442d29b2a368aa43cb9fcf Mon Sep 17 00:00:00 2001
From: licc <lichuchuan@jtep.com.cn>
Date: Tue, 22 Jun 2021 11:21:35 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=8B=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../wisenergy/service/app/BottomService.java  | 18 ++++++
 .../service/app/UserDataService.java          |  8 ---
 .../service/app/impl/BottomServiceImpl.java   | 60 +++++++++++++++++++
 .../service/app/impl/UserDataServiceImpl.java | 31 ----------
 .../controller/app/UserDataController.java    |  6 +-
 5 files changed, 83 insertions(+), 40 deletions(-)
 create mode 100644 wisenergy-service/src/main/java/cn/wisenergy/service/app/BottomService.java
 create mode 100644 wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/BottomServiceImpl.java

diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/BottomService.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/BottomService.java
new file mode 100644
index 0000000..c278ebf
--- /dev/null
+++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/BottomService.java
@@ -0,0 +1,18 @@
+package cn.wisenergy.service.app;
+
+import cn.wisenergy.common.utils.R;
+import cn.wisenergy.model.vo.UserQueryVo;
+
+/**
+ * @author 86187
+ */
+public interface BottomService {
+
+    /**
+     * 获取向下层级
+     *
+     * @param queryVo 条数
+     * @return true or false
+     */
+    R<Boolean> getBottom(UserQueryVo queryVo);
+}
diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/UserDataService.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/UserDataService.java
index d66ce20..986bf38 100644
--- a/wisenergy-service/src/main/java/cn/wisenergy/service/app/UserDataService.java
+++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/UserDataService.java
@@ -15,12 +15,4 @@ public interface UserDataService {
      */
     R<Boolean> addBatch(UserQueryVo queryVo);
 
-    /**
-     * 获取向下层级
-     *
-     * @param queryVo 条数
-     * @return true or false
-     */
-    R<Boolean> getBottom(UserQueryVo queryVo);
-
 }
diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/BottomServiceImpl.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/BottomServiceImpl.java
new file mode 100644
index 0000000..bdc4417
--- /dev/null
+++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/BottomServiceImpl.java
@@ -0,0 +1,60 @@
+package cn.wisenergy.service.app.impl;
+
+import cn.wisenergy.common.utils.R;
+import cn.wisenergy.mapper.UserDataMapper;
+import cn.wisenergy.mapper.UsersMapper;
+import cn.wisenergy.model.app.UserData;
+import cn.wisenergy.model.dto.UsersInfoDto;
+import cn.wisenergy.model.vo.UserQueryVo;
+import cn.wisenergy.service.app.BottomService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.util.CollectionUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+/**
+ * @author 86187
+ */
+@Service
+@Slf4j
+public class BottomServiceImpl implements BottomService {
+    @Resource
+    private UsersMapper usersMapper;
+
+    @Resource
+    private UserDataMapper userDataMapper;
+
+
+    @Override
+    public R<Boolean> getBottom(UserQueryVo queryVo) {
+        Long usersId = userDataMapper.getMaxId();
+        log.info("开始计算用户id:" + usersId);
+        if (null == usersId) {
+            usersId = 0L;
+        }
+        Integer startNo = Math.toIntExact(usersId) - 1;
+        Integer endNo = queryVo.getNumber();
+        //获取所有用户数据
+        List<UserData> list = userDataMapper.getBottom(startNo, endNo);
+        if (!CollectionUtils.isEmpty(list)) {
+            for (UserData userData : list) {
+                //3、向下最深层级层级数、伞下人员总和
+                UsersInfoDto userInfoDto = usersMapper.getLevelAndTotal(userData.getUserId());
+                if (null != userInfoDto) {
+                    if (null != userInfoDto.getBottom()) {
+                        userData.setBottom(userInfoDto.getBottom() - userData.getRank());
+                    }
+                    userData.setTotalPeople(userInfoDto.getTotalPeople());
+                }
+
+                int count = userDataMapper.edit(userData);
+                if (count == 0) {
+                    break;
+                }
+            }
+
+        }
+        return R.ok(0, true);
+    }
+}
diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserDataServiceImpl.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserDataServiceImpl.java
index 6d54432..6fc7705 100644
--- a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserDataServiceImpl.java
+++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserDataServiceImpl.java
@@ -122,35 +122,4 @@ public class UserDataServiceImpl implements UserDataService {
         }
         return R.ok(0, true);
     }
-
-    @Override
-    public R<Boolean> getBottom(UserQueryVo queryVo) {
-        Long usersId = userDataMapper.getMaxId();
-        log.info("开始计算用户id:" + usersId);
-        if (null == usersId) {
-            usersId = 0L;
-        }
-        Integer startNo = Math.toIntExact(usersId) - 1;
-        Integer endNo = queryVo.getNumber();
-        //获取所有用户数据
-        List<UserData> list = userDataMapper.getBottom(startNo, endNo);
-        if (!CollectionUtils.isEmpty(list)) {
-            for (UserData userData : list) {
-                //3、向下最深层级层级数、伞下人员总和
-                UsersInfoDto userInfoDto = usersMapper.getLevelAndTotal(userData.getUserId());
-                if (null != userInfoDto) {
-                    if (null != userInfoDto.getBottom()) {
-                        userData.setBottom(userInfoDto.getBottom() - userData.getRank());
-                    }
-                    userData.setTotalPeople(userInfoDto.getTotalPeople());
-                }
-            }
-
-            boolean bool = userDataManger.updateBatchUserData(list);
-            if (!bool) {
-                return R.ok(1, false);
-            }
-        }
-        return R.ok(0, true);
-    }
 }
diff --git a/wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/UserDataController.java b/wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/UserDataController.java
index 83721c4..910d620 100644
--- a/wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/UserDataController.java
+++ b/wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/UserDataController.java
@@ -2,6 +2,7 @@ package cn.wisenergy.web.admin.controller.app;
 
 import cn.wisenergy.common.utils.R;
 import cn.wisenergy.model.vo.UserQueryVo;
+import cn.wisenergy.service.app.BottomService;
 import cn.wisenergy.service.app.UserDataService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -24,6 +25,9 @@ public class UserDataController {
     @Resource
     private UserDataService userDataService;
 
+    @Resource
+    private BottomService bottomService;
+
     @ApiOperation(value = "获取token接口", notes = "获取token接口", httpMethod = "POST")
     @ApiImplicitParam(name = "queryVo", value = "每次统计条数", dataType = "UserQueryVo")
     @PostMapping(value = "/user/saveBatchUserData")
@@ -35,6 +39,6 @@ public class UserDataController {
     @ApiImplicitParam(name = "queryVo", value = "每次统计条数", dataType = "UserQueryVo")
     @PostMapping(value = "/user/updateBatchUserData")
     public R<Boolean> updateBatchUserData(@RequestBody UserQueryVo queryVo) {
-        return userDataService.getBottom(queryVo);
+        return bottomService.getBottom(queryVo);
     }
 }
-- 
2.18.1