From 08f1b1f1804a8bd833d42f257908d80e88387b55 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 14 三月 2025 11:27:47 +0800
Subject: [PATCH] 3.5增加登录验证、修改密码、人员列表调整
---
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/NeedProblemClaimServiceImpl.java | 167 +++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 147 insertions(+), 20 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 fbf9b1e..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,23 @@
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.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.Calendar;
import java.util.Date;
+import java.util.List;
/**
* @program: springcloud_k8s_panzhihuazhihuishequ
@@ -30,23 +34,22 @@
private NeedProblemInventoryService inventoryService;
@Override
- public IPage<NeedProblemClaimDTO> getList(int pageNum, int pageSize,
- String taskId, String userId,String unitId)
+ public List<NeedProblemClaimDTO> getList(String taskId, String userId, String unitId)
{
- Page page = new Page<>(pageNum,pageSize);
- return baseMapper.getList(page,taskId,userId,unitId);
+// Page page = new Page<>(pageNum,pageSize);
+ return baseMapper.getList(taskId,userId,unitId);
}
@Override
- public NeedProblemClaimDTO getDetails(String id) {
- return baseMapper.getDetails(id);
+ public NeedProblemClaimDTO getDetails(String id,String taskId, String userId) {
+ return baseMapper.getDetails(id,taskId,userId);
}
@Override
public R addData(NeedProblemClaimDTO item)
{
//任务问题详情
- NeedProblemInventoryDTO inventoryDTO=inventoryService.getDetails(item.getTaskId());
+ NeedProblemInventoryDTO inventoryDTO=inventoryService.getDetails(item.getTaskId(),item.getUserId());
long times=System.currentTimeMillis();
if(times<inventoryDTO.getClaimStartTime().getTime())
{
@@ -57,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)
{
@@ -78,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
@@ -93,11 +108,11 @@
}
@Override
- public R expurgateData(String id)
+ public R expurgateData(String id,String taskId,String userId)
{
//报名信息
- NeedProblemClaimDTO claimDTO=baseMapper.getDetails(id);
- NeedProblemInventoryDTO inventoryDTO=inventoryService.getDetails(claimDTO.getTaskId());
+ NeedProblemClaimDTO claimDTO=baseMapper.getDetails(id,taskId,userId);
+ NeedProblemInventoryDTO inventoryDTO=inventoryService.getDetails(claimDTO.getTaskId(),claimDTO.getUserId());
long times=System.currentTimeMillis();
if(times>inventoryDTO.getNeedStartTime().getTime())
@@ -105,7 +120,7 @@
return R.fail("任务已开始!不能取消");
}
- int num=baseMapper.expurgateData(id);
+ int num=baseMapper.expurgateData(id, taskId, userId);
if(num>0)
{
return R.ok();
@@ -130,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