From 71a77992bd0095a446ca181b7ca1a6f5ec8e1ba6 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 22 十月 2025 18:05:12 +0800
Subject: [PATCH] 人员管理

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMissionServiceImpl.java |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMissionServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMissionServiceImpl.java
index c4bcb6a..db92bbd 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMissionServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMissionServiceImpl.java
@@ -34,14 +34,12 @@
 import java.time.Duration;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.List;
-import java.util.UUID;
 import java.util.stream.Collectors;
 
 /**
@@ -163,13 +161,25 @@
     @Override
     public void successMission(TMissionUserDto dto, String userId) {
         TMissionUser user = missionUserMapper.selectById(dto.getId());
+        user.setSuccessTime(new Date());
         BeanUtils.copyProperties(dto, user);
         missionUserMapper.updateById(user);
         // 判断这个任务还有正在执行的不
         Long l = missionUserMapper.selectCount(new LambdaQueryWrapper<TMissionUser>().eq(TMissionUser::getMissionId, user.getMissionId()).eq(TMissionUser::getStatus, 0));
         if (l == 0){
-            // 全部执行完  任务完成
-            this.update(new LambdaUpdateWrapper<TMission>().eq(TMission::getId, user.getMissionId()).set(TMission::getStatus, 4));
+
+            TMission tMission = this.getById(user.getMissionId());
+            tMission.setFinishTime(LocalDateTime.now());
+            // 判断是否全部完成
+            Long unSuccessCount = missionUserMapper.selectCount(new LambdaQueryWrapper<TMissionUser>().eq(TMissionUser::getMissionId, user.getMissionId()).eq(TMissionUser::getStatus, 2));
+            if(unSuccessCount>0){
+                tMission.setStatus(6);
+            }else {
+                tMission.setStatus(4);
+            }
+            LocalDateTime assignTime = tMission.getAssignTime();
+            tMission.setSuccessTime((double) Duration.between(assignTime, tMission.getFinishTime()).toHours());
+            this.updateById(tMission);
         }
         // 更新装备
         TAppUserEquipment tAppUserEquipment = appUserEquipmentMapper.selectOne(new LambdaQueryWrapper<TAppUserEquipment>().eq(TAppUserEquipment::getAppUserId, userId).eq(TAppUserEquipment::getAppUserId, userId));

--
Gitblit v1.7.1