From 087ccd2a2b3575598cc3cb98106979bf309839ae Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期五, 10 十月 2025 17:51:21 +0800 Subject: [PATCH] app任务 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMissionServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 42 insertions(+), 1 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 6889082..c4bcb6a 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 @@ -13,10 +13,12 @@ import com.ruoyi.system.dto.EquipmentDto; import com.ruoyi.system.dto.TMissionUserDto; import com.ruoyi.system.mapper.TAppUserEquipmentMapper; +import com.ruoyi.system.mapper.TMissionAssignRuleMapper; import com.ruoyi.system.mapper.TMissionMapper; import com.ruoyi.system.mapper.TMissionUserMapper; import com.ruoyi.system.model.TAppUserEquipment; import com.ruoyi.system.model.TMission; +import com.ruoyi.system.model.TMissionAssignRule; import com.ruoyi.system.model.TMissionUser; import com.ruoyi.system.query.TMissionQuery; import com.ruoyi.system.service.TMissionService; @@ -61,6 +63,9 @@ @Resource private TAppUserEquipmentMapper appUserEquipmentMapper; + + @Resource + private TMissionAssignRuleMapper missionAssignRuleMapper; @Override public PageInfo<TMissionVO> pageListAssigned(TMissionQuery query) { @@ -160,7 +165,12 @@ TMissionUser user = missionUserMapper.selectById(dto.getId()); 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)); + } // 更新装备 TAppUserEquipment tAppUserEquipment = appUserEquipmentMapper.selectOne(new LambdaQueryWrapper<TAppUserEquipment>().eq(TAppUserEquipment::getAppUserId, userId).eq(TAppUserEquipment::getAppUserId, userId)); if (Objects.nonNull(tAppUserEquipment)) { @@ -250,6 +260,9 @@ try { boolean b = redisCache.trylockLoop(missionId, UUID.randomUUID().toString(), 30); if (b) { + TMission tMission = this.baseMapper.selectById(missionId); + tMission.setStatus(2); + this.baseMapper.updateById(tMission); TMissionUser tMissionUser = new TMissionUser(); tMissionUser.setAppUserId(userId); tMissionUser.setMissionId(missionId); @@ -269,6 +282,15 @@ public PageInfo<TMission> pageNowList(BasePage query, String userId) { PageInfo<TMission> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TMission> list = this.baseMapper.pageNowList(pageInfo, userId); + if(!list.isEmpty()){ + List<TMissionAssignRule> tMissionAssignRules = missionAssignRuleMapper.selectBatchIds(list.stream().map(TMission::getMissionTypeId).collect(Collectors.toList())); + list.forEach(e -> { + TMissionAssignRule tMissionAssignRule = tMissionAssignRules.stream().filter(rule -> rule.getId().equals(e.getMissionTypeId())).findFirst().orElse(null); + if(tMissionAssignRule != null){ + e.setMissionType(tMissionAssignRule.getTypeName()); + } + }); + } pageInfo.setRecords(list); return pageInfo; } @@ -277,6 +299,16 @@ public PageInfo<TMission> pageGrabList(BasePage query) { PageInfo<TMission> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); PageInfo<TMission> tMissionPageInfo = this.baseMapper.selectPage(pageInfo, new LambdaQueryWrapper<TMission>().eq(TMission::getStatus, 1).eq(TMission::getIsMissionPool, 1).orderByDesc(BaseModel::getCreateTime)); + List<TMission> records = tMissionPageInfo.getRecords(); + if(!records.isEmpty()){ + List<TMissionAssignRule> tMissionAssignRules = missionAssignRuleMapper.selectBatchIds(records.stream().map(TMission::getMissionTypeId).collect(Collectors.toList())); + records.forEach(e -> { + TMissionAssignRule tMissionAssignRule = tMissionAssignRules.stream().filter(rule -> rule.getId().equals(e.getMissionTypeId())).findFirst().orElse(null); + if(tMissionAssignRule != null){ + e.setMissionType(tMissionAssignRule.getTypeName()); + } + }); + } return tMissionPageInfo; } @@ -284,6 +316,15 @@ public PageInfo<TMission> pageHistoryList(BasePage query, String userId) { PageInfo<TMission> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TMission> list = this.baseMapper.pageHistoryList(pageInfo, userId); + if(!list.isEmpty()){ + List<TMissionAssignRule> tMissionAssignRules = missionAssignRuleMapper.selectBatchIds(list.stream().map(TMission::getMissionTypeId).collect(Collectors.toList())); + list.forEach(e -> { + TMissionAssignRule tMissionAssignRule = tMissionAssignRules.stream().filter(rule -> rule.getId().equals(e.getMissionTypeId())).findFirst().orElse(null); + if(tMissionAssignRule != null){ + e.setMissionType(tMissionAssignRule.getTypeName()); + } + }); + } pageInfo.setRecords(list); return pageInfo; } -- Gitblit v1.7.1