From bd29af926dc2e0c63a6b55d6af90092ae25068b6 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期三, 10 七月 2024 17:37:49 +0800
Subject: [PATCH] 花城 完成需求问题清单以后添加积分记录

---
 springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/NeedProblemClaimServiceImpl.java |   64 +++++++++++++++++++++++++++++---
 1 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/NeedProblemClaimServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/NeedProblemClaimServiceImpl.java
index b0cb1a9..a17faef 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/NeedProblemClaimServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/NeedProblemClaimServiceImpl.java
@@ -4,10 +4,14 @@
 import com.panzhihua.common.model.dtos.partybuilding.NeedProblemClaimDTO;
 import com.panzhihua.common.model.dtos.partybuilding.NeedProblemInventoryDTO;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.utlis.Snowflake;
 import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.service_dangjian.dao.NeedProblemClaimDAO;
+import com.panzhihua.service_dangjian.entity.UserIntegral;
+import com.panzhihua.service_dangjian.entity.UserTrade;
 import com.panzhihua.service_dangjian.service.NeedProblemClaimService;
 import com.panzhihua.service_dangjian.service.NeedProblemInventoryService;
+import io.swagger.annotations.ApiModelProperty;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -140,15 +144,63 @@
             //开始打卡
             item.setPunchStartTime(new Date());
         }
-        else
-        {
-            NeedProblemClaimDTO userDto=baseMapper.getUserIdDetails(taskId,userId);
+        else {
+            NeedProblemClaimDTO userDto = baseMapper.getUserIdDetails(taskId, userId);
             //结束打卡
-            Date newDate=new Date();
+            Date newDate = new Date();
             item.setPunchEndTime(newDate);
 
-            long times=newDate.getTime()-userDto.getPunchStartTime().getTime();
-            item.setServiceTime(times+"");
+            long times = newDate.getTime() - userDto.getPunchStartTime().getTime();
+            item.setServiceTime(times + "");
+
+            NeedProblemInventoryDTO dto=inventoryService.getDetails(taskId,userId);
+            UserTrade userTrade=new UserTrade();
+            //增加积分
+            UserIntegral integral = baseMapper.getUserIntegral(userId);
+            if (integral == null) {
+                UserIntegral addIn = new UserIntegral();
+                addIn.setId(Snowflake.getId()+"");
+                addIn.setUserId(userId);
+                addIn.setCommunityId(dto.getCommunityId());
+                addIn.setIntegralAvailableSum(dto.getAward());
+                addIn.setIntegralSum(dto.getAward());
+                userTrade.setIntegralId(addIn.getId());
+                baseMapper.addUserIntegral(addIn);
+            }
+            else
+            {
+                int award=Integer.valueOf(dto.getAward());
+                int integralAvailableSum=Integer.valueOf(integral.getIntegralAvailableSum())+award;
+                int integralSum=Integer.valueOf(integral.getIntegralSum())+award;
+                userTrade.setIntegralId(integral.getId());
+                integral.setIntegralAvailableSum(integralAvailableSum+"");
+                integral.setIntegralSum(integralSum+"");
+                baseMapper.editUserIntegral(integral);
+            }
+
+            userTrade.setServiceId(dto.getId());
+            userTrade.setId(Snowflake.getId()+"");
+            userTrade.setAmount(dto.getAward());
+            userTrade.setChangeType("1");
+            userTrade.setUserId(userId);
+            userTrade.setCommunityId(dto.getCommunityId());
+            userTrade.setCreateBy(userId);
+
+//            @ApiModelProperty("1问题清单  2需求清单")
+//            private String kind;
+            if(StringUtils.equals("2",dto.getKind()))
+            {
+                //19 完成需求任务
+                userTrade.setServiceType("19");
+                userTrade.setRemark("完成需求清单任务奖励");
+            }
+            else
+            {
+                //20完成问题任务
+                userTrade.setServiceType("20");
+                userTrade.setRemark("完成问题清单任务奖励");
+            }
+            baseMapper.addUserIntegralTrade(userTrade);
         }
         return baseMapper.editData(item);
     }

--
Gitblit v1.7.1