16 小时以前 9683f8f2b526f67bff039a1cd46818808b53ab3e
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
package com.ruoyi.mock.controller;
 
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.mock.dto.DataCheckRequest;
import com.ruoyi.mock.dto.DataGenerateRequest;
import com.ruoyi.mock.service.DataCheckService;
import com.ruoyi.mock.service.DataGenerateService;
import com.ruoyi.mock.vo.DataCheckResult;
import com.ruoyi.mock.vo.DataCheckResult.CheckItem;
import com.ruoyi.mock.vo.DataGenerateResult;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
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;
 
@RestController
@RequestMapping("/mock")
@RequiredArgsConstructor
@Tag(name = "数据模拟")
public class DataCheckController {
 
    private final DataCheckService dataCheckService;
    private final DataGenerateService dataGenerateService;
 
    @PostMapping("/dataCheck")
    @Operation(summary = "检测基础数据")
    public R<DataCheckResult> dataCheck(@RequestBody DataCheckRequest request) {
        DataCheckResult result = dataCheckService.check(request);
        return R.ok(result);
    }
 
    @PostMapping("/generate")
    @Operation(summary = "AI生成模拟数据")
    public R<?> generate(@RequestBody DataGenerateRequest request) {
        // 先校验基础数据
        DataCheckRequest checkRequest = new DataCheckRequest();
        checkRequest.setModules(request.getModules());
        DataCheckResult checkResult = dataCheckService.check(checkRequest);
 
        boolean allPassed = checkResult.getItems().stream().allMatch(CheckItem::isPassed);
        if (!allPassed) {
            DataGenerateResult failResult = new DataGenerateResult();
            failResult.setStatus("CHECK_FAILED");
            failResult.setCheckResult(checkResult);
            return R.fail(failResult, "基础数据不足,请先补充后再生成");
        }
 
        DataGenerateResult result = dataGenerateService.generate(request);
        return R.ok(result);
    }
}