From 4ad4b51a4fb177eafee8a3a355496e7b6c1be662 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期四, 11 七月 2024 16:24:46 +0800
Subject: [PATCH] 花城 小程序签退打卡获取积分详情报错2

---
 springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/NeedProblemClaimServiceImpl.java |   96 +++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 86 insertions(+), 10 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 f5427d6..0f257f4 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
@@ -1,16 +1,16 @@
 package com.panzhihua.service_dangjian.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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 org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -58,6 +58,12 @@
         {
             return R.fail("报名已结束");
         }
+
+        if(StringUtils.equals(inventoryDTO.getJoinNum(),inventoryDTO.getClaimNum()))
+        {
+            return R.fail("认领人数已满");
+        }
+
         int isJion= baseMapper.getJionNum(item.getTaskId(),item.getUserId());
         if(isJion>0)
         {
@@ -79,7 +85,13 @@
                 return R.fail("参与人数已满");
             }
         }
-        return R.ok(baseMapper.addData(item));
+
+        int num=baseMapper.addData(item);
+        if(num!=1)
+        {
+            return R.fail("报名失败");
+        }
+        return R.ok();
     }
 
     @Override
@@ -131,15 +143,79 @@
             //开始打卡
             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,dto.getCommunityId());
+            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=0;
+                int integralAvailableSum=0;
+                int integralSum=0;
+
+                if(!StringUtils.isEmpty(dto.getAward()))
+                {
+                    award=Integer.valueOf(dto.getAward());
+                }
+
+                if(!StringUtils.isEmpty(integral.getIntegralAvailableSum()))
+                {
+                    integralAvailableSum=Integer.valueOf(integral.getIntegralAvailableSum())+award;
+                }
+
+                if(!StringUtils.isEmpty(integral.getIntegralSum()))
+                {
+                    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