From 26f6f43785afd992496d7fc79775124e557ff16d Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 21 十月 2025 17:56:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMissionServiceImpl.java |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 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 6d98534..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
@@ -167,8 +167,19 @@
         // 判断这个任务还有正在执行的不
         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