diff --git a/springboot-ademo/src/main/java/com/tiesheng/demo/service/UserImportHandler.java b/springboot-ademo/src/main/java/com/tiesheng/demo/service/UserImportHandler.java new file mode 100644 index 0000000..907c3a6 --- /dev/null +++ b/springboot-ademo/src/main/java/com/tiesheng/demo/service/UserImportHandler.java @@ -0,0 +1,39 @@ +package com.tiesheng.demo.service; + +import cn.hutool.core.collection.CollUtil; +import com.tiesheng.util.pojos.TokenBean; +import com.tiesheng.web.pojos.imex.ImportDealDTO; +import com.tiesheng.web.service.imex.TsImportHandler; +import org.springframework.stereotype.Service; + +import java.util.List; + + +@Service +public class UserImportHandler implements TsImportHandler { + + @Override + public List ready(ImportDealDTO dto, TokenBean token) { + return CollUtil.newArrayList("11111"); + } + + @Override + public String getTemplateUrl() { + return "/template/xsxxzx_teacher_leader.xlsx"; + } + + @Override + public String getAction() { + return "user_import"; + } + + @Override + public int batchHandler(List list) { + return 0; + } + + @Override + public String getFailFile() { + return ""; + } +} diff --git a/springboot-ademo/src/main/resources/static/template/xsxxzx_teacher_leader.xlsx b/springboot-ademo/src/main/resources/static/template/xsxxzx_teacher_leader.xlsx new file mode 100644 index 0000000..e7aa45c Binary files /dev/null and b/springboot-ademo/src/main/resources/static/template/xsxxzx_teacher_leader.xlsx differ diff --git a/springboot-web/src/main/java/com/tiesheng/web/config/template/TieshengTemplateHandler.java b/springboot-web/src/main/java/com/tiesheng/web/config/template/TieshengTemplateHandler.java deleted file mode 100644 index 685cf3e..0000000 --- a/springboot-web/src/main/java/com/tiesheng/web/config/template/TieshengTemplateHandler.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.tiesheng.web.config.template; - -import com.tiesheng.web.pojos.dto.TemplateDealDTO; -import org.springframework.stereotype.Service; - -@Service -public class TieshengTemplateHandler implements ToolTemplateHandler { - @Override - public String handler(TemplateDealDTO dto) { - return ""; - } - - @Override - public String getTemplateUrl() { - return ""; - } - - @Override - public Object getParms(Object params) { - return ""; - } - - - @Override - public String getAction() { - return ""; - } - - @Override - public int getSort() { - return 0; - } - -} diff --git a/springboot-web/src/main/java/com/tiesheng/web/config/template/ToolTemplateHandler.java b/springboot-web/src/main/java/com/tiesheng/web/config/template/ToolTemplateHandler.java deleted file mode 100644 index e712269..0000000 --- a/springboot-web/src/main/java/com/tiesheng/web/config/template/ToolTemplateHandler.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.tiesheng.web.config.template; - -import cn.hutool.core.util.StrUtil; -import com.tiesheng.web.pojos.dto.TemplateDealDTO; -import org.springframework.stereotype.Service; - -@Service -public interface ToolTemplateHandler { - - - /** - * 处理对象 - * - * @param dto - * @return - */ - String handler(TemplateDealDTO dto); - - - /** - * 获取模版地址 - * - * @return - */ - String getTemplateUrl(); - - Object getParms(Object params); - - - /** - * 动作说明(唯一) - * - * @return - */ - String getAction(); - - - /** - * 排序,如果action相同,只会使用sort大的来处理 - * - * @return - */ - int getSort(); - - /** - * 获取模版ID - * - * @return - */ - default String getTeamplateId() { - return StrUtil.format("{}_{}", getAction(), getSort()); - } - -} diff --git a/springboot-web/src/main/java/com/tiesheng/web/controller/comm/ToolController.java b/springboot-web/src/main/java/com/tiesheng/web/controller/comm/ToolController.java index 945b911..34c4a13 100644 --- a/springboot-web/src/main/java/com/tiesheng/web/controller/comm/ToolController.java +++ b/springboot-web/src/main/java/com/tiesheng/web/controller/comm/ToolController.java @@ -4,19 +4,33 @@ package com.tiesheng.web.controller.comm; import cn.hutool.captcha.LineCaptcha; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.tiesheng.annotation.operation.OperationIgnore; import com.tiesheng.annotation.token.TokenIgnore; -import com.tiesheng.util.service.TsCacheService; -import com.tiesheng.web.config.template.ToolTemplateHandler; -import com.tiesheng.web.pojos.dto.*; -import com.tiesheng.web.pojos.vo.TemplateInfoVO; -import com.tiesheng.web.pojos.vo.PicVerifyVo; -import com.tiesheng.web.service.FileUploadService; import com.tiesheng.util.exception.ApiException; import com.tiesheng.util.pojos.ApiResp; +import com.tiesheng.util.pojos.TokenBean; +import com.tiesheng.util.service.TsCacheService; +import com.tiesheng.web.pojos.dao.CoreLogProcess; +import com.tiesheng.web.pojos.dto.ChunkCheckDTO; +import com.tiesheng.web.pojos.dto.ChunkMergeDTO; +import com.tiesheng.web.pojos.dto.ChunkStartDTO; +import com.tiesheng.web.pojos.dto.ImageCodeDTO; +import com.tiesheng.web.pojos.imex.ExportDealDTO; +import com.tiesheng.web.pojos.imex.ImportDealDTO; +import com.tiesheng.web.pojos.imex.ImportInfoDTO; +import com.tiesheng.web.pojos.imex.ImportInfoVO; +import com.tiesheng.web.pojos.vo.PicVerifyVo; +import com.tiesheng.web.service.CoreLogService; +import com.tiesheng.web.service.FileUploadService; +import com.tiesheng.web.service.imex.TsExportHandler; +import com.tiesheng.web.service.imex.TsImportHandler; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import javax.validation.Valid; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -35,7 +49,11 @@ public class ToolController { @Autowired FileUploadService fileUploadService; @Autowired - List templateHandlerList; + List importHandlers; + @Autowired + List exportHandlers; + @Autowired + CoreLogService coreLogService; /** @@ -124,40 +142,102 @@ public class ToolController { } - @TokenIgnore - @GetMapping("/template/info") - public ApiResp templateInfo(TemplateInfoDTO dto) { + /////////////////////////////////////////////////////////////////////////// + // import + /////////////////////////////////////////////////////////////////////////// - List collect = templateHandlerList.stream() - .filter(it -> Objects.equals(it.getAction(), dto.getAction())) - .sorted((it, it2) -> it2.getSort() - it.getSort()) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(collect)) { - throw new ApiException("没有找到对应的模版"); + @TokenIgnore + @GetMapping("/imex/info") + public ApiResp importInfo(@Valid ImportInfoDTO dto) { + + ImportInfoVO template = new ImportInfoVO(); + + if (Objects.equals(dto.getType(), "import")) { + List collect = importHandlers.stream() + .filter(it -> Objects.equals(it.getAction(), dto.getAction())) + .sorted((it, it2) -> it2.getSort() - it.getSort()) + .collect(Collectors.toList()); + + if (CollUtil.isNotEmpty(collect)) { + TsImportHandler toolTemplateHandler = collect.get(0); + template.setTemplateUrl(toolTemplateHandler.getTemplateUrl()); + template.setImexId(toolTemplateHandler.getImexId()); + } + } else if (Objects.equals(dto.getType(), "export")) { + List collect = exportHandlers.stream() + .filter(it -> Objects.equals(it.getAction(), dto.getAction())) + .sorted((it, it2) -> it2.getSort() - it.getSort()) + .collect(Collectors.toList()); + + if (CollUtil.isNotEmpty(collect)) { + TsExportHandler toolTemplateHandler = collect.get(0); + template.setImexId(toolTemplateHandler.getImexId()); + } } - ToolTemplateHandler toolTemplateHandler = collect.get(0); - - TemplateInfoVO template = new TemplateInfoVO(); - template.setTemplateUrl(toolTemplateHandler.getTemplateUrl()); - template.setParams(toolTemplateHandler.getParms(dto.getParams())); - template.setTemplateId(toolTemplateHandler.getTeamplateId()); + if (StrUtil.isEmpty(template.getImexId())) { + throw new ApiException("没有找到对应的模版"); + } return ApiResp.respOK(template); } - @TokenIgnore - @PostMapping("/template/deal") - public ApiResp templateDeal(@RequestBody TemplateDealDTO dto) { - List collect = templateHandlerList.stream(). - filter(it -> Objects.equals(it.getTeamplateId(), dto.getTemplateId())) + @TokenIgnore + @OperationIgnore + @PostMapping("/import/deal") + public ApiResp importDeal(@RequestBody @Valid ImportDealDTO dto, TokenBean token) { + + List collect = importHandlers.stream(). + filter(it -> Objects.equals(it.getImexId(), dto.getImexId())) .collect(Collectors.toList()); if (CollUtil.isEmpty(collect)) { - throw new ApiException("模版ID不存在"); + throw new ApiException("导入ID不存在"); } - return ApiResp.respOK(collect.get(0).handler(dto)); + TsImportHandler tsImportHandler = collect.get(0); + tsImportHandler.validToken(token); + List read = tsImportHandler.ready(dto, token); + if (CollUtil.isEmpty(read)) { + throw new ApiException("没有数据可以导入"); + } + CoreLogProcess coreLogProcess = coreLogService.addProcess(tsImportHandler.getImexId(), read, tsImportHandler); + coreLogProcess.setParams(JSON.toJSONString(dto)); + coreLogService.getCoreLogProcessMapper().updateById(coreLogProcess); + + return ApiResp.respOK(coreLogProcess.getId()); } + + /////////////////////////////////////////////////////////////////////////// + // export + /////////////////////////////////////////////////////////////////////////// + + @TokenIgnore + @OperationIgnore + @PostMapping("/export/deal") + public ApiResp exportDeal(@RequestBody @Valid ExportDealDTO dto, TokenBean token) { + + List collect = exportHandlers.stream(). + filter(it -> Objects.equals(it.getImexId(), dto.getImexId())) + .collect(Collectors.toList()); + if (CollUtil.isEmpty(collect)) { + throw new ApiException("导出ID不存在"); + } + + TsExportHandler tsExportHandler = collect.get(0); + tsExportHandler.validToken(token); + List read = tsExportHandler.ready(dto, token); + if (CollUtil.isEmpty(read)) { + throw new ApiException("没有数据可以导出"); + } + CoreLogProcess coreLogProcess = coreLogService.addProcess(tsExportHandler.getImexId(), read, tsExportHandler); + coreLogProcess.setType("export"); + coreLogProcess.setParams(JSON.toJSONString(dto)); + coreLogService.getCoreLogProcessMapper().updateById(coreLogProcess); + + return ApiResp.respOK(coreLogProcess.getId()); + } + + } diff --git a/springboot-web/src/main/java/com/tiesheng/web/pojos/dao/CoreLogProcess.java b/springboot-web/src/main/java/com/tiesheng/web/pojos/dao/CoreLogProcess.java index 285638c..ab8841f 100644 --- a/springboot-web/src/main/java/com/tiesheng/web/pojos/dao/CoreLogProcess.java +++ b/springboot-web/src/main/java/com/tiesheng/web/pojos/dao/CoreLogProcess.java @@ -51,18 +51,18 @@ public class CoreLogProcess extends DaoBase { @TableField(value = "fail_file") private String failFile; - /** - * 异常说明 - */ - @TableField(value = "error") - private String error; - /** * 进度 */ @TableField(value = "`process`") private Integer process; + /** + * 异常说明 + */ + @TableField(value = "params") + private String params; + /** * 获取标题 * @@ -189,24 +189,6 @@ public class CoreLogProcess extends DaoBase { this.failFile = failFile; } - /** - * 获取异常说明 - * - * @return error - 异常说明 - */ - public String getError() { - return error; - } - - /** - * 设置异常说明 - * - * @param error 异常说明 - */ - public void setError(String error) { - this.error = error; - } - /** * 获取进度 * @@ -224,4 +206,22 @@ public class CoreLogProcess extends DaoBase { public void setProcess(Integer process) { this.process = process; } + + /** + * 获取异常说明 + * + * @return params - 异常说明 + */ + public String getParams() { + return params; + } + + /** + * 设置异常说明 + * + * @param params 异常说明 + */ + public void setParams(String params) { + this.params = params; + } } diff --git a/springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ExportDealDTO.java b/springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ExportDealDTO.java new file mode 100644 index 0000000..1306ed6 --- /dev/null +++ b/springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ExportDealDTO.java @@ -0,0 +1,33 @@ +package com.tiesheng.web.pojos.imex; + +import com.alibaba.fastjson.JSONObject; + +import javax.validation.constraints.NotEmpty; + +public class ExportDealDTO { + + @NotEmpty(message = "模版ID") + private String imexId; + private JSONObject params; + + /////////////////////////////////////////////////////////////////////////// + // setter\getter + /////////////////////////////////////////////////////////////////////////// + + + public String getImexId() { + return imexId; + } + + public void setImexId(String imexId) { + this.imexId = imexId; + } + + public JSONObject getParams() { + return params; + } + + public void setParams(JSONObject params) { + this.params = params; + } +} diff --git a/springboot-web/src/main/java/com/tiesheng/web/pojos/dto/TemplateDealDTO.java b/springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ImportDealDTO.java similarity index 59% rename from springboot-web/src/main/java/com/tiesheng/web/pojos/dto/TemplateDealDTO.java rename to springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ImportDealDTO.java index 4db6a04..a81e9c5 100644 --- a/springboot-web/src/main/java/com/tiesheng/web/pojos/dto/TemplateDealDTO.java +++ b/springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ImportDealDTO.java @@ -1,25 +1,27 @@ -package com.tiesheng.web.pojos.dto; +package com.tiesheng.web.pojos.imex; + +import com.alibaba.fastjson.JSONObject; import javax.validation.constraints.NotEmpty; -public class TemplateDealDTO { +public class ImportDealDTO { @NotEmpty(message = "模版ID") - private String templateId; + private String imexId; @NotEmpty(message = "文件路径必填") private String file; - private Object params; + private JSONObject params; /////////////////////////////////////////////////////////////////////////// // setter\getter /////////////////////////////////////////////////////////////////////////// - public String getTemplateId() { - return templateId; + public String getImexId() { + return imexId; } - public void setTemplateId(String templateId) { - this.templateId = templateId; + public void setImexId(String imexId) { + this.imexId = imexId; } public String getFile() { @@ -30,11 +32,11 @@ public class TemplateDealDTO { this.file = file; } - public Object getParams() { + public JSONObject getParams() { return params; } - public void setParams(Object params) { + public void setParams(JSONObject params) { this.params = params; } } diff --git a/springboot-web/src/main/java/com/tiesheng/web/pojos/dto/TemplateInfoDTO.java b/springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ImportInfoDTO.java similarity index 51% rename from springboot-web/src/main/java/com/tiesheng/web/pojos/dto/TemplateInfoDTO.java rename to springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ImportInfoDTO.java index b5786f4..2484af3 100644 --- a/springboot-web/src/main/java/com/tiesheng/web/pojos/dto/TemplateInfoDTO.java +++ b/springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ImportInfoDTO.java @@ -1,10 +1,15 @@ -package com.tiesheng.web.pojos.dto; +package com.tiesheng.web.pojos.imex; -public class TemplateInfoDTO { +import javax.validation.constraints.NotEmpty; +public class ImportInfoDTO { + + @NotEmpty(message = "操作必须存在") private String action; - private Object params; + + @NotEmpty(message = "类型必须存在") + private String type; /////////////////////////////////////////////////////////////////////////// // setter\getter @@ -18,11 +23,11 @@ public class TemplateInfoDTO { this.action = action; } - public Object getParams() { - return params; + public String getType() { + return type; } - public void setParams(Object params) { - this.params = params; + public void setType(String type) { + this.type = type; } } diff --git a/springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ImportInfoVO.java b/springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ImportInfoVO.java new file mode 100644 index 0000000..96901af --- /dev/null +++ b/springboot-web/src/main/java/com/tiesheng/web/pojos/imex/ImportInfoVO.java @@ -0,0 +1,29 @@ +package com.tiesheng.web.pojos.imex; + + +public class ImportInfoVO { + + private String imexId; + private String templateUrl; + + /////////////////////////////////////////////////////////////////////////// + // setter\getter + /////////////////////////////////////////////////////////////////////////// + + public String getImexId() { + return imexId; + } + + public void setImexId(String imexId) { + this.imexId = imexId; + } + + public String getTemplateUrl() { + return templateUrl; + } + + public void setTemplateUrl(String templateUrl) { + this.templateUrl = templateUrl; + } + +} diff --git a/springboot-web/src/main/java/com/tiesheng/web/pojos/vo/TemplateInfoVO.java b/springboot-web/src/main/java/com/tiesheng/web/pojos/vo/TemplateInfoVO.java deleted file mode 100644 index 1e8ae89..0000000 --- a/springboot-web/src/main/java/com/tiesheng/web/pojos/vo/TemplateInfoVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.tiesheng.web.pojos.vo; - - -public class TemplateInfoVO { - - private String templateId; - private String templateUrl; - private Object params; - - /////////////////////////////////////////////////////////////////////////// - // setter\getter - /////////////////////////////////////////////////////////////////////////// - - public String getTemplateId() { - return templateId; - } - - public void setTemplateId(String templateId) { - this.templateId = templateId; - } - - public String getTemplateUrl() { - return templateUrl; - } - - public void setTemplateUrl(String templateUrl) { - this.templateUrl = templateUrl; - } - - public Object getParams() { - return params; - } - - public void setParams(Object params) { - this.params = params; - } -} diff --git a/springboot-web/src/main/java/com/tiesheng/web/service/CoreLogService.java b/springboot-web/src/main/java/com/tiesheng/web/service/CoreLogService.java index 9577943..77ec63e 100644 --- a/springboot-web/src/main/java/com/tiesheng/web/service/CoreLogService.java +++ b/springboot-web/src/main/java/com/tiesheng/web/service/CoreLogService.java @@ -79,33 +79,24 @@ public class CoreLogService extends TsServiceBase { - List errorList = new ArrayList<>(); CollUtil.split(list, 100).forEach((it) -> { - int accept = 0; - try { - accept = consumer.accept(it); - } catch (Exception e) { - errorList.add(e); - } + int accept = consumer.batchHandler(it); coreLogProcess.setProcess(coreLogProcess.getProcess() + it.size()); coreLogProcess.setSuccessNum(coreLogProcess.getSuccessNum() + accept); coreLogProcess.setFailNum(coreLogProcess.getFailNum() + it.size() - accept); - coreLogProcess.setError(JSON.toJSONString(errorList)); coreLogProcessMapper.updateById(coreLogProcess); }); // 执行结束 coreLogProcess.setFailFile(consumer.getFailFile()); coreLogProcess.setStatus(1); - coreLogProcess.setError(JSON.toJSONString(errorList)); coreLogProcessMapper.updateById(coreLogProcess); }); - return coreLogProcess; } @@ -126,29 +117,24 @@ public class CoreLogService extends TsServiceBase { int pageSize = 1000; int pageNum = 1, lastCount = pageSize; - List errorList = new ArrayList<>(); while (lastCount == pageSize) { try { lastCount = consumer.accept(pageNum, pageSize); coreLogProcess.setTotal(coreLogProcess.getTotal() + lastCount); coreLogProcess.setProcess(coreLogProcess.getTotal()); - coreLogProcess.setError(JSON.toJSONString(errorList)); coreLogProcess.setSuccessNum(coreLogProcess.getSuccessNum() + lastCount); - } catch (Exception e) { - errorList.add(e); + } catch (Exception ignored) { } coreLogProcessMapper.updateById(coreLogProcess); pageNum++; } // 执行结束 - coreLogProcess.setError(JSON.toJSONString(errorList)); coreLogProcess.setStatus(1); coreLogProcessMapper.updateById(coreLogProcess); }); diff --git a/springboot-web/src/main/java/com/tiesheng/web/service/imex/DefaultImexHandler.java b/springboot-web/src/main/java/com/tiesheng/web/service/imex/DefaultImexHandler.java new file mode 100644 index 0000000..07c9e76 --- /dev/null +++ b/springboot-web/src/main/java/com/tiesheng/web/service/imex/DefaultImexHandler.java @@ -0,0 +1,44 @@ +package com.tiesheng.web.service.imex; + +import cn.hutool.core.collection.CollUtil; +import com.tiesheng.util.pojos.TokenBean; +import com.tiesheng.web.pojos.imex.ExportDealDTO; +import com.tiesheng.web.pojos.imex.ImportDealDTO; +import org.springframework.stereotype.Service; + +import java.util.List; + + +@Service +public class DefaultImexHandler implements TsImportHandler, TsExportHandler { + + @Override + public List ready(ExportDealDTO dto, TokenBean token) { + return CollUtil.newArrayList(); + } + + @Override + public List ready(ImportDealDTO dto, TokenBean token) { + return CollUtil.newArrayList(); + } + + @Override + public String getTemplateUrl() { + return ""; + } + + @Override + public String getAction() { + return ""; + } + + @Override + public int batchHandler(List list) { + return 0; + } + + @Override + public String getFailFile() { + return ""; + } +} diff --git a/springboot-web/src/main/java/com/tiesheng/web/service/imex/TsExportHandler.java b/springboot-web/src/main/java/com/tiesheng/web/service/imex/TsExportHandler.java new file mode 100644 index 0000000..2b84cbb --- /dev/null +++ b/springboot-web/src/main/java/com/tiesheng/web/service/imex/TsExportHandler.java @@ -0,0 +1,19 @@ +package com.tiesheng.web.service.imex; + +import com.tiesheng.util.pojos.TokenBean; +import com.tiesheng.web.pojos.imex.ExportDealDTO; + +import java.util.List; + +public interface TsExportHandler extends TsImexBase { + + + /** + * 数据准备中 + * + * @return + */ + List ready(ExportDealDTO dto, TokenBean token); + + +} diff --git a/springboot-web/src/main/java/com/tiesheng/web/service/imex/TsImexBase.java b/springboot-web/src/main/java/com/tiesheng/web/service/imex/TsImexBase.java new file mode 100644 index 0000000..ffa5d27 --- /dev/null +++ b/springboot-web/src/main/java/com/tiesheng/web/service/imex/TsImexBase.java @@ -0,0 +1,47 @@ +package com.tiesheng.web.service.imex; + +import cn.hutool.core.util.StrUtil; +import com.tiesheng.util.exception.ApiException; +import com.tiesheng.util.pojos.TokenBean; +import com.tiesheng.web.util.ProcessImportConsumer; + +public interface TsImexBase extends ProcessImportConsumer { + + /** + * 动作说明(唯一) + * + * @return + */ + String getAction(); + + /** + * 排序,如果action相同,只会使用sort大的来处理 + * + * @return + */ + default int getSort() { + return 0; + } + + /** + * 验证是否登录 + * + * @param tokenBean + */ + default void validToken(TokenBean tokenBean) { + if (tokenBean == null || StrUtil.isEmpty(tokenBean.getId())) { + throw new ApiException("请先登录"); + } + } + + + /** + * 获取模版ID + * + * @return + */ + default String getImexId() { + return StrUtil.format("{}_{}", getAction(), getSort()); + } + +} diff --git a/springboot-web/src/main/java/com/tiesheng/web/service/imex/TsImportHandler.java b/springboot-web/src/main/java/com/tiesheng/web/service/imex/TsImportHandler.java new file mode 100644 index 0000000..b809e89 --- /dev/null +++ b/springboot-web/src/main/java/com/tiesheng/web/service/imex/TsImportHandler.java @@ -0,0 +1,27 @@ +package com.tiesheng.web.service.imex; + +import com.tiesheng.util.pojos.TokenBean; +import com.tiesheng.web.pojos.imex.ImportDealDTO; + +import java.util.List; + +public interface TsImportHandler extends TsImexBase { + + + /** + * 读取文件内容 + * + * @param dto + * @return + */ + List ready(ImportDealDTO dto, TokenBean token); + + + /** + * 获取模版地址 + * + * @return + */ + String getTemplateUrl(); + +} diff --git a/springboot-web/src/main/java/com/tiesheng/web/util/ProcessImportConsumer.java b/springboot-web/src/main/java/com/tiesheng/web/util/ProcessImportConsumer.java index d6eb914..fff8125 100644 --- a/springboot-web/src/main/java/com/tiesheng/web/util/ProcessImportConsumer.java +++ b/springboot-web/src/main/java/com/tiesheng/web/util/ProcessImportConsumer.java @@ -6,13 +6,12 @@ public interface ProcessImportConsumer { /** - * 处理数据 + * 分批处理 * * @param list - * @param * @return 返回成功的数量 */ - int accept(List list); + int batchHandler(List list); /** diff --git a/springboot-web/src/main/resources/db/migration/tiesheng_init_log.sql b/springboot-web/src/main/resources/db/migration/tiesheng_init_log.sql index 08c988f..e5179fb 100644 --- a/springboot-web/src/main/resources/db/migration/tiesheng_init_log.sql +++ b/springboot-web/src/main/resources/db/migration/tiesheng_init_log.sql @@ -72,4 +72,7 @@ CREATE TABLE `core_log_operation` DEFAULT CHARSET = utf8mb4 COMMENT ='日志-操作'; +alter table core_log_process + modify params longtext null comment '异常说明'; + SET FOREIGN_KEY_CHECKS = 1; diff --git a/springboot-web/src/main/resources/mapper/CoreLogProcessMapper.xml b/springboot-web/src/main/resources/mapper/CoreLogProcessMapper.xml index afe007e..0f69867 100644 --- a/springboot-web/src/main/resources/mapper/CoreLogProcessMapper.xml +++ b/springboot-web/src/main/resources/mapper/CoreLogProcessMapper.xml @@ -15,8 +15,8 @@ - +