package com.hivekion.scenario.controller;
import com.hivekion.Global;
import com.hivekion.baseData.controller.BaseController;
import com.hivekion.baseData.entity.Scenario;
import com.hivekion.baseData.service.ScenarioService;
import com.hivekion.common.entity.PagedResultVo;
import com.hivekion.common.entity.ResponseData;
import com.hivekion.common.enums.ResultCodeEnum;
import com.hivekion.common.security.SecurityUtils;
import com.hivekion.common.uuid.IdUtils;
import com.hivekion.enums.ScenarioRoomStatusEnum;
import com.hivekion.scenario.bean.ScenarioWsParam;
import com.hivekion.scenario.entity.RoomLog;
import com.hivekion.scenario.entity.ScenarioRoom;
import com.hivekion.scenario.service.ScenarioRoomService;
import com.hivekion.scenario.service.ScenarioTaskService;
import io.swagger.annotations.ApiOperation;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
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;
/**
*
* 想定房间 前端控制器
*
*
* @author liDongYu
* @since 2025-09-03
*/
@RestController
@RequestMapping("/scenario/room")
public class ScenarioRoomController extends BaseController {
@Resource
private ScenarioRoomService scenarioRoomService;
@Resource
private ScenarioService scenarioService;
@Resource
private ScenarioTaskService scenarioTaskService;
/**
* 查询想定列表
*
* @return 查询结果
*/
@ApiOperation(value = "分页查询房间列表", notes = "")
@GetMapping("/list")
public PagedResultVo list(ScenarioRoom search) {
Map scenarioMap = scenarioService.scenarioMap();
//设置开始索引
search.setStart(search.getPageSize() * (search.getPageNum() - 1));
//查询结果列表
List list = scenarioRoomService.list(search);
for (ScenarioRoom scenarioRoom : list) {
if (scenarioMap.get(scenarioRoom.getScenarioId()) != null) {
scenarioRoom.setScenarioName(scenarioMap.get(scenarioRoom.getScenarioId()).getName());
}
}
//查询总数
Long total = scenarioRoomService.count(search);
return list(search, list, total);
}
@PostMapping("/save")
public ResponseData