From 246bca532710b8c6f44a32092020c5645d7844d8 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期五, 30 七月 2021 17:35:23 +0800
Subject: [PATCH] 计算积分

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java |   46 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 39 insertions(+), 7 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java
index a0eeb40..b77006c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java
@@ -49,6 +49,10 @@
     private ComActMicroWishService comActMicroWishService;
     @Resource
     private ComActDiscussDAO comActDiscussDAO;
+    @Resource
+    private ComActDiscussOptionService comActDiscussOptionService;
+    @Resource
+    private ComActActivityService comActActivityService;
 
     /**
      * 查询用户某个时间段交易数量
@@ -169,7 +173,7 @@
         }
         //判断规则是否有次数限制
         if(integralRuleDO.getIsRestrict().equals(ComActIntegralRuleDO.isRestrict.yes)){
-            Integer count = this.baseMapper.getIntegralCount(getIntegralCountDTO(integralRuleDO.getType(),userId,communityId));
+            Integer count = this.baseMapper.getIntegralCount(getIntegralCountDTO(integralRuleDO.getType(),userId,communityId,integralRuleDO.getIntegralType()));
             if(count >= integralRuleDO.getCount()){
                 log.error("该用户参加任务次数已达上限");
                 return R.fail("该用户参加任务次数已达上限");
@@ -198,19 +202,43 @@
                 break;
             case 3:
                 remark.append("参与议事投票奖励积分");
-                ComActDiscussDO discussDO = comActDiscussDAO.selectById(serviceId);
-                if(discussDO != null){
-                    remark.append("【");
-                    remark.append(discussDO.getVoteTitle());
-                    remark.append("】");
+                if(integralUserDTO.getIsComment().equals(1)){
+                    ComActDiscussDO discussDO = comActDiscussDAO.selectById(serviceId);
+                    if(discussDO != null){
+                        remark.append("【");
+                        remark.append(discussDO.getVoteTitle());
+                        remark.append("】");
+                    }
+                }else{
+                    ComActDiscussOptionDO discussOptionDO = comActDiscussOptionService.getById(serviceId);
+                    if(discussOptionDO != null){
+                        ComActDiscussDO discussDO = comActDiscussDAO.selectById(discussOptionDO.getDiscussId());
+                        if(discussDO != null){
+                            remark.append("【");
+                            remark.append(discussDO.getVoteTitle());
+                            remark.append("】");
+                        }
+                    }
                 }
                 break;
             case 4:
                 identityType = 3;
                 remark.append("参与志愿者活动奖励积分");
+                ComActActivityDO actActivityZYZDO = comActActivityService.getById(serviceId);
+                if(actActivityZYZDO != null){
+                    remark.append("【");
+                    remark.append(actActivityZYZDO.getActivityName());
+                    remark.append("】");
+                }
                 break;
             case 5:
                 remark.append("参与社区活动奖励积分");
+                ComActActivityDO actActivityDO = comActActivityService.getById(serviceId);
+                if(actActivityDO != null){
+                    remark.append("【");
+                    remark.append(actActivityDO.getActivityName());
+                    remark.append("】");
+                }
                 break;
             case 6:
                 identityType = 2;
@@ -240,6 +268,9 @@
                     identityType = 3;
                 }
                 remark.append("参与调查问卷奖励积分");
+                remark.append("【");
+                remark.append(questnaireDO.getTitle());
+                remark.append("】");
                 break;
             default:
                 break;
@@ -324,10 +355,11 @@
      * @param communityId   社区id
      * @return  查询请求参数
      */
-    private ComActIntegralCountDTO getIntegralCountDTO(Integer type,Long userId,Long communityId){
+    private ComActIntegralCountDTO getIntegralCountDTO(Integer type,Long userId,Long communityId,Integer integralType){
         ComActIntegralCountDTO integralCountDTO = new ComActIntegralCountDTO();
         integralCountDTO.setUserId(userId);
         integralCountDTO.setCommunityId(communityId);
+        integralCountDTO.setServiceType(integralType);
         integralCountDTO.setType(ComActIntegralUserTradeDO.changeType.add);
         if(type.equals(ComActIntegralRuleDO.type.month)){
             integralCountDTO.setStartTime(DateUtils.getFirstDayOfMonthString());

--
Gitblit v1.7.1