liujie
2026-06-26 8fbe2f5f29b9658b6201b3daabe2d575c9da88fd
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
package com.estate.expert.admin.service;
 
import com.estate.expert.admin.service.eval.EvalFuzzyService;
import com.estate.expert.admin.service.eval.EvalScoreService;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.transaction.annotation.Transactional;
 
import javax.annotation.Resource;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
 
@Slf4j
@SpringBootTest
@ExtendWith(SpringExtension.class)
@Transactional
@Rollback(value = false)
class EvalServiceTest {
 
    @Resource
    private EvalScoreService evalScoreService;
 
    @Resource
    private EvalFuzzyService evalFuzzyService;
 
    @Resource
    private CheckTaskService checkTaskService;
 
    @Resource
    private ObjectMapper objectMapper;
 
    @Test
    void scoreEval() throws IOException {
        var checkTask = checkTaskService.get(1269);
//        var checkTask = checkTaskService.get(241, true);
        var res = evalScoreService.eval(checkTask);
 
        log.info("Check Task {} {}", checkTask.getPlan().getName(), checkTask.getProject().getName());
 
        // save to tmp
        var str = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(res.getSystemRes());
        Files.write(Path.of("/Volumes/Works/tmp/eval_score.json"), str.getBytes());
 
        var resMap = res.getDeviceResMap();
        for (var entry : resMap.entrySet()) {
            var device = entry.getKey();
            var deviceRes = entry.getValue();
            var deviceStr = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(deviceRes);
            Files.write(Path.of("/Volumes/Works/tmp/eval_score_" + device + ".json"), deviceStr.getBytes());
        }
    }
 
    @Test
    void fuzzyEval() throws IOException {
        var checkTask = checkTaskService.get(1347, true);
//        var checkTask = checkTaskService.get(527, true);
        var res = evalFuzzyService.eval(checkTask);
 
        // save to tmp
        var str = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(res.getSystemRes());
        Files.write(Path.of("/Volumes/Works/tmp/eval_fuzzy.json"), str.getBytes());
 
        var resMap = res.getDeviceResMap();
        for (var entry : resMap.entrySet()) {
            var device = entry.getKey();
            var deviceRes = entry.getValue();
            var deviceStr = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(deviceRes);
            Files.write(Path.of("/Volumes/Works/tmp/eval_fuzzy_" + device + ".json"), deviceStr.getBytes());
        }
    }
 
}