feat(schedule): 添加赛程配置API,支持动态时间段配置
- 添加 GET /martial/schedule/config API 暴露 ScheduleConfig - 返回 morningStartTime, afternoonStartTime 等配置 - 更新 docker-compose.yml 使用 Dockerfile.quick
This commit is contained in:
@@ -85,8 +85,8 @@ services:
|
||||
# 后端应用(完整构建模式)
|
||||
martial-api:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: martial-master/Dockerfile.fullbuild
|
||||
context: .
|
||||
dockerfile: Dockerfile.quick
|
||||
container_name: martial-api
|
||||
restart: always
|
||||
environment:
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.springblade.core.boot.ctrl.BladeController;
|
||||
import org.springblade.core.secure.BladeUser;
|
||||
import org.springblade.core.secure.utils.AuthUtil;
|
||||
import org.springblade.core.tool.api.R;
|
||||
import org.springblade.modules.martial.config.ScheduleConfig;
|
||||
import org.springblade.modules.martial.pojo.dto.MoveScheduleGroupDTO;
|
||||
import org.springblade.modules.martial.pojo.dto.SaveScheduleDraftDTO;
|
||||
import org.springblade.modules.martial.pojo.dto.ScheduleResultDTO;
|
||||
@@ -15,6 +16,7 @@ import org.springblade.modules.martial.service.IMartialScheduleArrangeService;
|
||||
import org.springblade.modules.martial.service.IMartialScheduleService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -31,6 +33,24 @@ public class MartialScheduleArrangeController extends BladeController {
|
||||
|
||||
private final IMartialScheduleArrangeService scheduleArrangeService;
|
||||
private final IMartialScheduleService scheduleService;
|
||||
private final ScheduleConfig scheduleConfig;
|
||||
|
||||
/**
|
||||
* 获取赛程配置
|
||||
*/
|
||||
@GetMapping("/config")
|
||||
@Operation(summary = "获取赛程配置", description = "获取赛程编排的时间配置")
|
||||
public R<Map<String, Object>> getScheduleConfig() {
|
||||
Map<String, Object> config = new HashMap<>();
|
||||
config.put("morningStartTime", scheduleConfig.getMorningStartTime());
|
||||
config.put("morningEndTime", scheduleConfig.getMorningEndTime());
|
||||
config.put("afternoonStartTime", scheduleConfig.getAfternoonStartTime());
|
||||
config.put("afternoonEndTime", scheduleConfig.getAfternoonEndTime());
|
||||
config.put("maxPeoplePerGroup", scheduleConfig.getMaxPeoplePerGroup());
|
||||
config.put("targetPeoplePerGroup", scheduleConfig.getTargetPeoplePerGroup());
|
||||
config.put("defaultDurationPerPerson", scheduleConfig.getDefaultDurationPerPerson());
|
||||
return R.data(config);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取编排结果
|
||||
@@ -69,13 +89,11 @@ public class MartialScheduleArrangeController extends BladeController {
|
||||
@Operation(summary = "完成编排并锁定", description = "传入赛事ID")
|
||||
public R saveAndLock(@RequestBody SaveScheduleDraftDTO dto) {
|
||||
try {
|
||||
// 获取当前登录用户
|
||||
BladeUser user = AuthUtil.getUser();
|
||||
String userId = user != null ? user.getUserName() : "system";
|
||||
|
||||
boolean success = scheduleService.saveAndLockSchedule(dto.getCompetitionId());
|
||||
if (success) {
|
||||
// 调用原有的锁定逻辑
|
||||
scheduleArrangeService.saveAndLock(dto.getCompetitionId(), userId);
|
||||
return R.success("编排已完成并锁定");
|
||||
} else {
|
||||
@@ -167,7 +185,6 @@ public class MartialScheduleArrangeController extends BladeController {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新参赛者签到状态
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user