ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java
@@ -133,9 +133,9 @@ @PostMapping(value = "/api/t-app-user/delUser") public R<?> delUser(@RequestBody String param) { UserIdDto dto = JSON.parseObject(param, UserIdDto.class); TAppUser appUser = appUserService.getById(dto.getId()); appUser.setDisabled(true); appUserService.updateById(appUser); // TAppUser appUser = appUserService.getById(dto.getId()); // appUser.setDisabled(true); appUserService.removeById(dto.getId()); return R.ok(); } @@ -145,7 +145,7 @@ * 禁用/启用 */ // @PreAuthorize("@ss.hasPermi('system:user:updateStatus')") @ApiOperation(value = "禁用/启用") @ApiOperation(value = "禁用/启用", response = UpAndDownDTO.class) @PostMapping(value = "/api/t-app-user/updateStatus") public R<?> updateStatus(@RequestBody String param) { UpAndDownDTO dto = JSON.parseObject(param, UpAndDownDTO.class); ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java
@@ -3,7 +3,9 @@ import com.alibaba.fastjson2.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.EquipmentDto; import com.ruoyi.system.model.*; @@ -24,10 +26,7 @@ import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.*; import java.util.stream.Collectors; import static java.util.stream.Collectors.groupingBy; @@ -53,8 +52,9 @@ private final TMissionAssignRuleService missionReassignService; private final TAppUserEquipmentService appUserEquipmentService; private final TEquipmentService equipmentService; private final RedisCache redisCache; @Autowired public TDataStatisticsController(TMissionService missionService, TokenService tokenService, TMissionUserService missionUserService, TAppUserService appUserService, TDivisionTeamService divisionTeamService, TMissionAssignRuleService missionReassignService1, TAppUserEquipmentService appUserEquipmentService, TEquipmentService equipmentService) { public TDataStatisticsController(TMissionService missionService, TokenService tokenService, TMissionUserService missionUserService, TAppUserService appUserService, TDivisionTeamService divisionTeamService, TMissionAssignRuleService missionReassignService1, TAppUserEquipmentService appUserEquipmentService, TEquipmentService equipmentService, RedisCache redisCache) { this.missionService = missionService; this.tokenService = tokenService; this.missionUserService = missionUserService; @@ -63,6 +63,7 @@ this.missionReassignService = missionReassignService1; this.appUserEquipmentService = appUserEquipmentService; this.equipmentService = equipmentService; this.redisCache = redisCache; } @ApiOperation(value = "获取数据-第一部分") @@ -238,6 +239,23 @@ return R.ok(indexDataVo); } @ApiOperation(value = "获取数据-第三部分 点位信息") @GetMapping(value = "/open/t-data-statistics/getDataThree") public R<HashMap<String, Object>> getDataThree() { List<TMission> list = missionService.list(); List<TAppUser> list1 = appUserService.list(); HashMap<String, Object> map = new HashMap<>(); ArrayList<Object> appUserLocations = new ArrayList<>(); for (TAppUser appUser : list1) { Object cacheObject = redisCache.getCacheObject(Constants.LOCATION + appUser.getId()); if(cacheObject!=null){ appUserLocations.add(cacheObject); } } map.put("mission", list); map.put("appUser", appUserLocations); return R.ok(map); } public static void main(String[] args) { String format = String.format("%05d", 2); ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TMissionReassignController.java
@@ -1,8 +1,26 @@ package com.ruoyi.web.controller.api; import com.alibaba.fastjson.JSON; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.dto.MissionSetUserDto; import com.ruoyi.system.model.TAppUser; import com.ruoyi.system.model.TMission; import com.ruoyi.system.model.TMissionUser; import com.ruoyi.system.query.TMissionQuery; import com.ruoyi.system.service.TAppUserService; import com.ruoyi.system.service.TMissionService; import com.ruoyi.system.service.TMissionUserService; import com.ruoyi.system.vo.TMissionReassignVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; /** * <p> @@ -13,8 +31,49 @@ * @since 2025-09-29 */ @RestController @RequestMapping("/t-mission-reassign") @RequestMapping("") @Api(tags = "任务支援、改派 ") public class TMissionReassignController { private final TMissionService missionService; private final TAppUserService appUserService; private final TMissionUserService missionUserService; public TMissionReassignController(TMissionService missionService, TAppUserService appUserService, TMissionUserService missionUserService) { this.missionService = missionService; this.appUserService = appUserService; this.missionUserService = missionUserService; } @ApiOperation(value = "任务指派", response = TMissionReassignVO.class) @PostMapping(value = "/api/t-mission-reassign/missionSetUser") public R<?> missionSetUser(@RequestBody String param) { MissionSetUserDto dto = JSON.parseObject(param, MissionSetUserDto.class); TMission tMission = missionService.getById(dto.getMissionId()); if(tMission.getStatus()!=1){ return R.fail("任务状态不是待指派"); } TAppUser appUser = appUserService.getById(dto.getAppUserId()); if(appUser.getMissionState()!=1){ return R.fail("用户正在执行任务"); } tMission.setStatus(2); tMission.setAssignTime(LocalDateTime.now()); missionService.updateById(tMission); TMissionUser missionUser = new TMissionUser(); missionUser.setAppUserId(dto.getAppUserId()); missionUser.setMissionId(dto.getMissionId()); missionUser.setUserType(1); missionUser.setStatus(0); missionUserService.save(missionUser); appUser.setMissionState(2); appUserService.updateById(appUser); return R.ok(); } } ruoyi-system/src/main/java/com/ruoyi/system/dto/MissionSetUserDto.java
New file @@ -0,0 +1,15 @@ package com.ruoyi.system.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("任务指派Dto") public class MissionSetUserDto { @ApiModelProperty("任务id") private String missionId; @ApiModelProperty("用户id") private String appUserId; } ruoyi-system/src/main/java/com/ruoyi/system/model/TMission.java
@@ -52,6 +52,10 @@ @TableField("mission_content") private String missionContent; @ApiModelProperty(value = "敌情数量") @TableField("enemy_content") private String enemyContent; @ApiModelProperty(value = "任务音频") @TableField("mission_audio") private String missionAudio; ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMissionServiceImpl.java
@@ -12,14 +12,8 @@ import com.ruoyi.common.core.redis.RedisCache; 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.mapper.*; import com.ruoyi.system.model.*; import com.ruoyi.system.query.TMissionQuery; import com.ruoyi.system.service.TMissionService; import com.ruoyi.system.vo.MissionTotalVo; @@ -28,6 +22,7 @@ import com.ruoyi.system.vo.TotalHistoryVo; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.text.SimpleDateFormat; @@ -64,6 +59,11 @@ @Resource private TMissionAssignRuleMapper missionAssignRuleMapper; @Resource private TAppUserMapper appUserMapper; @Override public PageInfo<TMissionVO> pageListAssigned(TMissionQuery query) { @@ -159,10 +159,16 @@ } @Override @Transactional(rollbackFor = Exception.class) public void successMission(TMissionUserDto dto, String userId) { TMissionUser user = missionUserMapper.selectById(dto.getId()); user.setSuccessTime(new Date()); BeanUtils.copyProperties(dto, user); String appUserId = user.getAppUserId(); TAppUser tAppUser = appUserMapper.selectById(appUserId); tAppUser.setMissionState(1); appUserMapper.updateById(tAppUser); // 判断这个任务还有正在执行的不 Long l = missionUserMapper.selectCount(new LambdaQueryWrapper<TMissionUser>().eq(TMissionUser::getMissionId, user.getMissionId()).eq(TMissionUser::getStatus, 0));