From 179c4d64313c9b7572778da4aaaf6c6584fe457d Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 20 五月 2025 23:48:08 +0800
Subject: [PATCH] 修改文件上传类型限制

---
 springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/NeedProblemClaimServiceImpl.java |  146 +++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 136 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..7d78ae9 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,19 +1,21 @@
 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.model.vos.community.ComActActRegistVO;
+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;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
@@ -58,6 +60,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 +87,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,16 +145,128 @@
             //开始打卡
             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);
     }
+
+    @Override
+    public R upNewFightNeedProblemClaimEndTime()
+    {
+
+        //获取未签退的活动id
+        List<String> activityList=baseMapper.getNotTimeTaskList();
+        if(activityList!=null && activityList.size()>0)
+        {
+            for (String aId:activityList)
+            {
+                NeedProblemInventoryDTO comActActivityDO=baseMapper.getActivityEndTime(aId);
+
+                if(comActActivityDO!=null)
+                {
+                    if(comActActivityDO.getNeedEndTime().getTime()<new Date().getTime())
+                    {
+                        List<NeedProblemClaimDTO> timeList=baseMapper.getNotTimeId(aId);
+                        for (NeedProblemClaimDTO user:timeList)
+                        {
+                            long time=comActActivityDO.getNeedEndTime().getTime()-user.getPunchStartTime().getTime();
+                            baseMapper.updateEndTime(user.getId(),time+"",comActActivityDO.getNeedEndTime());
+                        }
+                    }
+                }
+                else
+                {
+                    List<NeedProblemClaimDTO> timeList=baseMapper.getNotTimeId(aId);
+                    for (NeedProblemClaimDTO user:timeList)
+                    {
+                        Calendar calendar = Calendar.getInstance();
+                        calendar.setTime(user.getPunchStartTime());
+                        calendar.add(Calendar.HOUR_OF_DAY, 3); // 加3小时
+                        Date newDate = calendar.getTime();
+                        long time=newDate.getTime()-user.getPunchStartTime().getTime();
+
+                        baseMapper.updateEndTime(user.getId(),time+"",newDate);
+                    }
+                }
+
+            }
+
+        }
+
+        return R.ok();
+    }
+
+
 }

--
Gitblit v1.7.1