feat(优先级):维度权重可配置并即时重算
- 新表 user_priority_weights(每用户一行,默认 0.35/0.25/0.20/0.10/0.10) - PriorityWeightsService:读取/保存权重,权重和必须为 1,保存后重算全部任务 - TaskController:GET/PUT /tasks/priority-weights - CalculatedPriorityTool 支持自定义权重 - 修复 updateTask 不重算优先级的问题
This commit is contained in:
@@ -11,8 +11,10 @@ import com.guo.learningprogresstracker.entity.CommonResult;
|
||||
import com.guo.learningprogresstracker.dto.request.TaskRequest;
|
||||
import com.guo.learningprogresstracker.dto.request.UpdateTaskApplicationRequest;
|
||||
import com.guo.learningprogresstracker.entity.TaskApplicationEntity;
|
||||
import com.guo.learningprogresstracker.entity.UserPriorityWeightsEntity;
|
||||
import com.guo.learningprogresstracker.exception.ErrorParameterException;
|
||||
import com.guo.learningprogresstracker.exception.NotFindEntitiesException;
|
||||
import com.guo.learningprogresstracker.service.PriorityWeightsService;
|
||||
import com.guo.learningprogresstracker.service.TasksService;
|
||||
import com.guo.learningprogresstracker.service.impl.StudySessionsServiceImpl;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -48,6 +50,21 @@ public class TaskController {
|
||||
|
||||
private final StudySessionsServiceImpl studySessionsServiceImpl;
|
||||
|
||||
private final PriorityWeightsService priorityWeightsService;
|
||||
|
||||
@GetMapping("/priority-weights")
|
||||
@Operation(summary = "获取优先级维度权重配置")
|
||||
public CommonResult<UserPriorityWeightsEntity> getPriorityWeights() {
|
||||
return CommonResult.success(priorityWeightsService.getWeights());
|
||||
}
|
||||
|
||||
@PutMapping("/priority-weights")
|
||||
@Operation(summary = "保存优先级维度权重配置并重算全部任务优先级")
|
||||
public CommonResult<UserPriorityWeightsEntity> savePriorityWeights(
|
||||
@RequestBody UserPriorityWeightsEntity weights) throws ErrorParameterException {
|
||||
return CommonResult.success(priorityWeightsService.saveWeights(weights));
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@Operation(summary = "添加新任务")
|
||||
public CommonResult<String> addTask(@RequestBody @Validated({Ops.CreateG.class}) TaskRequest taskRequest) throws ErrorParameterException {
|
||||
|
||||
Reference in New Issue
Block a user