“mitao”
2026-01-29 e564c05b04eb3b7d163be20244a6ffa11448354d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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();
    }
}