Administrator
yesterday cbe4b354224dfc34a852c7b7f932d33bbe85ffec
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package cc.mrbird.febs.ai.controller.productQuestion;
 
import cc.mrbird.febs.ai.entity.AiProductQuestion;
import cc.mrbird.febs.ai.entity.AiProductQuestionItem;
import cc.mrbird.febs.ai.entity.AiProductQuestionJob;
import cc.mrbird.febs.ai.req.AiProductQuestionAiDto;
import cc.mrbird.febs.ai.service.AiProductQuestionService;
import cc.mrbird.febs.common.annotation.ControllerEndpoint;
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.utils.excl.ExcelSheetPO;
import cc.mrbird.febs.common.utils.excl.ExcelUtil;
import cc.mrbird.febs.common.utils.excl.ExcelVersion;
import cc.mrbird.febs.common.utils.excl.ResponseHeadUtil;
import cc.mrbird.febs.mall.dto.DeliverGoodsDto;
import cc.mrbird.febs.mall.entity.MallOrderInfo;
import cc.mrbird.febs.mall.entity.MallOrderItem;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
 
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
 
/**
 * @author Administrator
 */
@Slf4j
@Validated
@RestController
@RequiredArgsConstructor
@RequestMapping(value = "/admin/productQuestion")
public class AiProductQuestionController extends BaseController {
 
    private final AiProductQuestionService aiProductQuestionService;
 
    @GetMapping("list")
    public FebsResponse list(AiProductQuestion dto, QueryRequest request) {
        String companyId = getCurrentUserCompanyId();
        dto.setCompanyId(companyId);
 
        Map<String, Object> data = getDataTable(aiProductQuestionService.listInPage(dto, request));
        return new FebsResponse().success().data(data);
    }
 
    @GetMapping("jobList")
    public FebsResponse jobList(AiProductQuestionJob dto, QueryRequest request) {
        String companyId = getCurrentUserCompanyId();
        dto.setCompanyId(companyId);
 
        Map<String, Object> data = getDataTable(aiProductQuestionService.listJobInPage(dto, request));
        return new FebsResponse().success().data(data);
    }
 
    @GetMapping("changeState/{id}/{state}")
    @ControllerEndpoint(operation = "状态操作", exceptionMessage = "操作失败")
    public FebsResponse changeState(
            @NotNull(message = "{required}") @PathVariable String id,
            @NotNull(message = "{required}") @PathVariable Integer state
    ) {
 
        return aiProductQuestionService.changeState(id,state);
    }
 
    @PostMapping("add")
    @ControllerEndpoint(operation = "新增", exceptionMessage = "操作失败")
    public FebsResponse add(@RequestBody @Valid AiProductQuestion dto) {
 
        String companyId = getCurrentUserCompanyId();
        dto.setCompanyId(companyId);
        return aiProductQuestionService.add(dto);
    }
 
    @PostMapping("aiAdd")
    @ControllerEndpoint(operation = "AI生成题目", exceptionMessage = "操作失败")
    public FebsResponse aiAdd(@RequestBody @Valid AiProductQuestionAiDto dto) {
 
//        String companyId = getCurrentUserCompanyId();
//        dto.setCompanyId(companyId);
//        return aiProductQuestionService.aiAdd(dto);
        String companyId = getCurrentUserCompanyId();
        dto.setCompanyId(companyId);
        return aiProductQuestionService.aiAddV2(dto);
    }
 
    @PostMapping("update")
    @ControllerEndpoint(operation = "更新", exceptionMessage = "操作失败")
    public FebsResponse update(@RequestBody @Valid AiProductQuestion dto) {
 
        return aiProductQuestionService.update(dto);
    }
 
    @PostMapping(value = "stateUpdate/{type}/{ids}")
    @ControllerEndpoint(operation = "更新", exceptionMessage = "操作失败")
    public FebsResponse stateUpdate(@PathVariable("ids") String ids, @PathVariable("type") Integer type) {
        return aiProductQuestionService.stateUpdate(ids, type);
    }
 
    @PostMapping(value = "productQuestionDelete/{ids}")
    @ControllerEndpoint(operation = "删除", exceptionMessage = "操作失败")
    public FebsResponse productQuestionDelete(@PathVariable("ids") String ids) {
        return aiProductQuestionService.productQuestionDelete(ids);
    }
 
    @GetMapping("delete/{id}")
    @ControllerEndpoint(operation = "删除", exceptionMessage = "操作失败")
    public FebsResponse delete(
            @NotNull(message = "{required}") @PathVariable String id
    ) {
 
        return aiProductQuestionService.delete(id);
    }
 
    @GetMapping(value = "/questionTree")
    public FebsResponse questionTree() {
 
 
        String companyId = getCurrentUserCompanyId();
        return new FebsResponse().success().data(aiProductQuestionService.questionTree(companyId));
    }
 
    @GetMapping("exportProductQuestion")
    @ControllerEndpoint(operation = "导出", exceptionMessage = "操作失败")
    public FebsResponse exportProductQuestion(AiProductQuestion dto, HttpServletResponse response) throws IOException {
        aiProductQuestionService.exportProductQuestion(dto, response);
        return null;
    }
    @PostMapping(value = "/importProductQuestion")
    @ControllerEndpoint(operation = "导入", exceptionMessage = "操作失败")
    public FebsResponse importDeliver(@RequestBody MultipartFile file){
        return aiProductQuestionService.importDeliver(file);
    }
}