package com.estate.expert.admin.controller.admin; import com.estate.expert.admin.domain.common.request.EvalPageRequest; import com.estate.expert.admin.domain.exam.eval.formatter.impl.DeviceFuzzySummaryResultFormatter; import com.estate.expert.admin.domain.exam.eval.formatter.impl.DeviceScoreResultSummaryFormatter; import com.estate.expert.admin.domain.exam.eval.formatter.impl.SysFuzzyResultFormatter; import com.estate.expert.admin.domain.exam.eval.formatter.impl.SysScoreResultFormatter; import com.estate.expert.admin.domain.exam.eval.score.EvalScoreResultDto; import com.estate.expert.admin.enums.BizResultCode; import com.estate.expert.admin.service.DeviceService; import com.estate.expert.admin.service.eval.EvalFuzzyService; import com.estate.expert.admin.service.eval.EvalScoreService; import com.estate.expert.common.log.IgnoreRequestLog; import com.estate.expert.common.rpc.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; @Api(tags = "管理后台/评价管理") @Slf4j @CrossOrigin @RestController @RequestMapping("/admin/eval") @Validated public class EvaluationController { @Resource private EvalFuzzyService fuzzyService; @Resource private EvalScoreService scoreService; @Resource private DeviceService deviceService; @ApiOperation("模糊评价列表") @PostMapping("/fuzzy/list") @IgnoreRequestLog public Result listFuzzy(@Validated @RequestBody EvalPageRequest request) { return Result.success(fuzzyService.list(request.getClientId(), request.getPlanIds(), request.getTaskIds(), request.getStartDate()!=null ? request.getStartDate().atStartOfDay() : null, request.getEndDate()!=null ? request.getEndDate().atStartOfDay() : null, request.getPageReq())); } @ApiOperation("模糊评价详情") @GetMapping("/fuzzy/get") @IgnoreRequestLog public Result getFuzzy(@RequestParam("id") Integer id) { var res = fuzzyService.get(id); BizResultCode.EVAL_FUZZY_RESULT_NOT_EXIST.check(res == null); return Result.success(new SysFuzzyResultFormatter().format(res)); } @ApiOperation("模糊评价设备详情") @GetMapping("/fuzzy/device/get") @IgnoreRequestLog public Result getFuzzyDevice(@RequestParam("id") Integer id) { var res = fuzzyService.get(id); BizResultCode.EVAL_FUZZY_RESULT_NOT_EXIST.check(res == null); return Result.success(new DeviceFuzzySummaryResultFormatter(deviceService).format(res)); } @ApiOperation("评分评价列表") @PostMapping("/score/list") @IgnoreRequestLog public Result listScore(@Validated @RequestBody EvalPageRequest request) { return Result.success(scoreService.list(request.getClientId(), request.getPlanIds(), request.getTaskIds(), request.getStartDate()!=null ? request.getStartDate().atStartOfDay() : null, request.getEndDate()!=null ? request.getEndDate().atStartOfDay() : null, request.getPageReq())); } @ApiOperation("评分评价详情") @GetMapping("/score/get") @IgnoreRequestLog public Result getScore(@RequestParam("id") Integer id) { var res = scoreService.get(id); BizResultCode.EVAL_SCORE_RESULT_NOT_EXIST.check(res == null); return Result.success(new SysScoreResultFormatter().format(res)); } @ApiOperation("评分评价设备详情") @GetMapping("/score/device/get") @IgnoreRequestLog public Result getScoreDevice(@RequestParam("id") Integer id) { var res = scoreService.get(id); BizResultCode.EVAL_SCORE_RESULT_NOT_EXIST.check(res == null); return Result.success(new DeviceScoreResultSummaryFormatter(deviceService).format(res)); } @ApiOperation("测量评价列表") @PostMapping("/measurement/list") @IgnoreRequestLog public Result listMeasurement(@Validated @RequestBody EvalPageRequest request) { return Result.success(List.of()); } @ApiOperation("修改评分评价") @PostMapping("/score/edit") public Result editScore(@Validated @RequestBody EvalScoreResultDto req) { scoreService.edit(req); return Result.success(); } }