From 0effec4479b55ee014e6d718b8771771f1a87c61 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Mon, 2 Dec 2024 17:44:23 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=96=B0=E5=A2=9E=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=EF=BC=9B?= =?UTF-8?q?2=E3=80=81=E8=87=AA=E5=AE=9A=E4=B9=89=E6=9D=BF=E7=BC=96?= =?UTF-8?q?=E5=8F=B7=E8=B7=A8=E5=8D=95=E5=AF=BC=E5=85=A5=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/security/OrganSecurityWebFilter.java | 16 ++++++++-------- .../core/service/OrganFrameworkServiceImpl.java | 2 +- .../CustomPlateNoGenerateServiceImpl.java | 16 ++++++++++++++-- .../cf/imes/module/system/api/dept/DeptApi.java | 4 ++-- .../system/api/systemconfig/SystemConfigApi.java | 3 ++- .../impl/CustomPlateNoServiceHandler.java | 2 +- .../service/user/AdminUserServiceImpl.java | 7 +++++-- 7 files changed, 33 insertions(+), 17 deletions(-) diff --git a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/security/OrganSecurityWebFilter.java b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/security/OrganSecurityWebFilter.java index 4a7fcbcff..df003173d 100644 --- a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/security/OrganSecurityWebFilter.java +++ b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/security/OrganSecurityWebFilter.java @@ -1,6 +1,7 @@ package com.cf.imes.framework.organ.core.security; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants; import com.cf.imes.framework.common.pojo.CommonResult; @@ -93,14 +94,14 @@ public class OrganSecurityWebFilter extends ApiRequestFilter { try { // 校验组织 organFrameworkService.validOrgan(organId); - // 校验部门 - organFrameworkService.validDept(deptId); + if (ObjectUtil.isNotNull(deptId)) { + // 校验部门 + organFrameworkService.validDept(deptId); + } } catch (Throwable ex) { CommonResult result = globalExceptionHandler.allExceptionHandler(request, ex); // 组织失效返回401踢出系统 - if (needUnauthorizedWhenOrgExpired(ex)) { - result.setCode(GlobalErrorCodeConstants.UNAUTHORIZED.getCode()); - } + needUnauthorizedWhenOrgExpired(ex, result); ServletUtils.writeJSON(response, result); return; } @@ -134,15 +135,14 @@ public class OrganSecurityWebFilter extends ApiRequestFilter { * @param ex * @return */ - private boolean needUnauthorizedWhenOrgExpired(Throwable ex) { + private void needUnauthorizedWhenOrgExpired(Throwable ex, CommonResult result) { if (ex instanceof ServiceException) { ServiceException serviceException = (ServiceException) ex; if (Objects.equals(serviceException.getCode(), ErrorCodeConstants.ORGAN_EXPIRE.getCode()) || Objects.equals(serviceException.getCode(), ErrorCodeConstants.ORGAN_DISABLE.getCode()) || Objects.equals(serviceException.getCode(), ErrorCodeConstants.ORGAN_NOT_EXISTS.getCode())) { - return true; + result.setCode(GlobalErrorCodeConstants.UNAUTHORIZED.getCode()); } } - return false; } } diff --git a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/service/OrganFrameworkServiceImpl.java b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/service/OrganFrameworkServiceImpl.java index 074dd0536..efd36bbf7 100644 --- a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/service/OrganFrameworkServiceImpl.java +++ b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/service/OrganFrameworkServiceImpl.java @@ -51,6 +51,6 @@ public class OrganFrameworkServiceImpl implements OrganFrameworkService { @Override public void validDept(Long id) { - deptApi.validateDept(id); + deptApi.validateDept(id).checkError(); } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplateno/CustomPlateNoGenerateServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplateno/CustomPlateNoGenerateServiceImpl.java index be4bb6aaf..50e6a02f0 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplateno/CustomPlateNoGenerateServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplateno/CustomPlateNoGenerateServiceImpl.java @@ -3,10 +3,13 @@ package com.cf.imes.module.executor.service.customplateno; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.framework.common.util.json.JsonUtils; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; +import com.cf.imes.module.executor.dal.mysql.order.OrderMapper; import com.cf.imes.module.executor.enums.ErrorCodeConstants; import com.cf.imes.module.executor.service.customplateno.vo.CustomPlateNoGenerateConfigVO; import com.cf.imes.module.executor.service.customplateno.vo.CustomPlateNoRuleVO; @@ -49,6 +52,9 @@ public class CustomPlateNoGenerateServiceImpl implements CustomPlateNoGenerateSe @Resource private List ruleServices; + @Resource + private OrderMapper orderMapper; + private static final DateTimeFormatter YEAR_FORMATTER = DateTimeFormatter.ofPattern("yyyy"); private static final DateTimeFormatter MONTH_FORMATTER = DateTimeFormatter.ofPattern("yyyyMM"); private static final DateTimeFormatter DAY_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd"); @@ -77,8 +83,14 @@ public class CustomPlateNoGenerateServiceImpl implements CustomPlateNoGenerateSe } // 3、保存生产单序号json、设置生产单所用配置id - orderDO.setCustomPlatenoSeq(JSON.toJSONString(generateConfig.getOrderCustomPlateNoSeqVO())); - orderDO.setCustomPlatenoConfigId(orgCustomPlateNoConfigId); + OrderCustomPlateNoSeqVO orderCustomPlateNoSeqVO = generateConfig.getOrderCustomPlateNoSeqVO(); + if (ObjectUtil.isNotNull(orderDO)) { + // 已有生产单更新序号 + orderMapper.update(new LambdaUpdateWrapper().eq(OrderDO::getId, orderId).set(OrderDO::getCustomPlatenoSeq, JsonUtils.zipString(JSON.toJSONString(orderCustomPlateNoSeqVO)))); + } else { + orderDO.setCustomPlatenoSeq(JSON.toJSONString(orderCustomPlateNoSeqVO)); + orderDO.setCustomPlatenoConfigId(orgCustomPlateNoConfigId); + } // 机构下序号配置同步 CustomPlateNoSeqDTO orgCustomPlateNoSeqRespDTO = generateConfig.getOrgCustomPlateNoSeqRespDTO(); orgCustomPlateNoSeqRespDTO.setLastOrderNo(orderId); diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/dept/DeptApi.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/dept/DeptApi.java index e3fb6e315..8c810edc9 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/dept/DeptApi.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/dept/DeptApi.java @@ -38,10 +38,10 @@ public interface DeptApi { @Parameter(name = "ids", description = "部门编号数组", example = "1,2", required = true) CommonResult validateDeptList(@RequestParam("ids") Collection ids); - @GetMapping(PREFIX + "/valid/{deptId}") + @GetMapping(PREFIX + "/legitimacy/{deptId}") @Operation(summary = "校验部门是否合法") @Parameter(name = "id", description = "部门编号", example = "1024", required = true) - CommonResult validateDept(@PathVariable("id") Long deptId); + CommonResult validateDept(@PathVariable("deptId") Long deptId); /** * 获得指定编号的部门 Map diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApi.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApi.java index 15744ef09..28729844c 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApi.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApi.java @@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; /** @@ -26,5 +27,5 @@ public interface SystemConfigApi { @GetMapping(PREFIX + "/organ/custom-plateno-config/{id}") @Operation(summary = "获取组织下自定义版编号配置") - CommonResult getById(Long id); + CommonResult getById(@PathVariable("id") Long id); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/CustomPlateNoServiceHandler.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/CustomPlateNoServiceHandler.java index 3c371ffa5..9f493f869 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/CustomPlateNoServiceHandler.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/CustomPlateNoServiceHandler.java @@ -247,7 +247,7 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand // 查询机构下的现有自定义板编号配置最大版本号 Integer maxCustomPlateNoSystemConfigVersion = systemConfigMapper.selectOrgMaxCustomPlateNoSystemConfigVersion(OrganContextHolder.getOrganId()); // 版本号 + 1 - reqVO.setVersion(maxCustomPlateNoSystemConfigVersion + 1); + reqVO.setVersion((ObjectUtil.isNotNull(maxCustomPlateNoSystemConfigVersion) ? maxCustomPlateNoSystemConfigVersion : 0) + 1); // 自定义板编号每次保存都创建新版本 reqVO.setId(null); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java index bb77fb7bd..6bfbc671b 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java @@ -534,8 +534,11 @@ public class AdminUserServiceImpl implements AdminUserService { AdminUserDO adminUserDO = validateUserExists(id); // 校验用户名唯一 validateUsernameUnique(id, username, organId); - // 校验部门处于开启状态 - deptService.validDept(deptId); + // 组织管理员不归属部门 + if (ObjectUtil.isNotNull(deptId)) { + // 校验部门处于开启状态 + deptService.validDept(deptId); + } // 校验岗位处于开启状态 postService.validatePostList(postIds); return adminUserDO;