package com.estate.expert.admin.controller.admin.standard; import com.estate.expert.admin.domain.standard.problem.ProblemDto; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.domain.common.request.BatchReq; import com.estate.expert.admin.domain.common.request.ProblemPageRequest; import com.estate.expert.admin.enums.BizResultCode; import com.estate.expert.admin.service.ProblemService; import com.estate.expert.common.domain.Session; import com.estate.expert.common.rpc.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** * 问题管理 **/ @CrossOrigin @Slf4j @Api(tags = "管理后台/问题管理") @RequestMapping("/admin/problem") @RestController @Validated public class ProblemController { @Resource private ProblemService problemService; @ApiOperation(value = "问题列表") @PostMapping("/list") public Result list(@Validated @RequestBody ProblemPageRequest request) { var res = problemService.list(request.getHierarchyId(), request.getHierarchyPaths(), request.getKeyword(), request.getPageReq()); return Result.success(res); } @ApiOperation(value = "问题摘要(模型编辑)") @PostMapping("/listAbstracts") public Result listAbstracts(@Validated @RequestBody ProblemPageRequest request) { var res = problemService.listAbstracts(request.getHierarchyId(), request.getHierarchyPaths(), request.getKeyword(), request.getPageReq()); return Result.success(res); } @ApiOperation(value = "添加问题") @PostMapping("/add") public Result add(@ApiParam(hidden = true) Session session, @Validated @RequestBody ProblemDto problemDto) { problemService.add((User) session.getUser(), problemDto); return Result.success(); } @ApiOperation(value = "问题详情") @GetMapping("/detail") public Result detail(@RequestParam Integer id) { var res = problemService.get(id); BizResultCode.ENTITY_NOT_FOUND.check(res == null); ProblemDto dto = problemService.toDto(res); return Result.success(dto); } @ApiOperation(value = "编辑问题") @PostMapping("/edit") public Result edit(@Validated @RequestBody ProblemDto problemDto) { problemService.edit(problemDto); return Result.success(); } @ApiOperation(value = "批量删除问题") @PostMapping("/batch/del") public Result batchDel(@Validated @RequestBody BatchReq request) { problemService.deleteAllById(request.getIds()); return Result.success(); } }