| | |
| | | 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){ |
| | |
| | | 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)); |
| | | |
| | | if (Objects.nonNull(tAppUserEquipment)) { |
| | | |
| | | String equipmentCount1 = tAppUserEquipment.getEquipmentCount(); |
| | | List<EquipmentDto> dtos = JSONArray.parseArray(equipmentCount1, EquipmentDto.class); |
| | | String lossText = dto.getLossText(); |
| | | String victoryText = dto.getVictoryText(); |
| | | List<EquipmentDto> victoryTextDtos = JSONArray.parseArray(victoryText, EquipmentDto.class); |
| | |
| | | EquipmentDtoList.addAll(notHaveEquipment); |
| | | tAppUserEquipment.setEquipmentCount(JSON.toJSONString(EquipmentDtoList)); |
| | | appUserEquipmentMapper.updateById(tAppUserEquipment); |
| | | |
| | | |
| | | int winSum = victoryTextDtos.stream().filter(e -> !e.getId().equals("0")).mapToInt(EquipmentDto::getCount).sum(); |
| | | int oldSum = dtos.stream().mapToInt(EquipmentDto::getCount).sum(); |
| | | winSum = winSum + oldSum; |
| | | int lossSum = lossTextDtos.stream().filter(e -> !e.getId().equals("0")).mapToInt(EquipmentDto::getCount).sum(); |
| | | if(winSum!=0){ |
| | | user.setDamageRate(new BigDecimal(lossSum).divide(BigDecimal.valueOf(winSum), 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).doubleValue()); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } else { |
| | | tAppUserEquipment = new TAppUserEquipment(); |
| | | tAppUserEquipment.setAppUserId(userId); |
| | |
| | | } |
| | | tAppUserEquipment.setEquipmentCount(JSON.toJSONString(victoryTextDtos)); |
| | | appUserEquipmentMapper.insert(tAppUserEquipment); |
| | | |
| | | int winSum = victoryTextDtos.stream().filter(e -> !e.getId().equals("0")).mapToInt(EquipmentDto::getCount).sum(); |
| | | int lossSum = lossTextDtos.stream().filter(e -> !e.getId().equals("0")).mapToInt(EquipmentDto::getCount).sum(); |
| | | if(winSum!=0){ |
| | | user.setDamageRate(new BigDecimal(lossSum).divide(BigDecimal.valueOf(winSum), 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP).doubleValue()); |
| | | } |
| | | |
| | | } |
| | | |
| | | missionUserMapper.updateById(user); |
| | | } |
| | | |
| | | @Override |