|
|
@@ -1,5 +1,6 @@
|
|
|
package com.cyksj.web.controller.manage.account;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
@@ -8,6 +9,9 @@ import cn.hutool.http.HttpRequest;
|
|
|
import cn.hutool.http.HttpUtil;
|
|
|
import cn.hutool.json.JSONArray;
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
|
+import com.alibaba.excel.context.AnalysisContext;
|
|
|
+import com.alibaba.excel.event.AnalysisEventListener;
|
|
|
import com.alibaba.excel.support.ExcelTypeEnum;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
@@ -21,6 +25,7 @@ import com.cyksj.model.dto.ChatgptChangeNodesDto;
|
|
|
import com.cyksj.model.entity.ChatgptSession;
|
|
|
import com.cyksj.model.entity.SysConfig;
|
|
|
import com.cyksj.model.excel.ExcelGptMirrorAccountData;
|
|
|
+import com.cyksj.model.excel.ExcelGptSessionAccountData;
|
|
|
import com.cyksj.model.views.ChatgptCarSessionView;
|
|
|
import com.cyksj.redis.RedisService;
|
|
|
import com.cyksj.service.chatgpt.ChatGptAccountService;
|
|
|
@@ -34,9 +39,11 @@ import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.IOException;
|
|
|
import java.util.List;
|
|
|
import java.util.Optional;
|
|
|
|
|
|
@@ -301,4 +308,37 @@ public class CmsGptCarController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 下载GPT镜像车队模板
|
|
|
+ */
|
|
|
+ @GetMapping("/export/gpt/session/template")
|
|
|
+ public void getGptSessionTemplate(HttpServletResponse response) {
|
|
|
+ EasyExcelUtils.createTemplateExcel(response, ExcelGptSessionAccountData.class, "导入GPT镜像车队账号模板", "导入GPT镜像车队账号模板", ExcelTypeEnum.XLSX, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上传GPT镜像车队
|
|
|
+ */
|
|
|
+ @GetMapping("/import/gpt/session")
|
|
|
+ public Result<String> importGptSession(MultipartFile file) throws IOException {
|
|
|
+ EasyExcel.read(file.getInputStream(), ExcelGptSessionAccountData.class, new AnalysisEventListener<ExcelGptSessionAccountData>() {
|
|
|
+ @Override
|
|
|
+ public void invoke(ExcelGptSessionAccountData data, AnalysisContext analysisContext) {
|
|
|
+ ChatgptSession session = new ChatgptSession();
|
|
|
+ BeanUtil.copyProperties(data, session);
|
|
|
+ session.setStatus(0);
|
|
|
+ if ("有效".equals(data.getStatusStr())) {
|
|
|
+ session.setStatus(1);
|
|
|
+ }
|
|
|
+ //生成gptSession
|
|
|
+ postMirrorCarSession(session);
|
|
|
+ }
|
|
|
+ @Override
|
|
|
+ public void doAfterAllAnalysed(AnalysisContext analysisContext) {
|
|
|
+
|
|
|
+ }
|
|
|
+ }).sheet().doRead();
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
|
+ }
|
|
|
+
|
|
|
}
|