| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | @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)); |