package jnpf.tmsController; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jnpf.base.ActionResult; import jnpf.base.vo.PageListVO; import jnpf.base.vo.PaginationVO; import jnpf.tmsEntity.person.TmsPersonTaskLearnForm; import jnpf.tmsEntity.person.TmsPersonTaskLearnResult; import jnpf.tmsEntity.person.TmsPersonTaskMineForm; import jnpf.tmsEntity.person.TmsPersonTaskQuery; import jnpf.tmsEntity.person.TmsPersonTaskSignResult; import jnpf.tmsService.TmsPersonTaskService; import jnpf.util.JsonUtil; import lombok.RequiredArgsConstructor; 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; import java.util.List; /** * 个人培训任务(学员端)。网关 /api/tms/person-task/** (StripPrefix=2)→ /person-task/** */ @Tag(name = "TMS个人培训任务", description = "PersonTask") @RestController @RequestMapping("/person-task") @RequiredArgsConstructor public class TmsPersonTaskController { private final TmsPersonTaskService personTaskService; @Operation(summary = "我的个人培训任务") @GetMapping("/mine") public ActionResult> mine(TmsPersonTaskQuery query) { List list = personTaskService.getMine(query); PageListVO vo = new PageListVO<>(); vo.setList(list); vo.setPagination(JsonUtil.getJsonToBean(query, PaginationVO.class)); return ActionResult.success(vo); } @Operation(summary = "个人培训任务详情") @GetMapping("/{id}") public ActionResult info(@PathVariable("id") String id) { return ActionResult.success(personTaskService.getInfo(id)); } @Operation(summary = "在线签到") @PostMapping("/{id}/sign") public ActionResult sign(@PathVariable("id") String id) { return ActionResult.success(personTaskService.sign(id)); } @Operation(summary = "累计学习时长(学满后系统自动确认完成并提示)") @PostMapping("/{id}/learn") public ActionResult learn( @PathVariable("id") String id, @RequestBody(required = false) TmsPersonTaskLearnForm form) { return ActionResult.success(personTaskService.markLearned(id, form == null ? null : form.getSeconds())); } }