From ffbde0debc7fce594d2c2bc457c06a10db77b828 Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Tue, 24 Oct 2023 08:34:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=BC=80=E5=90=AFmq=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=84=E5=88=99=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../infra/api/logger/ApiAccessLogApiImpl.java | 8 +- .../infra/api/logger/ApiErrorLogApiImpl.java | 8 +- .../infra/api/trends/TrendsApiImpl.java | 8 +- .../wms/controller/rule/RuleController.java | 115 +++--------------- .../wms/controller/rule/vo/RulePageReqVO.java | 10 +- .../module/wms/service/rule/RuleService.java | 25 ++-- .../wms/service/rule/RuleServiceImpl.java | 46 +------ .../src/main/resources/application.yaml | 2 +- 8 files changed, 50 insertions(+), 172 deletions(-) diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiAccessLogApiImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiAccessLogApiImpl.java index 6b2b6eee..b191b88d 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiAccessLogApiImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiAccessLogApiImpl.java @@ -1,6 +1,8 @@ package com.win.module.infra.api.logger; import com.win.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO; +import com.win.module.infra.convert.logger.ApiAccessLogConvert; +import com.win.module.infra.mq.message.logger.ApiAccessLogMessage; import com.win.module.infra.mq.producer.logger.ApiAccessLogProducer; import com.win.module.infra.service.logger.ApiAccessLogService; import org.springframework.stereotype.Service; @@ -25,9 +27,9 @@ public class ApiAccessLogApiImpl implements ApiAccessLogApi { @Override public void createApiAccessLog(ApiAccessLogCreateReqDTO createDTO) { - apiAccessLogService.createApiAccessLog(createDTO); - // ApiAccessLogMessage accessLogMessage = ApiAccessLogConvert.INSTANCE.convertMessage(createDTO); - // apiAccessLogProducer.sendMessage(accessLogMessage); + //apiAccessLogService.createApiAccessLog(createDTO); + ApiAccessLogMessage accessLogMessage = ApiAccessLogConvert.INSTANCE.convertMessage(createDTO); + apiAccessLogProducer.sendMessage(accessLogMessage); } } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiErrorLogApiImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiErrorLogApiImpl.java index 3cf2423e..73c5eebc 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiErrorLogApiImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/logger/ApiErrorLogApiImpl.java @@ -1,6 +1,8 @@ package com.win.module.infra.api.logger; import com.win.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO; +import com.win.module.infra.convert.logger.ApiErrorLogConvert; +import com.win.module.infra.mq.message.logger.ApiErrorLogMessage; import com.win.module.infra.mq.producer.logger.ApiErrorLogProducer; import com.win.module.infra.service.logger.ApiErrorLogService; import org.springframework.stereotype.Service; @@ -25,9 +27,9 @@ public class ApiErrorLogApiImpl implements ApiErrorLogApi { @Override public void createApiErrorLog(ApiErrorLogCreateReqDTO createDTO) { - apiErrorLogService.createApiErrorLog(createDTO); - // ApiErrorLogMessage errorLogMessage = ApiErrorLogConvert.INSTANCE.convertMessage(createDTO); - // apiErrorLogProducer.sendMessage(errorLogMessage); + //apiErrorLogService.createApiErrorLog(createDTO); + ApiErrorLogMessage errorLogMessage = ApiErrorLogConvert.INSTANCE.convertMessage(createDTO); + apiErrorLogProducer.sendMessage(errorLogMessage); } } diff --git a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java index de172c06..90a748ce 100644 --- a/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java +++ b/win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java @@ -1,6 +1,8 @@ package com.win.module.infra.api.trends; import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO; +import com.win.module.infra.convert.trends.TrendsConvert; +import com.win.module.infra.mq.message.trends.TrendsMessage; import com.win.module.infra.mq.producer.trends.TrendsProducer; import com.win.module.infra.service.trends.TrendsService; import org.springframework.stereotype.Service; @@ -25,9 +27,9 @@ public class TrendsApiImpl implements TrendsApi { @Override public void createTrends(TrendsCreateReqDTO createDTO) { - trendsService.createTrends(createDTO); - // TrendsMessage trendsMessage = TrendsConvert.INSTANCE.convertMessage(createDTO); - // trendsProducer.sendMessage(trendsMessage); + //trendsService.createTrends(createDTO); + TrendsMessage trendsMessage = TrendsConvert.INSTANCE.convertMessage(createDTO); + trendsProducer.sendMessage(trendsMessage); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/RuleController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/RuleController.java index 67bcd88b..fbddfc3b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/RuleController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/RuleController.java @@ -1,42 +1,27 @@ package com.win.module.wms.controller.rule; -import com.win.framework.dict.core.util.DictFrameworkUtils; +import com.win.framework.common.pojo.CommonResult; +import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.user.AdminUserApi; -import com.win.module.system.api.user.dto.AdminUserRespDTO; -import com.win.module.wms.controller.rule.vo.*; -import com.win.module.wms.controller.rule.vo.RuleImportExcelVo; -import com.win.module.wms.enums.DictTypeConstants; -import io.swagger.v3.oas.annotations.Parameters; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; +import com.win.module.wms.controller.rule.vo.RuleCreateReqVO; +import com.win.module.wms.controller.rule.vo.RulePageReqVO; +import com.win.module.wms.controller.rule.vo.RuleRespVO; +import com.win.module.wms.controller.rule.vo.RuleUpdateReqVO; +import com.win.module.wms.convert.rule.RuleConvert; +import com.win.module.wms.dal.dataobject.rule.RuleDO; +import com.win.module.wms.service.rule.RuleService; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.time.LocalDateTime; -import java.time.ZoneOffset; -import java.util.*; -import java.io.IOException; +import javax.annotation.Resource; +import javax.validation.Valid; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.pojo.CommonResult; import static com.win.framework.common.pojo.CommonResult.success; -import com.win.framework.excel.core.util.ExcelUtils; - -import com.win.framework.operatelog.core.annotations.OperateLog; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.win.module.wms.controller.rule.vo.*; -import com.win.module.wms.dal.dataobject.rule.RuleDO; -import com.win.module.wms.convert.rule.RuleConvert; -import com.win.module.wms.service.rule.RuleService; -import org.springframework.web.multipart.MultipartFile; - @Tag(name = "管理后台 - 规则") @RestController @RequestMapping("/wms/rule") @@ -82,15 +67,6 @@ public class RuleController { return success(RuleConvert.INSTANCE.convert(rule)); } - @GetMapping("/list") - @Operation(summary = "获得规则列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:rule:query')") - public CommonResult> getRuleList(@RequestParam("ids") Collection ids) { - List list = ruleService.getRuleList(ids); - return success(RuleConvert.INSTANCE.convertList(list)); - } - @GetMapping("/page") @Operation(summary = "获得规则分页") @PreAuthorize("@ss.hasPermission('wms:rule:query')") @@ -99,63 +75,4 @@ public class RuleController { return success(RuleConvert.INSTANCE.convertPage(pageResult)); } - @GetMapping("/export-excel") - @Operation(summary = "导出规则 Excel") - @PreAuthorize("@ss.hasPermission('wms:rule:export')") - @OperateLog(type = EXPORT) - public void exportRuleExcel(@Valid RuleExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = ruleService.getRuleList(exportReqVO); - // 导出 Excel - List datas = RuleConvert.INSTANCE.convertList02(list); - for(RuleExcelVO vo : datas) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - vo.setCreator(user.getNickname()); - } - ExcelUtils.write(response, "规则.xls", "数据", RuleExcelVO.class, datas); - } - - @GetMapping("/get-import-template") - @Operation(summary = "获得导入规则信息模板") - public void importTemplate(HttpServletResponse response) throws IOException { - // 手动创建导出 demo - List list = Arrays.asList( - ); - // 手动创建导出 demo - Map mapDropDown = new HashMap<>(); - - // 输出 - - // 输出 - ExcelUtils.write(response, "规则导入模板.xls", "规则列表", RuleImportExcelVo.class, list,mapDropDown); - } - - - @PostMapping("/import") - @Operation(summary = "导入规则信息") - @Parameters({ - @Parameter(name = "file", description = "Excel 文件", required = true), - @Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"), - @Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true") - }) - @PreAuthorize("@ss.hasPermission('wms:rule:import')") - public CommonResult> importExcel(HttpServletResponse response, - @RequestParam("file") MultipartFile file, - @RequestParam(value = "mode") Integer mode, - @RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception { - List list = ExcelUtils.read(file, RuleImportExcelVo.class); - List errorList = ruleService.importRuleList(list, mode, updatePart); - Map returnMap = new HashMap<>(); - returnMap.put("errorCount", errorList.size()); - if(!errorList.isEmpty()) { - String url = ExcelUtils.writeLocalFile("规则导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xls", "错误列表", errorList); - returnMap.put("errorFile", url); - } - return success(returnMap); - } - - - - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/RulePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/RulePageReqVO.java index 69ef9a4b..c9ce1c42 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/RulePageReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/RulePageReqVO.java @@ -1,9 +1,12 @@ package com.win.module.wms.controller.rule.vo; -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; import com.win.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.constraints.NotNull; @Schema(description = "管理后台 - 规则分页 Request VO") @Data @@ -18,6 +21,7 @@ public class RulePageReqVO extends PageParam { private Integer priority; @Schema(description = "代码") + @NotNull(message = "代码不能为空") private String code; @Schema(description = "名称") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java index 26718a60..21a68ff1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java @@ -1,15 +1,15 @@ package com.win.module.wms.service.rule; -import java.util.*; -import javax.validation.*; - +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.rule.vo.RuleCreateReqVO; -import com.win.module.wms.controller.rule.vo.RuleExportReqVO; import com.win.module.wms.controller.rule.vo.RulePageReqVO; -import com.win.module.wms.controller.rule.vo.*; -import com.win.module.wms.controller.saleprice.vo.SalepriceImportExcelVo; +import com.win.module.wms.controller.rule.vo.RuleRespVO; +import com.win.module.wms.controller.rule.vo.RuleUpdateReqVO; import com.win.module.wms.dal.dataobject.rule.RuleDO; -import com.win.framework.common.pojo.PageResult; + +import javax.validation.Valid; +import java.util.Collection; +import java.util.List; /** * 规则 Service 接口 @@ -64,17 +64,6 @@ public interface RuleService { */ PageResult getRulePage(RulePageReqVO pageReqVO); - /** - * 获得规则列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 规则列表 - */ - List getRuleList(RuleExportReqVO exportReqVO); - - - List importRuleList(List importTeam, Integer mode, boolean updatePart); - /**************** 规则接口 ****************/ /** diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java index 7cb20824..3881e034 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java @@ -1,22 +1,21 @@ package com.win.module.wms.service.rule; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.annotations.VisibleForTesting; -import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.PageResult; import com.win.framework.datapermission.core.util.DataPermissionUtils; -import com.win.module.wms.controller.rule.vo.*; +import com.win.module.wms.controller.rule.vo.RuleCreateReqVO; +import com.win.module.wms.controller.rule.vo.RulePageReqVO; +import com.win.module.wms.controller.rule.vo.RuleRespVO; +import com.win.module.wms.controller.rule.vo.RuleUpdateReqVO; import com.win.module.wms.convert.rule.RuleConvert; import com.win.module.wms.dal.dataobject.rule.RuleDO; import com.win.module.wms.dal.mysql.rule.RuleMapper; import org.springframework.stereotype.Service; -import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -80,43 +79,6 @@ public class RuleServiceImpl implements RuleService { return ruleMapper.selectPage(pageReqVO); } - @Override - public List getRuleList(RuleExportReqVO exportReqVO) { - return ruleMapper.selectList(exportReqVO); - } - - public List importRuleList(List rules, Integer mode, boolean updatePart) { - if (CollUtil.isEmpty(rules)) { - throw exception(RULE_IMPORT_LIST_IS_EMPTY); - } - List errorList = new ArrayList<>(); - rules.forEach(rule -> { - // 校验,判断是否有不符合的原因 - try { - if(mode != null){ - validateRuleForCreateOrUpdate(null,rule.getCode(),rule.getStrategyCode(),rule.getPriority()); - } - } catch (ServiceException ex) { - errorList.add(rule); - return; - } - // 判断如果不存在,在进行插入 - RuleDO existRule = ruleMapper.selectByCode(rule.getCode()); - if (existRule == null&& mode != 3) { - ruleMapper.insert(RuleConvert.INSTANCE.convert(rule)); - } else if (existRule != null && mode != 2) {// 如果存在,判断是否允许更新 - RuleDO ruleDO = RuleConvert.INSTANCE.convert(rule); - ruleDO.setId(existRule.getId()); - ruleMapper.updateById(ruleDO); - } - }); - //错误不为空并非部分更新,手工回滚 - if(!errorList.isEmpty() && !updatePart) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - } - return errorList; - } - private void validateRuleForCreateOrUpdate(Long id, String code, String strategyCode,Integer priority) { // 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确 DataPermissionUtils.executeIgnore(() -> { diff --git a/win-server/src/main/resources/application.yaml b/win-server/src/main/resources/application.yaml index d89f0b25..fb8fb185 100644 --- a/win-server/src/main/resources/application.yaml +++ b/win-server/src/main/resources/application.yaml @@ -139,7 +139,7 @@ win: pubsub: enable: false # 是否开启 Redis pubsub 广播消费,默认为 true。这里设置成 false,可以按需开启 stream: - enable: false # 是否开启 Redis stream 集群消费,默认为 true。这里设置成 false,可以按需开启 + enable: true # 是否开启 Redis stream 集群消费,默认为 true。这里设置成 false,可以按需开启 tenant: # 多租户相关配置项 enable: true ignore-urls: