From 3c884ccd7b51edf3b36840bf99de5edaa41a38a7 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期三, 12 十月 2022 19:05:28 +0800
Subject: [PATCH] 三说会堂事件流程处理

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java |   86 ++++++++++++++++++++++++++----------------
 1 files changed, 53 insertions(+), 33 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java
index e5b9d4d..21ab47c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserServiceImpl.java
@@ -34,6 +34,9 @@
 
 import lombok.extern.slf4j.Slf4j;
 
+import static java.util.Objects.isNull;
+import static java.util.Objects.nonNull;
+
 /**
  * @auther lyq
  * @create 2021-07-28 16:02:57
@@ -126,7 +129,7 @@
     }
 
     /**
-     * 小程序-查询用户积分列表
+     * 小程序-积分统计
      * 
      * @param userId
      *            用户id
@@ -134,41 +137,25 @@
      */
     @Override
     public R getIntegralUserListApplets(Long userId, Long communityId) {
-        ComActIntegralUserVO integralUserVO = new ComActIntegralUserVO();
-        Integer amount = 0;
-        // 查询该用户在本社区下的积分账户是否存在,不存在则需要给用户创建
-        ComActIntegralUserDO integralUserDO =
-            this.baseMapper.selectOne(new QueryWrapper<ComActIntegralUserDO>().lambda()
-                .eq(ComActIntegralUserDO::getCommunityId, communityId).eq(ComActIntegralUserDO::getUserId, userId));
-        if (integralUserDO == null) {
-            integralUserDO = new ComActIntegralUserDO();
-            integralUserDO.setCommunityId(communityId);
-            integralUserDO.setUserId(userId);
-            integralUserDO.setCreateAt(new Date());
-            this.baseMapper.insert(integralUserDO);
-        }
-
-        // 查询用户积分账户列表
-        List<ComActIntegralUserListVO> integralUserList = this.baseMapper.getIntegralUserListApplets(userId);
-        if (!integralUserList.isEmpty()) {
-            for (ComActIntegralUserListVO integralUser : integralUserList) {
-                // 查询用户在本社区积分排行
-                IntegralUserRankVO userRank =
-                    this.baseMapper.getIntegralUserRank(integralUser.getCommunityId(), userId);
-                if (userRank != null) {
-                    integralUser.setRank(userRank.getRank());
-                    amount += integralUser.getAmount();
-                }
+        if (nonNull(communityId)) {
+            // 查询该用户在本社区下的积分账户是否存在,不存在则需要给用户创建
+            ComActIntegralUserDO integralUserDO =
+                    this.baseMapper.selectOne(new QueryWrapper<ComActIntegralUserDO>().lambda()
+                            .eq(ComActIntegralUserDO::getCommunityId, communityId).eq(ComActIntegralUserDO::getUserId, userId));
+            if (integralUserDO == null) {
+                integralUserDO = new ComActIntegralUserDO();
+                integralUserDO.setCommunityId(communityId);
+                integralUserDO.setUserId(userId);
+                integralUserDO.setCreateAt(new Date());
+                this.baseMapper.insert(integralUserDO);
             }
         }
-        // 查询用户绑定社区名字
-        ComActDO actDO = comActDAO.selectById(communityId);
-        if (actDO != null) {
-            integralUserVO.setCommunityName(actDO.getName());
+        ComActIntegralUserVO integralUserVO = this.baseMapper.getUserIntegralStatistics(userId, communityId);
+        if (isNull(communityId)) {
+            // 各社区已获积分统计
+            List<ComActIntegralUserListVO> integralUserList = this.baseMapper.getIntegralUserListApplets(userId);
+            integralUserVO.setIntegralUserList(integralUserList);
         }
-
-        integralUserVO.setAmount(amount);
-        integralUserVO.setIntegralUserList(integralUserList);
         return R.ok(integralUserVO);
     }
 
@@ -196,4 +183,37 @@
     public R getTaskActivityPeopleList(Long activityId) {
         return R.ok(this.baseMapper.getTaskActivityPeopleList(activityId));
     }
+
+    @Override
+    public R getUserIntegralBalance(Long userId, Long communityId) {
+        ComActIntegralUserVO integralUserVO = new ComActIntegralUserVO();
+        // 查询该用户在本社区下的积分账户是否存在,不存在则需要给用户创建
+        ComActIntegralUserDO integralUserDO =
+                this.baseMapper.selectOne(new QueryWrapper<ComActIntegralUserDO>().lambda()
+                        .eq(ComActIntegralUserDO::getCommunityId, communityId).eq(ComActIntegralUserDO::getUserId, userId));
+        if (integralUserDO == null) {
+            integralUserDO = new ComActIntegralUserDO();
+            integralUserDO.setCommunityId(communityId);
+            integralUserDO.setUserId(userId);
+            integralUserDO.setCreateAt(new Date());
+            this.baseMapper.insert(integralUserDO);
+        }
+        // 查询用户绑定社区名字
+        ComActDO actDO = comActDAO.selectById(communityId);
+        if (actDO != null) {
+            integralUserVO.setCommunityName(actDO.getName());
+        }
+        integralUserVO.setAmount(integralUserDO.getIntegralSum());
+        return R.ok(integralUserVO);
+    }
+
+    /**
+     * 获取积分详情
+     * @param id
+     * @return
+     */
+    @Override
+    public R getUserIntegralDetail(Long id) {
+        return comActIntegralUserTradeService.getUserIntegralDetail(id);
+    }
 }

--
Gitblit v1.7.1