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 | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 166 insertions(+), 14 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 939d9a9..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,18 +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 @@ -29,23 +34,22 @@ private NeedProblemInventoryService inventoryService; @Override - public IPage<NeedProblemClaimDTO> getList(int pageNum, int pageSize, - String kind, String userId,String unitId) + public List<NeedProblemClaimDTO> getList(String taskId, String userId, String unitId) { - Page page = new Page<>(pageNum,pageSize); - return baseMapper.getList(page,kind,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()) { @@ -56,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) { @@ -77,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 @@ -92,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()) @@ -104,7 +120,7 @@ return R.fail("任务已开始!不能取消"); } - int num=baseMapper.expurgateData(id); + int num=baseMapper.expurgateData(id, taskId, userId); if(num>0) { return R.ok(); @@ -117,4 +133,140 @@ { return baseMapper.getJionNum(taskId,userId); } + + @Override + public int needClaimSignIn(String taskId, String userId, String type) + { + NeedProblemClaimDTO item=new NeedProblemClaimDTO(); + item.setTaskId(taskId); + item.setUserId(userId); + if(StringUtils.equals("1",type)) + { + //开始打卡 + item.setPunchStartTime(new Date()); + } + else { + NeedProblemClaimDTO userDto = baseMapper.getUserIdDetails(taskId, userId); + //结束打卡 + Date newDate = new Date(); + item.setPunchEndTime(newDate); + + 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