From 220d0ff28a14f925fe31b03918cee474d96bb93c Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Wed, 9 Oct 2024 12:04:54 +0800 Subject: [PATCH 1/2] =?UTF-8?q?sonarqube=E8=B4=A8=E9=87=8F=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/GlobalErrorCodeConstants.java | 38 ++-- .../framework/common/util/json/JsonUtils.java | 31 ++-- .../kafka/OrganKafkaProducerInterceptor.java | 3 + .../OrganRocketMQSendMessageHook.java | 1 + .../client/dto/order/PayOrderRespDTO.java | 5 +- .../client/impl/weixin/WxBarPayClient.java | 6 +- .../client/impl/weixin/WxPubPayClient.java | 4 +- .../enums/SmsFrameworkErrorCodeConstants.java | 50 ------ .../core/enums/CaptchaRedisKeyConstants.java | 28 --- .../StringDesensitizeSerializer.java | 4 +- .../file/core/client/s3/S3FileClient.java | 18 +- .../core/client/s3/S3FileClientConfig.java | 4 +- .../datasource/core/enums/DataSourceEnum.java | 22 --- .../ChenfengMybatisAutoConfiguration.java | 2 + .../IdTypeEnvironmentPostProcessor.java | 1 + .../core/type/StringListTypeHandler.java | 4 +- .../lock4j/core/Lock4jRedisKeyConstants.java | 19 -- .../redis/core/TimeoutRedisCacheManager.java | 13 +- .../ChenfengWebSecurityConfigurerAdapter.java | 1 + .../filter/TokenAuthenticationFilter.java | 6 +- .../framework/test/core/util/RandomUtils.java | 4 +- .../core/filter/CacheRequestBodyWrapper.java | 4 +- .../core/handler/GlobalExceptionHandler.java | 4 +- .../gateway/filter/grey/GrayLoadBalancer.java | 8 +- .../com/cf/imes/gateway/util/EnvUtils.java | 4 +- .../module/infra/enums/DictTypeConstants.java | 14 +- .../infra/enums/ErrorCodeConstants.java | 76 +++----- .../api/websocket/WebSocketSenderApiImpl.java | 4 +- .../controller/admin/file/FileController.java | 6 +- .../infra/convert/redis/RedisConvert.java | 8 +- .../service/codegen/CodegenServiceImpl.java | 6 +- .../service/codegen/inner/CodegenBuilder.java | 20 +-- .../service/codegen/inner/CodegenEngine.java | 121 +++++++------ .../service/DefaultDatabaseQueryTest.java | 41 ----- .../module/executor/util/ExcelWriterUtil.java | 170 ++++-------------- .../service/voice/VoiceServiceImpl.java | 5 +- 36 files changed, 242 insertions(+), 513 deletions(-) delete mode 100644 cf-framework/cf-spring-boot-starter-biz-sms/src/main/java/com/cf/imes/framework/sms/core/enums/SmsFrameworkErrorCodeConstants.java delete mode 100644 cf-framework/cf-spring-boot-starter-captcha/src/main/java/com/cf/imes/framework/captcha/core/enums/CaptchaRedisKeyConstants.java delete mode 100644 cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/core/enums/DataSourceEnum.java delete mode 100644 cf-framework/cf-spring-boot-starter-protection/src/main/java/com/cf/imes/framework/lock4j/core/Lock4jRedisKeyConstants.java delete mode 100644 cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/DefaultDatabaseQueryTest.java diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/exception/enums/GlobalErrorCodeConstants.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/exception/enums/GlobalErrorCodeConstants.java index 4edb02b89..0d87983a1 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/exception/enums/GlobalErrorCodeConstants.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/exception/enums/GlobalErrorCodeConstants.java @@ -12,38 +12,32 @@ import com.cf.imes.framework.common.exception.ErrorCode; * * @author 晨丰科技 */ -public interface GlobalErrorCodeConstants { +public class GlobalErrorCodeConstants { - ErrorCode SUCCESS = new ErrorCode(0, "成功"); + public static final ErrorCode SUCCESS = new ErrorCode(0, "成功"); // ========== 客户端错误段 ========== - ErrorCode BAD_REQUEST = new ErrorCode(400, "请求参数不正确"); - ErrorCode UNAUTHORIZED = new ErrorCode(401, "账号未登录"); - ErrorCode FORBIDDEN = new ErrorCode(403, "没有该操作权限"); - ErrorCode NOT_FOUND = new ErrorCode(404, "请求未找到"); - ErrorCode METHOD_NOT_ALLOWED = new ErrorCode(405, "请求方法不正确"); - ErrorCode LOCKED = new ErrorCode(423, "请求失败,请稍后重试"); // 并发请求,不允许 - ErrorCode TOO_MANY_REQUESTS = new ErrorCode(429, "请求过于频繁,请稍后重试"); - ErrorCode DATA_SOURCE_CODE_NOT_FOUND = new ErrorCode(430, "未传递数据源标识"); - ErrorCode ORGAN_ID_NOT_FOUND = new ErrorCode(431, "未传组织标识"); + public static final ErrorCode BAD_REQUEST = new ErrorCode(400, "请求参数不正确"); + public static final ErrorCode UNAUTHORIZED = new ErrorCode(401, "账号未登录"); + public static final ErrorCode FORBIDDEN = new ErrorCode(403, "没有该操作权限"); + public static final ErrorCode NOT_FOUND = new ErrorCode(404, "请求未找到"); + public static final ErrorCode METHOD_NOT_ALLOWED = new ErrorCode(405, "请求方法不正确"); + public static final ErrorCode LOCKED = new ErrorCode(423, "请求失败,请稍后重试"); // 并发请求,不允许 + public static final ErrorCode TOO_MANY_REQUESTS = new ErrorCode(429, "请求过于频繁,请稍后重试"); // ========== 服务端错误段 ========== - ErrorCode INTERNAL_SERVER_ERROR = new ErrorCode(500, "系统异常,请联系客服处理"); - ErrorCode NOT_IMPLEMENTED = new ErrorCode(501, "功能未实现/未开启"); - ErrorCode ERROR_CONFIGURATION = new ErrorCode(502, "错误的配置项"); + public static final ErrorCode INTERNAL_SERVER_ERROR = new ErrorCode(500, "系统异常,请联系客服处理"); + public static final ErrorCode NOT_IMPLEMENTED = new ErrorCode(501, "功能未实现/未开启"); // ES文档更新失败 - ErrorCode ES_ERROR_UPDATE = new ErrorCode(503, "数据异常,请勿点击过快,请稍等再试"); + public static final ErrorCode ES_ERROR_UPDATE = new ErrorCode(503, "数据异常,请勿点击过快,请稍等再试"); // ES文档删除失败 - ErrorCode ES_ERROR_DELETE = new ErrorCode(504, "数据异常,请勿点击过快,请稍等再试"); - ErrorCode DATA_EXCEPTION_ERROR = new ErrorCode(505, "数据异常,请联系客服处理"); + public static final ErrorCode ES_ERROR_DELETE = new ErrorCode(504, "数据异常,请勿点击过快,请稍等再试"); + public static final ErrorCode DATA_EXCEPTION_ERROR = new ErrorCode(505, "数据异常,请联系客服处理"); // ========== 自定义错误段 ========== - ErrorCode REPEATED_REQUESTS = new ErrorCode(900, "重复请求,请稍后重试"); // 重复请求 - ErrorCode DEMO_DENY = new ErrorCode(901, "演示模式,禁止写操作"); - - ErrorCode UNKNOWN = new ErrorCode(999, "未知错误"); - + public static final ErrorCode REPEATED_REQUESTS = new ErrorCode(900, "重复请求,请稍后重试"); // 重复请求 + public static final ErrorCode DEMO_DENY = new ErrorCode(901, "演示模式,禁止写操作"); } diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/json/JsonUtils.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/json/JsonUtils.java index 238b9f90d..dc0437d50 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/json/JsonUtils.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/json/JsonUtils.java @@ -34,6 +34,8 @@ public class JsonUtils { private static ObjectMapper objectMapper = new ObjectMapper(); + private static final String JSON_PARSE_ERROR_NOTIFICATION = "json parse err,json:{}"; + static { objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); @@ -74,7 +76,7 @@ public class JsonUtils { try { return objectMapper.readValue(text, clazz); } catch (IOException e) { - log.error("json parse err,json:{}", text, e); + log.error(JSON_PARSE_ERROR_NOTIFICATION, text, e); throw new RuntimeException(e); } } @@ -88,7 +90,7 @@ public class JsonUtils { JsonNode pathNode = treeNode.path(path); return objectMapper.readValue(pathNode.toString(), clazz); } catch (IOException e) { - log.error("json parse err,json:{}", text, e); + log.error(JSON_PARSE_ERROR_NOTIFICATION, text, e); throw new RuntimeException(e); } } @@ -100,7 +102,7 @@ public class JsonUtils { try { return objectMapper.readValue(text, objectMapper.getTypeFactory().constructType(type)); } catch (IOException e) { - log.error("json parse err,json:{}", text, e); + log.error(JSON_PARSE_ERROR_NOTIFICATION, text, e); throw new RuntimeException(e); } } @@ -128,7 +130,7 @@ public class JsonUtils { try { return objectMapper.readValue(bytes, clazz); } catch (IOException e) { - log.error("json parse err,json:{}", bytes, e); + log.error(JSON_PARSE_ERROR_NOTIFICATION, bytes, e); throw new RuntimeException(e); } } @@ -137,7 +139,7 @@ public class JsonUtils { try { return objectMapper.readValue(text, typeReference); } catch (IOException e) { - log.error("json parse err,json:{}", text, e); + log.error(JSON_PARSE_ERROR_NOTIFICATION, text, e); throw new RuntimeException(e); } } @@ -149,7 +151,7 @@ public class JsonUtils { try { return objectMapper.readValue(text, objectMapper.getTypeFactory().constructCollectionType(List.class, clazz)); } catch (IOException e) { - log.error("json parse err,json:{}", text, e); + log.error(JSON_PARSE_ERROR_NOTIFICATION, text, e); throw new RuntimeException(e); } } @@ -163,7 +165,7 @@ public class JsonUtils { JsonNode pathNode = treeNode.path(path); return objectMapper.readValue(pathNode.toString(), objectMapper.getTypeFactory().constructCollectionType(List.class, clazz)); } catch (IOException e) { - log.error("json parse err,json:{}", text, e); + log.error(JSON_PARSE_ERROR_NOTIFICATION, text, e); throw new RuntimeException(e); } } @@ -172,7 +174,7 @@ public class JsonUtils { try { return objectMapper.readTree(text); } catch (IOException e) { - log.error("json parse err,json:{}", text, e); + log.error(JSON_PARSE_ERROR_NOTIFICATION, text, e); throw new RuntimeException(e); } } @@ -181,7 +183,7 @@ public class JsonUtils { try { return objectMapper.readTree(text); } catch (IOException e) { - log.error("json parse err,json:{}", text, e); + log.error(JSON_PARSE_ERROR_NOTIFICATION, text, e); throw new RuntimeException(e); } } @@ -246,23 +248,26 @@ public class JsonUtils { //设置解压缩的输入数据。 inflater.setInput(decode); final byte[] bytes = new byte[256]; - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(256); - try { + + try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream(256)) { //finished() 如果已到达压缩数据流的末尾,则返回true。 while (!inflater.finished()) { //将字节解压缩到指定的缓冲区中。 int length = inflater.inflate(bytes); outputStream.write(bytes, 0, length); } + + return outputStream.toString(); } catch (DataFormatException e) { e.printStackTrace(); return null; + } catch (IOException e) { + e.printStackTrace(); + return null; } finally { //关闭解压缩器并丢弃任何未处理的输入。 inflater.end(); } - - return outputStream.toString(); } diff --git a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/mq/kafka/OrganKafkaProducerInterceptor.java b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/mq/kafka/OrganKafkaProducerInterceptor.java index d0ae944b4..546a1e2ad 100644 --- a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/mq/kafka/OrganKafkaProducerInterceptor.java +++ b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/mq/kafka/OrganKafkaProducerInterceptor.java @@ -34,14 +34,17 @@ public class OrganKafkaProducerInterceptor implements ProducerInterceptor configs) { + // configure } } diff --git a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/mq/rocketmq/OrganRocketMQSendMessageHook.java b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/mq/rocketmq/OrganRocketMQSendMessageHook.java index a10a7ddca..3243fd2c1 100644 --- a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/mq/rocketmq/OrganRocketMQSendMessageHook.java +++ b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/mq/rocketmq/OrganRocketMQSendMessageHook.java @@ -31,6 +31,7 @@ public class OrganRocketMQSendMessageHook implements SendMessageHook { @Override public void sendMessageAfter(SendMessageContext sendMessageContext) { + // sendMessageAfter } } diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/order/PayOrderRespDTO.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/order/PayOrderRespDTO.java index ed5fa5c1e..4a708a028 100644 --- a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/order/PayOrderRespDTO.java +++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/order/PayOrderRespDTO.java @@ -4,6 +4,7 @@ import com.cf.imes.framework.pay.core.client.exception.PayException; import com.cf.imes.framework.pay.core.enums.order.PayOrderDisplayModeEnum; import com.cf.imes.framework.pay.core.enums.order.PayOrderStatusRespEnum; import lombok.Data; +import lombok.NoArgsConstructor; import java.time.LocalDateTime; @@ -13,6 +14,7 @@ import java.time.LocalDateTime; * @author 晨丰科技 */ @Data +@NoArgsConstructor public class PayOrderRespDTO { /** @@ -73,9 +75,6 @@ public class PayOrderRespDTO { */ private String channelErrorMsg; - public PayOrderRespDTO() { - } - /** * 创建【WAITING】状态的订单返回 */ diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxBarPayClient.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxBarPayClient.java index 055f38a84..a8bd4074a 100644 --- a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxBarPayClient.java +++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxBarPayClient.java @@ -1,8 +1,8 @@ package com.cf.imes.framework.pay.core.client.impl.weixin; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.thread.ThreadUtil; -import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.common.util.date.LocalDateTimeUtils; import com.cf.imes.framework.pay.core.client.dto.order.PayOrderRespDTO; import com.cf.imes.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; @@ -77,7 +77,7 @@ public class WxBarPayClient extends AbstractWxPayClient { // 1. SYSTEMERROR:接口返回错误:请立即调用被扫订单结果查询API,查询当前订单状态,并根据订单的状态决定下一步的操作。 // 2. USERPAYING:用户支付中,需要输入密码:等待 5 秒,然后调用被扫订单结果查询 API,查询当前订单的不同状态,决定下一步的操作。 // 3. BANKERROR:银行系统异常:请立即调用被扫订单结果查询 API,查询当前订单的不同状态,决定下一步的操作。 - if (!StrUtil.equalsAny(ex.getErrCode(), "SYSTEMERROR", "USERPAYING", "BANKERROR")) { + if (!CharSequenceUtil.equalsAny(ex.getErrCode(), "SYSTEMERROR", "USERPAYING", "BANKERROR")) { throw ex; } // 等待 5 秒,继续下一轮重新发起支付 @@ -98,7 +98,7 @@ public class WxBarPayClient extends AbstractWxPayClient { static String getAuthCode(PayOrderUnifiedReqDTO reqDTO) { String authCode = MapUtil.getStr(reqDTO.getChannelExtras(), "authCode"); - if (StrUtil.isEmpty(authCode)) { + if (CharSequenceUtil.isEmpty(authCode)) { throw invalidParamException("支付请求的 authCode 不能为空!"); } return authCode; diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxPubPayClient.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxPubPayClient.java index 1bf008979..ecdd53acb 100644 --- a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxPubPayClient.java +++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxPubPayClient.java @@ -1,7 +1,7 @@ package com.cf.imes.framework.pay.core.client.impl.weixin; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.pay.core.client.dto.order.PayOrderRespDTO; import com.cf.imes.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; import com.cf.imes.framework.pay.core.enums.channel.PayChannelEnum; @@ -71,7 +71,7 @@ public class WxPubPayClient extends AbstractWxPayClient { static String getOpenid(PayOrderUnifiedReqDTO reqDTO) { String openid = MapUtil.getStr(reqDTO.getChannelExtras(), "openid"); - if (StrUtil.isEmpty(openid)) { + if (CharSequenceUtil.isEmpty(openid)) { throw invalidParamException("支付请求的 openid 不能为空!"); } return openid; diff --git a/cf-framework/cf-spring-boot-starter-biz-sms/src/main/java/com/cf/imes/framework/sms/core/enums/SmsFrameworkErrorCodeConstants.java b/cf-framework/cf-spring-boot-starter-biz-sms/src/main/java/com/cf/imes/framework/sms/core/enums/SmsFrameworkErrorCodeConstants.java deleted file mode 100644 index 0fb44f3e5..000000000 --- a/cf-framework/cf-spring-boot-starter-biz-sms/src/main/java/com/cf/imes/framework/sms/core/enums/SmsFrameworkErrorCodeConstants.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.cf.imes.framework.sms.core.enums; - -import com.cf.imes.framework.common.exception.ErrorCode; - -/** - * 短信框架的错误码枚举 - * - * 短信框架,使用 2-001-000-000 段 - * - * @author 晨丰科技 - */ -public interface SmsFrameworkErrorCodeConstants { - - ErrorCode SMS_UNKNOWN = new ErrorCode(2_001_000_000, "未知错误,需要解析"); - - // ========== 权限 / 限流等相关 2-001-000-100 ========== - - ErrorCode SMS_PERMISSION_DENY = new ErrorCode(2_001_000_100, "没有发送短信的权限"); - ErrorCode SMS_IP_DENY = new ErrorCode(2_001_000_100, "IP 不允许发送短信"); - - // 阿里云:将短信发送频率限制在正常的业务限流范围内。默认短信验证码:使用同一签名,对同一个手机号验证码,支持 1 条 / 分钟,5 条 / 小时,累计 10 条 / 天。 - ErrorCode SMS_SEND_BUSINESS_LIMIT_CONTROL = new ErrorCode(2_001_000_102, "指定手机的发送限流"); - // 阿里云:已经达到您在控制台设置的短信日发送量限额值。在国内消息设置 > 安全设置,修改发送总量阈值。 - ErrorCode SMS_SEND_DAY_LIMIT_CONTROL = new ErrorCode(2_001_000_103, "每天的发送限流"); - - ErrorCode SMS_SEND_CONTENT_INVALID = new ErrorCode(2_001_000_104, "短信内容有敏感词"); - - // 腾讯云:为避免骚扰用户,营销短信只允许在8点到22点发送。 - ErrorCode SMS_SEND_MARKET_LIMIT_CONTROL = new ErrorCode(2_001_000_105, "营销短信发送时间限制"); - - // ========== 模板相关 2-001-000-200 ========== - ErrorCode SMS_TEMPLATE_INVALID = new ErrorCode(2_001_000_200, "短信模板不合法"); // 包括短信模板不存在 - ErrorCode SMS_TEMPLATE_PARAM_ERROR = new ErrorCode(2_001_000_201, "模板参数不正确"); - - // ========== 签名相关 2-001-000-300 ========== - ErrorCode SMS_SIGN_INVALID = new ErrorCode(2_001_000_300, "短信签名不可用"); - - // ========== 账户相关 2-001-000-400 ========== - ErrorCode SMS_ACCOUNT_MONEY_NOT_ENOUGH = new ErrorCode(2_001_000_400, "账户余额不足"); - ErrorCode SMS_ACCOUNT_INVALID = new ErrorCode(2_001_000_401, "apiKey 不存在"); - - // ========== 其它相关 2-001-000-900 开头 ========== - ErrorCode SMS_API_PARAM_ERROR = new ErrorCode(2_001_000_900, "请求参数缺失"); - ErrorCode SMS_MOBILE_INVALID = new ErrorCode(2_001_000_901, "手机格式不正确"); - ErrorCode SMS_MOBILE_BLACK = new ErrorCode(2_001_000_902, "手机号在黑名单中"); - ErrorCode SMS_APP_ID_INVALID = new ErrorCode(2_001_000_903, "SdkAppId不合法"); - - ErrorCode EXCEPTION = new ErrorCode(2_001_000_999, "调用异常"); - -} diff --git a/cf-framework/cf-spring-boot-starter-captcha/src/main/java/com/cf/imes/framework/captcha/core/enums/CaptchaRedisKeyConstants.java b/cf-framework/cf-spring-boot-starter-captcha/src/main/java/com/cf/imes/framework/captcha/core/enums/CaptchaRedisKeyConstants.java deleted file mode 100644 index 2c4ac75d2..000000000 --- a/cf-framework/cf-spring-boot-starter-captcha/src/main/java/com/cf/imes/framework/captcha/core/enums/CaptchaRedisKeyConstants.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.cf.imes.framework.captcha.core.enums; - -/** - * 验证码 Redis Key 枚举类 - * - * @author 晨丰科技 - */ -public interface CaptchaRedisKeyConstants { - - /** - * 验证码的请求限流 - * - * KEY 格式:AJ.CAPTCHA.REQ.LIMIT-%s-%s - * VALUE 数据类型:String // 例如说:验证失败 5 次,get 接口锁定 - * 过期时间:60 秒 - */ - String AJ_CAPTCHA_REQ_LIMIT = "AJ.CAPTCHA.REQ.LIMIT-%s-%s"; - - /** - * 验证码的坐标 - * - * KEY 格式:RUNNING:CAPTCHA:%s // AbstractCaptchaService.REDIS_CAPTCHA_KEY - * VALUE 数据类型:String // PointVO.class {"secretKey":"PP1w2Frr2KEejD2m","x":162,"y":5} - * 过期时间:120 秒 - */ - String AJ_CAPTCHA_RUNNING = "RUNNING:CAPTCHA:%s"; - -} diff --git a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/serializer/StringDesensitizeSerializer.java b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/serializer/StringDesensitizeSerializer.java index a43329dce..eda085151 100644 --- a/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/serializer/StringDesensitizeSerializer.java +++ b/cf-framework/cf-spring-boot-starter-desensitize/src/main/java/com/cf/imes/framework/desensitize/core/base/serializer/StringDesensitizeSerializer.java @@ -2,9 +2,9 @@ package com.cf.imes.framework.desensitize.core.base.serializer; import cn.hutool.core.annotation.AnnotationUtil; import cn.hutool.core.lang.Singleton; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ReflectUtil; -import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.desensitize.core.base.annotation.DesensitizeBy; import com.cf.imes.framework.desensitize.core.base.handler.DesensitizationHandler; import com.fasterxml.jackson.core.JsonGenerator; @@ -53,7 +53,7 @@ public class StringDesensitizeSerializer extends StdSerializer implement @Override @SuppressWarnings("unchecked") public void serialize(String value, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException { - if (StrUtil.isBlank(value)) { + if (CharSequenceUtil.isBlank(value)) { gen.writeNull(); return; } diff --git a/cf-framework/cf-spring-boot-starter-file/src/main/java/com/cf/imes/framework/file/core/client/s3/S3FileClient.java b/cf-framework/cf-spring-boot-starter-file/src/main/java/com/cf/imes/framework/file/core/client/s3/S3FileClient.java index 520a88d99..986ca1f0b 100644 --- a/cf-framework/cf-spring-boot-starter-file/src/main/java/com/cf/imes/framework/file/core/client/s3/S3FileClient.java +++ b/cf-framework/cf-spring-boot-starter-file/src/main/java/com/cf/imes/framework/file/core/client/s3/S3FileClient.java @@ -1,7 +1,7 @@ package com.cf.imes.framework.file.core.client.s3; import cn.hutool.core.io.IoUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.http.HttpUtil; import com.cf.imes.framework.file.core.client.AbstractFileClient; import io.minio.*; @@ -29,7 +29,7 @@ public class S3FileClient extends AbstractFileClient { @Override protected void doInit() { // 补全 domain - if (StrUtil.isEmpty(config.getDomain())) { + if (CharSequenceUtil.isEmpty(config.getDomain())) { config.setDomain(buildDomain()); } // 初始化客户端 @@ -50,7 +50,7 @@ public class S3FileClient extends AbstractFileClient { if (HttpUtil.isHttp(config.getEndpoint()) || HttpUtil.isHttps(config.getEndpoint())) { return config.getEndpoint(); } - return StrUtil.format("https://{}", config.getEndpoint()); + return CharSequenceUtil.format("https://{}", config.getEndpoint()); } /** @@ -61,10 +61,10 @@ public class S3FileClient extends AbstractFileClient { private String buildDomain() { // 如果已经是 http 或者 https,则不进行拼接.主要适配 MinIO if (HttpUtil.isHttp(config.getEndpoint()) || HttpUtil.isHttps(config.getEndpoint())) { - return StrUtil.format("{}/{}", config.getEndpoint(), config.getBucket()); + return CharSequenceUtil.format("{}/{}", config.getEndpoint(), config.getBucket()); } // 阿里云、腾讯云、华为云都适合。七牛云比较特殊,必须有自定义域名 - return StrUtil.format("https://{}.{}", config.getBucket(), config.getEndpoint()); + return CharSequenceUtil.format("https://{}.{}", config.getBucket(), config.getEndpoint()); } /** @@ -75,13 +75,13 @@ public class S3FileClient extends AbstractFileClient { private String buildRegion() { // 阿里云必须有 region,否则会报错 if (config.getEndpoint().contains(ENDPOINT_ALIYUN)) { - return StrUtil.subBefore(config.getEndpoint(), '.', false) - .replaceAll("-internal", "")// 去除内网 Endpoint 的后缀 - .replaceAll("https://", ""); + return CharSequenceUtil.subBefore(config.getEndpoint(), '.', false) + .replace("-internal", "")// 去除内网 Endpoint 的后缀 + .replace("https://", ""); } // 腾讯云必须有 region,否则会报错 if (config.getEndpoint().contains(ENDPOINT_TENCENT)) { - return StrUtil.subAfter(config.getEndpoint(), "cos.", false) + return CharSequenceUtil.subAfter(config.getEndpoint(), "cos.", false) .replaceAll("." + ENDPOINT_TENCENT, ""); // 去除 Endpoint } return null; diff --git a/cf-framework/cf-spring-boot-starter-file/src/main/java/com/cf/imes/framework/file/core/client/s3/S3FileClientConfig.java b/cf-framework/cf-spring-boot-starter-file/src/main/java/com/cf/imes/framework/file/core/client/s3/S3FileClientConfig.java index c038888de..c3f18a544 100644 --- a/cf-framework/cf-spring-boot-starter-file/src/main/java/com/cf/imes/framework/file/core/client/s3/S3FileClientConfig.java +++ b/cf-framework/cf-spring-boot-starter-file/src/main/java/com/cf/imes/framework/file/core/client/s3/S3FileClientConfig.java @@ -1,6 +1,6 @@ package com.cf.imes.framework.file.core.client.s3; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.file.core.client.FileClientConfig; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; @@ -68,7 +68,7 @@ public class S3FileClientConfig implements FileClientConfig { @JsonIgnore public boolean isDomainValid() { // 如果是七牛,必须带有 domain - if (StrUtil.contains(endpoint, ENDPOINT_QINIU) && StrUtil.isEmpty(domain)) { + if (CharSequenceUtil.contains(endpoint, ENDPOINT_QINIU) && CharSequenceUtil.isEmpty(domain)) { return false; } return true; diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/core/enums/DataSourceEnum.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/core/enums/DataSourceEnum.java deleted file mode 100644 index aa45ab436..000000000 --- a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/core/enums/DataSourceEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.cf.imes.framework.datasource.core.enums; - -/** - * 对应于多数据源中不同数据源配置 - * - * 通过在方法上,使用 {@link com.baomidou.dynamic.datasource.annotation.DS} 注解,设置使用的数据源。 - * 注意,默认是 {@link #MASTER} 数据源 - * - * 对应官方文档为 http://dynamic-datasource.com/guide/customize/Annotation.html - */ -public interface DataSourceEnum { - - /** - * 主库,推荐使用 {@link com.baomidou.dynamic.datasource.annotation.Master} 注解 - */ - String MASTER = "master"; - /** - * 从库,推荐使用 {@link com.baomidou.dynamic.datasource.annotation.Slave} 注解 - */ - String SLAVE = "slave"; - -} diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/config/ChenfengMybatisAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/config/ChenfengMybatisAutoConfiguration.java index ff3a21edb..f69420a5a 100644 --- a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/config/ChenfengMybatisAutoConfiguration.java +++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/config/ChenfengMybatisAutoConfiguration.java @@ -67,6 +67,8 @@ public class ChenfengMybatisAutoConfiguration { return new KingbaseKeyGenerator(); case DM: return new DmKeyGenerator(); + default: + throw new IllegalArgumentException(CharSequenceUtil.format("DbType{} 找不到合适的 IKeyGenerator 实现类", dbType)); } } // 找不到合适的 IKeyGenerator 实现类 diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/config/IdTypeEnvironmentPostProcessor.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/config/IdTypeEnvironmentPostProcessor.java index 84779be99..e29cb6088 100644 --- a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/config/IdTypeEnvironmentPostProcessor.java +++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/config/IdTypeEnvironmentPostProcessor.java @@ -86,6 +86,7 @@ public class IdTypeEnvironmentPostProcessor implements EnvironmentPostProcessor case SQL_SERVER2005: driverClass = "org.quartz.impl.jdbcjobstore.MSSQLDelegate"; break; + default: } // 设置 driverClass 变量 if (CharSequenceUtil.isNotEmpty(driverClass)) { diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/StringListTypeHandler.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/StringListTypeHandler.java index 0d4480416..edd833889 100644 --- a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/StringListTypeHandler.java +++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/StringListTypeHandler.java @@ -1,7 +1,7 @@ package com.cf.imes.framework.mybatis.core.type; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import org.apache.ibatis.type.JdbcType; import org.apache.ibatis.type.MappedJdbcTypes; import org.apache.ibatis.type.MappedTypes; @@ -53,6 +53,6 @@ public class StringListTypeHandler implements TypeHandler> { if (value == null) { return null; } - return StrUtil.splitTrim(value, COMMA); + return CharSequenceUtil.splitTrim(value, COMMA); } } diff --git a/cf-framework/cf-spring-boot-starter-protection/src/main/java/com/cf/imes/framework/lock4j/core/Lock4jRedisKeyConstants.java b/cf-framework/cf-spring-boot-starter-protection/src/main/java/com/cf/imes/framework/lock4j/core/Lock4jRedisKeyConstants.java deleted file mode 100644 index 51e207525..000000000 --- a/cf-framework/cf-spring-boot-starter-protection/src/main/java/com/cf/imes/framework/lock4j/core/Lock4jRedisKeyConstants.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.cf.imes.framework.lock4j.core; - -/** - * Lock4j Redis Key 枚举类 - * - * @author 晨丰科技 - */ -public interface Lock4jRedisKeyConstants { - - /** - * 分布式锁 - * - * KEY 格式:lock4j:%s // 参数来自 DefaultLockKeyBuilder 类 - * VALUE 数据格式:HASH // RLock.class:Redisson 的 Lock 锁,使用 Hash 数据结构 - * 过期时间:不固定 - */ - String LOCK4J = "lock4j:%s"; - -} diff --git a/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/core/TimeoutRedisCacheManager.java b/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/core/TimeoutRedisCacheManager.java index 220423313..d1cb6dcaf 100644 --- a/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/core/TimeoutRedisCacheManager.java +++ b/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/core/TimeoutRedisCacheManager.java @@ -1,7 +1,8 @@ package com.cf.imes.framework.redis.core; +import cn.hutool.core.text.CharSequenceUtil; +import cn.hutool.core.text.StrPool; import cn.hutool.core.util.NumberUtil; -import cn.hutool.core.util.StrUtil; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.redis.cache.RedisCache; import org.springframework.data.redis.cache.RedisCacheConfiguration; @@ -28,11 +29,11 @@ public class TimeoutRedisCacheManager extends RedisCacheManager { @Override protected RedisCache createRedisCache(String name, RedisCacheConfiguration cacheConfig) { - if (StrUtil.isEmpty(name)) { + if (CharSequenceUtil.isEmpty(name)) { return super.createRedisCache(name, cacheConfig); } // 如果使用 # 分隔,大小不为 2,则说明不使用自定义过期时间 - String[] names = StrUtil.splitToArray(name, SPLIT); + String[] names = CharSequenceUtil.splitToArray(name, SPLIT); if (names.length != 2) { return super.createRedisCache(name, cacheConfig); } @@ -40,7 +41,7 @@ public class TimeoutRedisCacheManager extends RedisCacheManager { // 核心:通过修改 cacheConfig 的过期时间,实现自定义过期时间 if (cacheConfig != null) { // 移除 # 后面的 : 以及后面的内容,避免影响解析 - names[1] = StrUtil.subBefore(names[1], StrUtil.COLON, false); + names[1] = CharSequenceUtil.subBefore(names[1], StrPool.COLON, false); // 解析时间 Duration duration = parseDuration(names[1]); cacheConfig = cacheConfig.entryTtl(duration); @@ -55,7 +56,7 @@ public class TimeoutRedisCacheManager extends RedisCacheManager { * @return 过期时间 Duration */ private Duration parseDuration(String ttlStr) { - String timeUnit = StrUtil.subSuf(ttlStr, -1); + String timeUnit = CharSequenceUtil.subSuf(ttlStr, -1); switch (timeUnit) { case "d": return Duration.ofDays(removeDurationSuffix(ttlStr)); @@ -77,7 +78,7 @@ public class TimeoutRedisCacheManager extends RedisCacheManager { * @return 时间 */ private Long removeDurationSuffix(String ttlStr) { - return NumberUtil.parseLong(StrUtil.sub(ttlStr, 0, ttlStr.length() - 1)); + return NumberUtil.parseLong(CharSequenceUtil.sub(ttlStr, 0, ttlStr.length() - 1)); } } diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengWebSecurityConfigurerAdapter.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengWebSecurityConfigurerAdapter.java index be3c9952b..020fe1869 100644 --- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengWebSecurityConfigurerAdapter.java +++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengWebSecurityConfigurerAdapter.java @@ -186,6 +186,7 @@ public class ChenfengWebSecurityConfigurerAdapter { case DELETE: result.putAll(HttpMethod.DELETE, urls); break; + default: } }); } diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/filter/TokenAuthenticationFilter.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/filter/TokenAuthenticationFilter.java index fe6a24e5b..68f295c0c 100644 --- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/filter/TokenAuthenticationFilter.java +++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/filter/TokenAuthenticationFilter.java @@ -1,7 +1,7 @@ package com.cf.imes.framework.security.core.filter; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; 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; @@ -58,7 +58,7 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { if (loginUser == null) { String token = SecurityFrameworkUtils.obtainAuthorization(request, securityProperties.getTokenHeader(), securityProperties.getTokenParameter()); - if (StrUtil.isNotEmpty(token)) { + if (CharSequenceUtil.isNotEmpty(token)) { Integer userType = WebFrameworkUtils.getLoginUserType(request); try { // 1.1 基于 token 构建登录用户 @@ -135,7 +135,7 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { @SneakyThrows private LoginUser buildLoginUserByHeader(HttpServletRequest request) { String loginUserStr = request.getHeader(SecurityFrameworkUtils.LOGIN_USER_HEADER); - if(StrUtil.isNotEmpty(loginUserStr)) { + if(CharSequenceUtil.isNotEmpty(loginUserStr)) { try { loginUserStr = URLDecoder.decode(loginUserStr, StandardCharsets.UTF_8.name()); // 解码,解决中文乱码问题 return JsonUtils.parseObject(loginUserStr, LoginUser.class); diff --git a/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/util/RandomUtils.java b/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/util/RandomUtils.java index 9c0311979..96c5c09c9 100644 --- a/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/util/RandomUtils.java +++ b/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/util/RandomUtils.java @@ -1,9 +1,9 @@ package com.cf.imes.framework.test.core.util; import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.RandomUtil; -import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.common.enums.CommonStatusEnum; import uk.co.jemos.podam.api.PodamFactory; import uk.co.jemos.podam.api.PodamFactoryImpl; @@ -46,7 +46,7 @@ public class RandomUtils { return RandomUtil.randomEle(CommonStatusEnum.values()).getStatus(); } // 如果是 type、status 结尾的字段,返回 tinyint 范围 - if (StrUtil.endWithAnyIgnoreCase(attributeMetadata.getAttributeName(), + if (CharSequenceUtil.endWithAnyIgnoreCase(attributeMetadata.getAttributeName(), "type", "status", "category", "scope", "result")) { return RandomUtil.randomInt(0, TINYINT_MAX + 1); } diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/CacheRequestBodyWrapper.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/CacheRequestBodyWrapper.java index 232d5943b..58fb97187 100644 --- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/CacheRequestBodyWrapper.java +++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/CacheRequestBodyWrapper.java @@ -55,7 +55,9 @@ public class CacheRequestBodyWrapper extends HttpServletRequestWrapper { } @Override - public void setReadListener(ReadListener readListener) {} + public void setReadListener(ReadListener readListener) { + // setReadListener + } @Override public int available() { diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/handler/GlobalExceptionHandler.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/handler/GlobalExceptionHandler.java index d21c0b7fa..0f98c87fe 100644 --- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/handler/GlobalExceptionHandler.java +++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/handler/GlobalExceptionHandler.java @@ -2,7 +2,7 @@ package com.cf.imes.framework.web.core.handler; import cn.hutool.core.exceptions.ExceptionUtil; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.extra.servlet.ServletUtil; import com.cf.imes.framework.apilog.core.service.ApiErrorLog; import com.cf.imes.framework.apilog.core.service.ApiErrorLogFrameworkService; @@ -330,7 +330,7 @@ public class GlobalExceptionHandler { "[微信公众号 cf-module-mp - 表结构未导入][参考 https://doc.iocoder.cn/mp/build/ 开启]"); } // 4. 商城系统 - if (StrUtil.containsAny(message, "product_", "promotion_", "trade_")) { + if (CharSequenceUtil.containsAny(message, "product_", "promotion_", "trade_")) { log.error("[商城系统 cf-module-mall - 已禁用][参考 https://doc.iocoder.cn/mall/build/ 开启]"); return CommonResult.error(NOT_IMPLEMENTED.getCode(), "[商城系统 cf-module-mall - 已禁用][参考 https://doc.iocoder.cn/mall/build/ 开启]"); diff --git a/cf-gateway/src/main/java/com/cf/imes/gateway/filter/grey/GrayLoadBalancer.java b/cf-gateway/src/main/java/com/cf/imes/gateway/filter/grey/GrayLoadBalancer.java index 374436dde..d8fd742f3 100644 --- a/cf-gateway/src/main/java/com/cf/imes/gateway/filter/grey/GrayLoadBalancer.java +++ b/cf-gateway/src/main/java/com/cf/imes/gateway/filter/grey/GrayLoadBalancer.java @@ -1,7 +1,7 @@ package com.cf.imes.gateway.filter.grey; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.util.collection.CollectionUtils; import com.cf.imes.gateway.util.EnvUtils; import com.alibaba.cloud.nacos.balancer.NacosBalancer; @@ -66,10 +66,10 @@ public class GrayLoadBalancer implements ReactorServiceInstanceLoadBalancer { // 筛选满足 version 条件的实例列表 String version = headers.getFirst(VERSION); List chooseInstances; - if (StrUtil.isEmpty(version)) { + if (CharSequenceUtil.isEmpty(version)) { chooseInstances = instances; } else { - chooseInstances = CollectionUtils.filterList(instances, instance -> version.equals(instance.getMetadata().get("version"))); + chooseInstances = CollectionUtils.filterList(instances, instance -> version.equals(instance.getMetadata().get(VERSION))); if (CollUtil.isEmpty(chooseInstances)) { log.warn("[getInstanceResponse][serviceId({}) 没有满足版本({})的服务实例列表,直接使用所有服务实例列表]", serviceId, version); chooseInstances = instances; @@ -95,7 +95,7 @@ public class GrayLoadBalancer implements ReactorServiceInstanceLoadBalancer { private List filterTagServiceInstances(List instances, HttpHeaders headers) { // 情况一,没有 tag 时,直接返回 String tag = EnvUtils.getTag(headers); - if (StrUtil.isEmpty(tag)) { + if (CharSequenceUtil.isEmpty(tag)) { return instances; } diff --git a/cf-gateway/src/main/java/com/cf/imes/gateway/util/EnvUtils.java b/cf-gateway/src/main/java/com/cf/imes/gateway/util/EnvUtils.java index d7e860183..44bea896b 100644 --- a/cf-gateway/src/main/java/com/cf/imes/gateway/util/EnvUtils.java +++ b/cf-gateway/src/main/java/com/cf/imes/gateway/util/EnvUtils.java @@ -1,8 +1,8 @@ package com.cf.imes.gateway.util; import cn.hutool.core.net.NetUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; import org.springframework.cloud.client.ServiceInstance; import org.springframework.http.HttpHeaders; @@ -33,7 +33,7 @@ public class EnvUtils { } public static String getHostName() { - return StrUtil.blankToDefault(NetUtil.getLocalHostName(), IdUtil.fastSimpleUUID()); + return CharSequenceUtil.blankToDefault(NetUtil.getLocalHostName(), IdUtil.fastSimpleUUID()); } } diff --git a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/enums/DictTypeConstants.java b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/enums/DictTypeConstants.java index 719f9dc70..d770cb5f3 100644 --- a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/enums/DictTypeConstants.java +++ b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/enums/DictTypeConstants.java @@ -5,16 +5,10 @@ package com.cf.imes.module.infra.enums; * * @author 晨丰科技 */ -public interface DictTypeConstants { +public class DictTypeConstants { + public static final String API_ERROR_LOG_PROCESS_STATUS = "infra_api_error_log_process_status"; // API 错误日志的处理状态的枚举 - String REDIS_TIMEOUT_TYPE = "infra_redis_timeout_type"; // Redis 超时类型 - - String JOB_STATUS = "infra_job_status"; // 定时任务状态的枚举 - String JOB_LOG_STATUS = "infra_job_log_status"; // 定时任务日志状态的枚举 - - String API_ERROR_LOG_PROCESS_STATUS = "infra_api_error_log_process_status"; // API 错误日志的处理状态的枚举 - - String CONFIG_TYPE = "infra_config_type"; // 参数配置类型 - String BOOLEAN_STRING = "infra_boolean_string"; // Boolean 是否类型 + public static final String CONFIG_TYPE = "infra_config_type"; // 参数配置类型 + public static final String BOOLEAN_STRING = "infra_boolean_string"; // Boolean 是否类型 } diff --git a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/enums/ErrorCodeConstants.java b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/enums/ErrorCodeConstants.java index de3c95245..d5ddd47cc 100644 --- a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/enums/ErrorCodeConstants.java +++ b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/enums/ErrorCodeConstants.java @@ -7,68 +7,42 @@ import com.cf.imes.framework.common.exception.ErrorCode; * * infra 系统,使用 1-001-000-000 段 */ -public interface ErrorCodeConstants { +public class ErrorCodeConstants { // ========== 参数配置 1-001-000-000 ========== - ErrorCode CONFIG_NOT_EXISTS = new ErrorCode(1_001_000_001, "参数配置不存在"); - ErrorCode CONFIG_KEY_DUPLICATE = new ErrorCode(1_001_000_002, "参数配置 key 重复"); - ErrorCode CONFIG_CAN_NOT_DELETE_SYSTEM_TYPE = new ErrorCode(1_001_000_003, "不能删除类型为系统内置的参数配置"); - ErrorCode CONFIG_GET_VALUE_ERROR_IF_VISIBLE = new ErrorCode(1_001_000_004, "获取参数配置失败,原因:不允许获取不可见配置"); - - // ========== 定时任务 1-001-001-000 ========== - ErrorCode JOB_NOT_EXISTS = new ErrorCode(1_001_001_000, "定时任务不存在"); - ErrorCode JOB_HANDLER_EXISTS = new ErrorCode(1_001_001_001, "定时任务的处理器已经存在"); - ErrorCode JOB_CHANGE_STATUS_INVALID = new ErrorCode(1_001_001_002, "只允许修改为开启或者关闭状态"); - ErrorCode JOB_CHANGE_STATUS_EQUALS = new ErrorCode(1_001_001_003, "定时任务已经处于该状态,无需修改"); - ErrorCode JOB_UPDATE_ONLY_NORMAL_STATUS = new ErrorCode(1_001_001_004, "只有开启状态的任务,才可以修改"); - ErrorCode JOB_CRON_EXPRESSION_VALID = new ErrorCode(1_001_001_005, "CRON 表达式不正确"); + public static final ErrorCode CONFIG_NOT_EXISTS = new ErrorCode(1_001_000_001, "参数配置不存在"); + public static final ErrorCode CONFIG_KEY_DUPLICATE = new ErrorCode(1_001_000_002, "参数配置 key 重复"); + public static final ErrorCode CONFIG_CAN_NOT_DELETE_SYSTEM_TYPE = new ErrorCode(1_001_000_003, "不能删除类型为系统内置的参数配置"); + public static final ErrorCode CONFIG_GET_VALUE_ERROR_IF_VISIBLE = new ErrorCode(1_001_000_004, "获取参数配置失败,原因:不允许获取不可见配置"); // ========== API 错误日志 1-001-002-000 ========== - ErrorCode API_ERROR_LOG_NOT_FOUND = new ErrorCode(1_001_002_000, "API 错误日志不存在"); - ErrorCode API_ERROR_LOG_PROCESSED = new ErrorCode(1_001_002_001, "API 错误日志已处理"); + public static final ErrorCode API_ERROR_LOG_NOT_FOUND = new ErrorCode(1_001_002_000, "API 错误日志不存在"); + public static final ErrorCode API_ERROR_LOG_PROCESSED = new ErrorCode(1_001_002_001, "API 错误日志已处理"); // ========= 文件相关 1-001-003-000 ================= - ErrorCode FILE_PATH_EXISTS = new ErrorCode(1_001_003_000, "文件路径已存在"); - ErrorCode FILE_NOT_EXISTS = new ErrorCode(1_001_003_001, "文件不存在"); - ErrorCode FILE_IS_EMPTY = new ErrorCode(1_001_003_002, "文件为空"); - ErrorCode FILE_REMOVE_FAIL = new ErrorCode(1_001_003_003, "文件删除失败"); + public static final ErrorCode FILE_NOT_EXISTS = new ErrorCode(1_001_003_001, "文件不存在"); + public static final ErrorCode FILE_IS_EMPTY = new ErrorCode(1_001_003_002, "文件为空"); + public static final ErrorCode FILE_REMOVE_FAIL = new ErrorCode(1_001_003_003, "文件删除失败"); // ========== 代码生成器 1-001-004-000 ========== - ErrorCode CODEGEN_TABLE_EXISTS = new ErrorCode(1_003_001_000, "表定义已经存在"); - ErrorCode CODEGEN_IMPORT_TABLE_NULL = new ErrorCode(1_003_001_001, "导入的表不存在"); - ErrorCode CODEGEN_IMPORT_COLUMNS_NULL = new ErrorCode(1_003_001_002, "导入的字段不存在"); - ErrorCode CODEGEN_TABLE_NOT_EXISTS = new ErrorCode(1_003_001_004, "表定义不存在"); - ErrorCode CODEGEN_COLUMN_NOT_EXISTS = new ErrorCode(1_003_001_005, "字段义不存在"); - ErrorCode CODEGEN_SYNC_COLUMNS_NULL = new ErrorCode(1_003_001_006, "同步的字段不存在"); - ErrorCode CODEGEN_SYNC_NONE_CHANGE = new ErrorCode(1_003_001_007, "同步失败,不存在改变"); - ErrorCode CODEGEN_TABLE_INFO_TABLE_COMMENT_IS_NULL = new ErrorCode(1_003_001_008, "数据库的表注释未填写"); - ErrorCode CODEGEN_TABLE_INFO_COLUMN_COMMENT_IS_NULL = new ErrorCode(1_003_001_009, "数据库的表字段({})注释未填写"); - ErrorCode CODEGEN_MASTER_TABLE_NOT_EXISTS = new ErrorCode(1_003_001_010, "主表(id={})定义不存在,请检查"); - ErrorCode CODEGEN_SUB_COLUMN_NOT_EXISTS = new ErrorCode(1_003_001_011, "子表的字段(id={})不存在,请检查"); - ErrorCode CODEGEN_MASTER_GENERATION_FAIL_NO_SUB_TABLE = new ErrorCode(1_003_001_012, "主表生成代码失败,原因:它没有子表"); - ErrorCode CODEGEN_MASTER_GENERATION_FAIL_NO_SUB_COLUMN = new ErrorCode(1_003_001_013, "主表生成代码失败,原因:它的子表({})没有字段"); + public static final ErrorCode CODEGEN_TABLE_EXISTS = new ErrorCode(1_003_001_000, "表定义已经存在"); + public static final ErrorCode CODEGEN_IMPORT_TABLE_NULL = new ErrorCode(1_003_001_001, "导入的表不存在"); + public static final ErrorCode CODEGEN_IMPORT_COLUMNS_NULL = new ErrorCode(1_003_001_002, "导入的字段不存在"); + public static final ErrorCode CODEGEN_TABLE_NOT_EXISTS = new ErrorCode(1_003_001_004, "表定义不存在"); + public static final ErrorCode CODEGEN_COLUMN_NOT_EXISTS = new ErrorCode(1_003_001_005, "字段义不存在"); + public static final ErrorCode CODEGEN_SYNC_NONE_CHANGE = new ErrorCode(1_003_001_007, "同步失败,不存在改变"); + public static final ErrorCode CODEGEN_TABLE_INFO_TABLE_COMMENT_IS_NULL = new ErrorCode(1_003_001_008, "数据库的表注释未填写"); + public static final ErrorCode CODEGEN_TABLE_INFO_COLUMN_COMMENT_IS_NULL = new ErrorCode(1_003_001_009, "数据库的表字段({})注释未填写"); + public static final ErrorCode CODEGEN_MASTER_TABLE_NOT_EXISTS = new ErrorCode(1_003_001_010, "主表(id={})定义不存在,请检查"); + public static final ErrorCode CODEGEN_SUB_COLUMN_NOT_EXISTS = new ErrorCode(1_003_001_011, "子表的字段(id={})不存在,请检查"); + public static final ErrorCode CODEGEN_MASTER_GENERATION_FAIL_NO_SUB_TABLE = new ErrorCode(1_003_001_012, "主表生成代码失败,原因:它没有子表"); // ========== 文件配置 1-001-006-000 ========== - ErrorCode FILE_CONFIG_NOT_EXISTS = new ErrorCode(1_001_006_000, "文件配置不存在"); - ErrorCode FILE_CONFIG_DELETE_FAIL_MASTER = new ErrorCode(1_001_006_001, "该文件配置不允许删除,原因:它是主配置,删除会导致无法上传文件"); + public static final ErrorCode FILE_CONFIG_NOT_EXISTS = new ErrorCode(1_001_006_000, "文件配置不存在"); + public static final ErrorCode FILE_CONFIG_DELETE_FAIL_MASTER = new ErrorCode(1_001_006_001, "该文件配置不允许删除,原因:它是主配置,删除会导致无法上传文件"); // ========== 数据源配置 1-001-007-000 ========== - ErrorCode DATA_SOURCE_CONFIG_NOT_EXISTS = new ErrorCode(1_001_007_000, "数据源配置不存在"); - ErrorCode DATA_SOURCE_CONFIG_NOT_OK = new ErrorCode(1_001_007_001, "数据源配置不正确,无法进行连接"); - - // ========== 数据源配置 1-001-107-000 ========== - ErrorCode DEMO_STUDENT_NOT_EXISTS = new ErrorCode(1_001_107_000, "学生不存在"); - - // ========== 学生 1-001-201-000 ========== - ErrorCode DEMO01_CONTACT_NOT_EXISTS = new ErrorCode(1_001_201_000, "示例联系人不存在"); - ErrorCode DEMO02_CATEGORY_NOT_EXISTS = new ErrorCode(1_001_201_001, "示例分类不存在"); - ErrorCode DEMO02_CATEGORY_EXITS_CHILDREN = new ErrorCode(1_001_201_002, "存在存在子示例分类,无法删除"); - ErrorCode DEMO02_CATEGORY_PARENT_NOT_EXITS = new ErrorCode(1_001_201_003,"父级示例分类不存在"); - ErrorCode DEMO02_CATEGORY_PARENT_ERROR = new ErrorCode(1_001_201_004, "不能设置自己为父示例分类"); - ErrorCode DEMO02_CATEGORY_NAME_DUPLICATE = new ErrorCode(1_001_201_005, "已经存在该名字的示例分类"); - ErrorCode DEMO02_CATEGORY_PARENT_IS_CHILD = new ErrorCode(1_001_201_006, "不能设置自己的子示例分类为父示例分类"); - ErrorCode DEMO03_STUDENT_NOT_EXISTS = new ErrorCode(1_001_201_007, "学生不存在"); - ErrorCode DEMO03_GRADE_NOT_EXISTS = new ErrorCode(1_001_201_008, "学生班级不存在"); - ErrorCode DEMO03_GRADE_EXISTS = new ErrorCode(1_001_201_009, "学生班级已存在"); + public static final ErrorCode DATA_SOURCE_CONFIG_NOT_EXISTS = new ErrorCode(1_001_007_000, "数据源配置不存在"); + public static final ErrorCode DATA_SOURCE_CONFIG_NOT_OK = new ErrorCode(1_001_007_001, "数据源配置不正确,无法进行连接"); } diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/websocket/WebSocketSenderApiImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/websocket/WebSocketSenderApiImpl.java index dc3256821..b76da8c4a 100644 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/websocket/WebSocketSenderApiImpl.java +++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/websocket/WebSocketSenderApiImpl.java @@ -1,6 +1,6 @@ package com.cf.imes.module.infra.api.websocket; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.websocket.core.sender.WebSocketMessageSender; import com.cf.imes.module.infra.api.websocket.dto.WebSocketSendReqDTO; @@ -20,7 +20,7 @@ public class WebSocketSenderApiImpl implements WebSocketSenderApi { @Override public CommonResult send(WebSocketSendReqDTO message) { - if (StrUtil.isNotEmpty(message.getSessionId())) { + if (CharSequenceUtil.isNotEmpty(message.getSessionId())) { webSocketMessageSender.send(message.getSessionId(), message.getMessageType(), message.getMessageContent()); } else if (message.getUserType() != null && message.getUserId() != null) { diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/FileController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/FileController.java index d9c2f8c83..5400577a2 100644 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/FileController.java +++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/FileController.java @@ -1,7 +1,7 @@ package com.cf.imes.module.infra.controller.admin.file; import cn.hutool.core.io.IoUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.URLUtil; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.pojo.PageResult; @@ -68,8 +68,8 @@ public class FileController { HttpServletResponse response, @PathVariable("configId") Long configId) throws Exception { // 获取请求的路径 - String path = StrUtil.subAfter(request.getRequestURI(), "/get/", false); - if (StrUtil.isEmpty(path)) { + String path = CharSequenceUtil.subAfter(request.getRequestURI(), "/get/", false); + if (CharSequenceUtil.isEmpty(path)) { throw new IllegalArgumentException("结尾的 path 路径必须传递"); } // 解码,解决中文路径的问题 https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/807/ diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/convert/redis/RedisConvert.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/convert/redis/RedisConvert.java index 381eb05c5..6cd59bc94 100644 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/convert/redis/RedisConvert.java +++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/convert/redis/RedisConvert.java @@ -1,6 +1,6 @@ package com.cf.imes.module.infra.convert.redis; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.module.infra.controller.admin.redis.vo.RedisMonitorRespVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -18,9 +18,9 @@ public interface RedisConvert { .commandStats(new ArrayList<>(commandStats.size())).build(); commandStats.forEach((key, value) -> { respVO.getCommandStats().add(RedisMonitorRespVO.CommandStat.builder() - .command(StrUtil.subAfter((String) key, "cmdstat_", false)) - .calls(Long.valueOf(StrUtil.subBetween((String) value, "calls=", ","))) - .usec(Long.valueOf(StrUtil.subBetween((String) value, "usec=", ","))) + .command(CharSequenceUtil.subAfter((String) key, "cmdstat_", false)) + .calls(Long.valueOf(CharSequenceUtil.subBetween((String) value, "calls=", ","))) + .usec(Long.valueOf(CharSequenceUtil.subBetween((String) value, "usec=", ","))) .build()); }); return respVO; diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/CodegenServiceImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/CodegenServiceImpl.java index 7de8b0c9d..1d2b06c9b 100644 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/CodegenServiceImpl.java +++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/CodegenServiceImpl.java @@ -1,7 +1,7 @@ package com.cf.imes.module.infra.service.codegen; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.module.infra.controller.admin.codegen.vo.CodegenCreateListReqVO; @@ -110,14 +110,14 @@ public class CodegenServiceImpl implements CodegenService { if (tableInfo == null) { throw exception(CODEGEN_IMPORT_TABLE_NULL); } - if (StrUtil.isEmpty(tableInfo.getComment())) { + if (CharSequenceUtil.isEmpty(tableInfo.getComment())) { throw exception(CODEGEN_TABLE_INFO_TABLE_COMMENT_IS_NULL); } if (CollUtil.isEmpty(tableInfo.getFields())) { throw exception(CODEGEN_IMPORT_COLUMNS_NULL); } tableInfo.getFields().forEach(field -> { - if (StrUtil.isEmpty(field.getComment())) { + if (CharSequenceUtil.isEmpty(field.getComment())) { throw exception(CODEGEN_TABLE_INFO_COLUMN_COMMENT_IS_NULL, field.getName()); } }); diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/inner/CodegenBuilder.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/inner/CodegenBuilder.java index 36a3a127a..269b66af9 100644 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/inner/CodegenBuilder.java +++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/inner/CodegenBuilder.java @@ -1,8 +1,8 @@ package com.cf.imes.module.infra.service.codegen.inner; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ReflectUtil; -import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import com.cf.imes.module.infra.convert.codegen.CodegenConvert; import com.cf.imes.module.infra.dal.dataobject.codegen.CodegenColumnDO; @@ -118,7 +118,7 @@ public class CodegenBuilder { // 驼峰 + 首字母大写;第一步,第一个 _ 前缀的后面,作为 class 名字;第二步,驼峰命名 table.setClassName(upperFirst(toCamelCase(subAfter(tableName, '_', false)))); // 去除结尾的表,作为类描述 - table.setClassComment(StrUtil.removeSuffixIgnoreCase(table.getTableComment(), "表")); + table.setClassComment(CharSequenceUtil.removeSuffixIgnoreCase(table.getTableComment(), "表")); table.setTemplateType(CodegenTemplateTypeEnum.ONE.getType()); } @@ -152,7 +152,7 @@ public class CodegenBuilder { && !column.getPrimaryKey()); // 对于主键,列表过滤不需要传递 // 处理 listOperationCondition 字段 COLUMN_LIST_OPERATION_CONDITION_MAPPINGS.entrySet().stream() - .filter(entry -> StrUtil.endWithIgnoreCase(column.getJavaField(), entry.getKey())) + .filter(entry -> CharSequenceUtil.endWithIgnoreCase(column.getJavaField(), entry.getKey())) .findFirst().ifPresent(entry -> column.setListOperationCondition(entry.getValue().getCondition())); if (column.getListOperationCondition() == null) { column.setListOperationCondition(CodegenColumnListConditionEnum.EQ.getCondition()); @@ -164,7 +164,7 @@ public class CodegenBuilder { private void processColumnUI(CodegenColumnDO column) { // 基于后缀进行匹配 COLUMN_HTML_TYPE_MAPPINGS.entrySet().stream() - .filter(entry -> StrUtil.endWithIgnoreCase(column.getJavaField(), entry.getKey())) + .filter(entry -> CharSequenceUtil.endWithIgnoreCase(column.getJavaField(), entry.getKey())) .findFirst().ifPresent(entry -> column.setHtmlType(entry.getValue().getType())); // 如果是 Boolean 类型时,设置为 radio 类型. if (Boolean.class.getSimpleName().equals(column.getJavaType())) { @@ -187,32 +187,32 @@ public class CodegenBuilder { */ private void processColumnExample(CodegenColumnDO column) { // id、price、count 等可能是整数的后缀 - if (StrUtil.endWithAnyIgnoreCase(column.getJavaField(), "id", "price", "count")) { + if (CharSequenceUtil.endWithAnyIgnoreCase(column.getJavaField(), "id", "price", "count")) { column.setExample(String.valueOf(randomInt(1, Short.MAX_VALUE))); return; } // name - if (StrUtil.endWithIgnoreCase(column.getJavaField(), "name")) { + if (CharSequenceUtil.endWithIgnoreCase(column.getJavaField(), "name")) { column.setExample(randomEle(new String[]{"张三", "李四", "王五", "赵六", "晨丰"})); return; } // status - if (StrUtil.endWithAnyIgnoreCase(column.getJavaField(), "status", "type")) { + if (CharSequenceUtil.endWithAnyIgnoreCase(column.getJavaField(), "status", "type")) { column.setExample(randomEle(new String[]{"1", "2"})); return; } // url - if (StrUtil.endWithIgnoreCase(column.getColumnName(), "url")) { + if (CharSequenceUtil.endWithIgnoreCase(column.getColumnName(), "url")) { column.setExample("https://www.cf.com"); return; } // reason - if (StrUtil.endWithIgnoreCase(column.getColumnName(), "reason")) { + if (CharSequenceUtil.endWithIgnoreCase(column.getColumnName(), "reason")) { column.setExample(randomEle(new String[]{"不喜欢", "不对", "不好", "不香"})); return; } // description、memo、remark - if (StrUtil.endWithAnyIgnoreCase(column.getColumnName(), "description", "memo", "remark")) { + if (CharSequenceUtil.endWithAnyIgnoreCase(column.getColumnName(), "description", "memo", "remark")) { column.setExample(randomEle(new String[]{"你猜", "随便", "你说的对"})); return; } diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/inner/CodegenEngine.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/inner/CodegenEngine.java index 636a03d6d..6bbd2c721 100644 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/inner/CodegenEngine.java +++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/codegen/inner/CodegenEngine.java @@ -2,12 +2,11 @@ package com.cf.imes.module.infra.service.codegen.inner; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import cn.hutool.extra.template.TemplateConfig; import cn.hutool.extra.template.TemplateEngine; import cn.hutool.extra.template.engine.velocity.VelocityEngine; -import cn.hutool.system.SystemUtil; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.pojo.PageParam; @@ -57,6 +56,16 @@ import static cn.hutool.core.text.CharSequenceUtil.*; @Component public class CodegenEngine { + private static final String INDEX_VUE = "views/index.vue"; + private static final String MODULE_INDEX_VUE = "views/${table.moduleName}/${table.businessName}/index.vue"; + private static final String FORM_VUE = "views/form.vue"; + private static final String MODULE_FORM_VUE = "views/${table.moduleName}/${table.businessName}/${simpleClassName}Form.vue"; + private static final String MODULE_COMPONENTS_FORM_VUE = "views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}Form.vue"; + private static final String MODULE_COMPONENTS_LIST_VUE = "views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}List.vue"; + private static final String API_TS = "api/api.ts"; + private static final String API_INDEX_TS = "api/${table.moduleName}/${table.businessName}/index.ts"; + private static final String SUB_INDEX = "subIndex"; + /** * 后端的模板配置 * @@ -102,57 +111,57 @@ public class CodegenEngine { */ private static final Table FRONT_TEMPLATES = ImmutableTable.builder() // Vue2 标准模版 - .put(CodegenFrontTypeEnum.VUE2.getType(), vueTemplatePath("views/index.vue"), - vueFilePath("views/${table.moduleName}/${table.businessName}/index.vue")) + .put(CodegenFrontTypeEnum.VUE2.getType(), vueTemplatePath(INDEX_VUE), + vueFilePath(MODULE_INDEX_VUE)) .put(CodegenFrontTypeEnum.VUE2.getType(), vueTemplatePath("api/api.js"), vueFilePath("api/${table.moduleName}/${table.businessName}/index.js")) - .put(CodegenFrontTypeEnum.VUE2.getType(), vueTemplatePath("views/form.vue"), - vueFilePath("views/${table.moduleName}/${table.businessName}/${simpleClassName}Form.vue")) + .put(CodegenFrontTypeEnum.VUE2.getType(), vueTemplatePath(FORM_VUE), + vueFilePath(MODULE_FORM_VUE)) .put(CodegenFrontTypeEnum.VUE2.getType(), vueTemplatePath("views/components/form_sub_normal.vue"), // 特殊:主子表专属逻辑 - vueFilePath("views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}Form.vue")) + vueFilePath(MODULE_COMPONENTS_FORM_VUE)) .put(CodegenFrontTypeEnum.VUE2.getType(), vueTemplatePath("views/components/form_sub_inner.vue"), // 特殊:主子表专属逻辑 - vueFilePath("views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}Form.vue")) + vueFilePath(MODULE_COMPONENTS_FORM_VUE)) .put(CodegenFrontTypeEnum.VUE2.getType(), vueTemplatePath("views/components/form_sub_erp.vue"), // 特殊:主子表专属逻辑 - vueFilePath("views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}Form.vue")) + vueFilePath(MODULE_COMPONENTS_FORM_VUE)) .put(CodegenFrontTypeEnum.VUE2.getType(), vueTemplatePath("views/components/list_sub_inner.vue"), // 特殊:主子表专属逻辑 - vueFilePath("views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}List.vue")) + vueFilePath(MODULE_COMPONENTS_LIST_VUE)) .put(CodegenFrontTypeEnum.VUE2.getType(), vueTemplatePath("views/components/list_sub_erp.vue"), // 特殊:主子表专属逻辑 - vueFilePath("views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}List.vue")) + vueFilePath(MODULE_COMPONENTS_LIST_VUE)) // Vue3 标准模版 - .put(CodegenFrontTypeEnum.VUE3.getType(), vue3TemplatePath("views/index.vue"), - vue3FilePath("views/${table.moduleName}/${table.businessName}/index.vue")) - .put(CodegenFrontTypeEnum.VUE3.getType(), vue3TemplatePath("views/form.vue"), - vue3FilePath("views/${table.moduleName}/${table.businessName}/${simpleClassName}Form.vue")) + .put(CodegenFrontTypeEnum.VUE3.getType(), vue3TemplatePath(INDEX_VUE), + vue3FilePath(MODULE_INDEX_VUE)) + .put(CodegenFrontTypeEnum.VUE3.getType(), vue3TemplatePath(FORM_VUE), + vue3FilePath(MODULE_FORM_VUE)) .put(CodegenFrontTypeEnum.VUE3.getType(), vue3TemplatePath("views/components/form_sub_normal.vue"), // 特殊:主子表专属逻辑 - vue3FilePath("views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}Form.vue")) + vue3FilePath(MODULE_COMPONENTS_FORM_VUE)) .put(CodegenFrontTypeEnum.VUE3.getType(), vue3TemplatePath("views/components/form_sub_inner.vue"), // 特殊:主子表专属逻辑 - vue3FilePath("views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}Form.vue")) + vue3FilePath(MODULE_COMPONENTS_FORM_VUE)) .put(CodegenFrontTypeEnum.VUE3.getType(), vue3TemplatePath("views/components/form_sub_erp.vue"), // 特殊:主子表专属逻辑 - vue3FilePath("views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}Form.vue")) + vue3FilePath(MODULE_COMPONENTS_FORM_VUE)) .put(CodegenFrontTypeEnum.VUE3.getType(), vue3TemplatePath("views/components/list_sub_inner.vue"), // 特殊:主子表专属逻辑 - vue3FilePath("views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}List.vue")) + vue3FilePath(MODULE_COMPONENTS_LIST_VUE)) .put(CodegenFrontTypeEnum.VUE3.getType(), vue3TemplatePath("views/components/list_sub_erp.vue"), // 特殊:主子表专属逻辑 - vue3FilePath("views/${table.moduleName}/${table.businessName}/components/${subSimpleClassName}List.vue")) - .put(CodegenFrontTypeEnum.VUE3.getType(), vue3TemplatePath("api/api.ts"), - vue3FilePath("api/${table.moduleName}/${table.businessName}/index.ts")) + vue3FilePath(MODULE_COMPONENTS_LIST_VUE)) + .put(CodegenFrontTypeEnum.VUE3.getType(), vue3TemplatePath(API_TS), + vue3FilePath(API_INDEX_TS)) // Vue3 Schema 模版 .put(CodegenFrontTypeEnum.VUE3_SCHEMA.getType(), vue3SchemaTemplatePath("views/data.ts"), vue3FilePath("views/${table.moduleName}/${table.businessName}/${classNameVar}.data.ts")) - .put(CodegenFrontTypeEnum.VUE3_SCHEMA.getType(), vue3SchemaTemplatePath("views/index.vue"), - vue3FilePath("views/${table.moduleName}/${table.businessName}/index.vue")) - .put(CodegenFrontTypeEnum.VUE3_SCHEMA.getType(), vue3SchemaTemplatePath("views/form.vue"), - vue3FilePath("views/${table.moduleName}/${table.businessName}/${simpleClassName}Form.vue")) - .put(CodegenFrontTypeEnum.VUE3_SCHEMA.getType(), vue3SchemaTemplatePath("api/api.ts"), - vue3FilePath("api/${table.moduleName}/${table.businessName}/index.ts")) + .put(CodegenFrontTypeEnum.VUE3_SCHEMA.getType(), vue3SchemaTemplatePath(INDEX_VUE), + vue3FilePath(MODULE_INDEX_VUE)) + .put(CodegenFrontTypeEnum.VUE3_SCHEMA.getType(), vue3SchemaTemplatePath(FORM_VUE), + vue3FilePath(MODULE_FORM_VUE)) + .put(CodegenFrontTypeEnum.VUE3_SCHEMA.getType(), vue3SchemaTemplatePath(API_TS), + vue3FilePath(API_INDEX_TS)) // Vue3 vben 模版 .put(CodegenFrontTypeEnum.VUE3_VBEN.getType(), vue3VbenTemplatePath("views/data.ts"), vue3FilePath("views/${table.moduleName}/${table.businessName}/${classNameVar}.data.ts")) - .put(CodegenFrontTypeEnum.VUE3_VBEN.getType(), vue3VbenTemplatePath("views/index.vue"), - vue3FilePath("views/${table.moduleName}/${table.businessName}/index.vue")) - .put(CodegenFrontTypeEnum.VUE3_VBEN.getType(), vue3VbenTemplatePath("views/form.vue"), + .put(CodegenFrontTypeEnum.VUE3_VBEN.getType(), vue3VbenTemplatePath(INDEX_VUE), + vue3FilePath(MODULE_INDEX_VUE)) + .put(CodegenFrontTypeEnum.VUE3_VBEN.getType(), vue3VbenTemplatePath(FORM_VUE), vue3FilePath("views/${table.moduleName}/${table.businessName}/${simpleClassName}Modal.vue")) - .put(CodegenFrontTypeEnum.VUE3_VBEN.getType(), vue3VbenTemplatePath("api/api.ts"), - vue3FilePath("api/${table.moduleName}/${table.businessName}/index.ts")) + .put(CodegenFrontTypeEnum.VUE3_VBEN.getType(), vue3VbenTemplatePath(API_TS), + vue3FilePath(API_INDEX_TS)) .build(); @Resource @@ -290,10 +299,10 @@ public class CodegenEngine { // 逐个生成 for (int i = 0; i < subTables.size(); i++) { - bindingMap.put("subIndex", i); + bindingMap.put(SUB_INDEX, i); generateCode(result, vmPath, filePath, bindingMap); } - bindingMap.remove("subIndex"); + bindingMap.remove(SUB_INDEX); } /** @@ -307,26 +316,26 @@ public class CodegenEngine { */ private String prettyCode(String content) { // Vue 界面:去除字段后面多余的 , 逗号,解决前端的 Pretty 代码格式检查的报错 - content = content.replaceAll(",\n}", "\n}").replaceAll(",\n }", "\n }"); + content = content.replace(",\n}", "\n}").replace(",\n }", "\n }"); // Vue 界面:去除多的 dateFormatter,只有一个的情况下,说明没使用到 - if (StrUtil.count(content, "dateFormatter") == 1) { + if (CharSequenceUtil.count(content, "dateFormatter") == 1) { content = StrUtils.removeLineContains(content, "dateFormatter"); } // Vue2 界面:修正 $refs - if (StrUtil.count(content, "this.refs") >= 1) { + if (CharSequenceUtil.count(content, "this.refs") >= 1) { content = content.replace("this.refs", "this.$refs"); } // Vue 界面:去除多的 dict 相关,只有一个的情况下,说明没使用到 - if (StrUtil.count(content, "getIntDictOptions") == 1) { + if (CharSequenceUtil.count(content, "getIntDictOptions") == 1) { content = content.replace("getIntDictOptions, ", ""); } - if (StrUtil.count(content, "getStrDictOptions") == 1) { + if (CharSequenceUtil.count(content, "getStrDictOptions") == 1) { content = content.replace("getStrDictOptions, ", ""); } - if (StrUtil.count(content, "getBoolDictOptions") == 1) { + if (CharSequenceUtil.count(content, "getBoolDictOptions") == 1) { content = content.replace("getBoolDictOptions, ", ""); } - if (StrUtil.count(content, "DICT_TYPE.") == 0) { + if (CharSequenceUtil.count(content, "DICT_TYPE.") == 0) { content = StrUtils.removeLineContains(content, "DICT_TYPE"); } return content; @@ -412,29 +421,29 @@ public class CodegenEngine { @SuppressWarnings("unchecked") private String formatFilePath(String filePath, Map bindingMap) { - filePath = StrUtil.replace(filePath, "${basePackage}", - getStr(bindingMap, "basePackage").replaceAll("\\.", "/")); - filePath = StrUtil.replace(filePath, "${classNameVar}", + filePath = CharSequenceUtil.replace(filePath, "${basePackage}", + getStr(bindingMap, "basePackage").replace("\\.", "/")); + filePath = CharSequenceUtil.replace(filePath, "${classNameVar}", getStr(bindingMap, "classNameVar")); - filePath = StrUtil.replace(filePath, "${simpleClassName}", + filePath = CharSequenceUtil.replace(filePath, "${simpleClassName}", getStr(bindingMap, "simpleClassName")); // sceneEnum 包含的字段 CodegenSceneEnum sceneEnum = (CodegenSceneEnum) bindingMap.get("sceneEnum"); - filePath = StrUtil.replace(filePath, "${sceneEnum.prefixClass}", sceneEnum.getPrefixClass()); - filePath = StrUtil.replace(filePath, "${sceneEnum.basePackage}", sceneEnum.getBasePackage()); + filePath = CharSequenceUtil.replace(filePath, "${sceneEnum.prefixClass}", sceneEnum.getPrefixClass()); + filePath = CharSequenceUtil.replace(filePath, "${sceneEnum.basePackage}", sceneEnum.getBasePackage()); // table 包含的字段 CodegenTableDO table = (CodegenTableDO) bindingMap.get("table"); - filePath = StrUtil.replace(filePath, "${table.moduleName}", table.getModuleName()); - filePath = StrUtil.replace(filePath, "${table.businessName}", table.getBusinessName()); - filePath = StrUtil.replace(filePath, "${table.className}", table.getClassName()); + filePath = CharSequenceUtil.replace(filePath, "${table.moduleName}", table.getModuleName()); + filePath = CharSequenceUtil.replace(filePath, "${table.businessName}", table.getBusinessName()); + filePath = CharSequenceUtil.replace(filePath, "${table.className}", table.getClassName()); // 特殊:主子表专属逻辑 - Integer subIndex = (Integer) bindingMap.get("subIndex"); + Integer subIndex = (Integer) bindingMap.get(SUB_INDEX); if (subIndex != null) { CodegenTableDO subTable = ((List) bindingMap.get("subTables")).get(subIndex); - filePath = StrUtil.replace(filePath, "${subTable.moduleName}", subTable.getModuleName()); - filePath = StrUtil.replace(filePath, "${subTable.businessName}", subTable.getBusinessName()); - filePath = StrUtil.replace(filePath, "${subTable.className}", subTable.getClassName()); - filePath = StrUtil.replace(filePath, "${subSimpleClassName}", + filePath = CharSequenceUtil.replace(filePath, "${subTable.moduleName}", subTable.getModuleName()); + filePath = CharSequenceUtil.replace(filePath, "${subTable.businessName}", subTable.getBusinessName()); + filePath = CharSequenceUtil.replace(filePath, "${subTable.className}", subTable.getClassName()); + filePath = CharSequenceUtil.replace(filePath, "${subSimpleClassName}", ((List) bindingMap.get("subSimpleClassNames")).get(subIndex)); } return filePath; diff --git a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/DefaultDatabaseQueryTest.java b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/DefaultDatabaseQueryTest.java deleted file mode 100644 index 23193eeeb..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/DefaultDatabaseQueryTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.cf.imes.module.infra.service; - -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.generator.query.DefaultQuery; -import com.baomidou.mybatisplus.generator.config.DataSourceConfig; -import com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder; -import com.baomidou.mybatisplus.generator.config.po.TableInfo; - -import java.util.List; - -import static org.junit.jupiter.api.Assertions.assertNotEquals; - -public class DefaultDatabaseQueryTest { - - public static void main(String[] args) { -// DataSourceConfig dataSourceConfig = new DataSourceConfig.Builder("jdbc:oracle:thin:@127.0.0.1:1521:xe", -// "root", "123456").build(); - DataSourceConfig dataSourceConfig = new DataSourceConfig.Builder("jdbc:postgresql://127.0.0.1:5432/ruoyi-vue-pro", - "root", "123456").build(); -// StrategyConfig strategyConfig = new StrategyConfig.Builder().build(); - - ConfigBuilder builder = new ConfigBuilder(null, dataSourceConfig, null, null, null, null); - - DefaultQuery query = new DefaultQuery(builder); - - long time = System.currentTimeMillis(); - List tableInfos = query.queryTables(); - assertNotEquals(0, tableInfos.size()); - for (TableInfo tableInfo : tableInfos) { - if (StrUtil.startWithAny(tableInfo.getName().toLowerCase(), "act_", "flw_", "qrtz_")) { - continue; - } - System.out.println(String.format("CREATE SEQUENCE %s_seq MINVALUE 1;", tableInfo.getName())); -// System.out.println(String.format("DELETE FROM %s WHERE deleted = '1';", tableInfo.getName())); - } - - System.out.println(tableInfos.size()); - System.out.println(System.currentTimeMillis() - time); - } - -} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ExcelWriterUtil.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ExcelWriterUtil.java index 3becfeb48..2af860c3d 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ExcelWriterUtil.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ExcelWriterUtil.java @@ -1,178 +1,78 @@ package com.cf.imes.module.executor.util; -import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.EasyExcelFactory; import com.alibaba.excel.ExcelWriter; -import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.fill.FillConfig; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO; -import org.apache.poi.ss.usermodel.Workbook; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.IOUtils; import org.springframework.util.ResourceUtils; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; -import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.net.URLEncoder; import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; /** * excel 文件写入 */ +@Slf4j public class ExcelWriterUtil { // 写excel public static void write(HttpServletResponse response, Map orderMap, List list, - String filePathErr) throws IOException { - + String filePathErr) { + ServletOutputStream outputStream = null; + ExcelWriter excelWriter = null; //输入流 - InputStream inputStream = ResourceUtils.getURL(filePathErr).openStream(); - ServletOutputStream outputStream = response.getOutputStream(); + try (InputStream inputStream = ResourceUtils.getURL(filePathErr).openStream()){ + outputStream = response.getOutputStream(); - //设置输出流和模板信息 - ExcelWriter excelWriter = EasyExcel.write(outputStream).withTemplate(inputStream).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); + //设置输出流和模板信息 + excelWriter = EasyExcelFactory.write(outputStream).withTemplate(inputStream).build(); + WriteSheet writeSheet = EasyExcelFactory.writerSheet().build(); - //开启自动换行,自动换行表示每次写入一条list数据是都会重新生成一行空行,此选项默认是关闭的,需要提前设置为true - FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); + //开启自动换行,自动换行表示每次写入一条list数据是都会重新生成一行空行,此选项默认是关闭的,需要提前设置为true + FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); - //准备单组和数据 - Map map = new HashMap<>(); - map.put("customOrderNo", (String) orderMap.get("自定义单号")); - map.put("customer", (String) orderMap.get("客户")); - map.put("address", (String) orderMap.get("客户地址")); - map.put("phoneNumber", (String) orderMap.get("客户电话")); - map.put("remark", (String) orderMap.get("备注")); - map.put("splitter", (String) orderMap.get("拆单员")); - map.put("salesman", (String) orderMap.get("业务员")); - map.put("dealerPhoneNumber", (String) orderMap.get("经销商电话")); - map.put("dealer", (String) orderMap.get("经销商")); - map.put("deliveryDate", (String) orderMap.get("出货日期")); + //准备单组和数据 + Map map = new HashMap<>(); + map.put("customOrderNo", (String) orderMap.get("自定义单号")); + map.put("customer", (String) orderMap.get("客户")); + map.put("address", (String) orderMap.get("客户地址")); + map.put("phoneNumber", (String) orderMap.get("客户电话")); + map.put("remark", (String) orderMap.get("备注")); + map.put("splitter", (String) orderMap.get("拆单员")); + map.put("salesman", (String) orderMap.get("业务员")); + map.put("dealerPhoneNumber", (String) orderMap.get("经销商电话")); + map.put("dealer", (String) orderMap.get("经销商")); + map.put("deliveryDate", (String) orderMap.get("出货日期")); - excelWriter.fill(map, writeSheet); + excelWriter.fill(map, writeSheet); - //列表 - excelWriter.fill(list, fillConfig, writeSheet); + //列表 + excelWriter.fill(list, fillConfig, writeSheet); - response.setContentType("application/vnd.ms-excel;charset=UTF-8"); - //关流 - excelWriter.finish(); - inputStream.close(); - outputStream.close(); - } + response.setContentType("application/vnd.ms-excel;charset=UTF-8"); - // 写excel - public static void writeErr(HttpServletResponse response, - String err, - String filePathErr) throws IOException { - //输入流 - InputStream inputStream = ResourceUtils.getURL(filePathErr).openStream(); - ServletOutputStream outputStream = response.getOutputStream(); - - //设置输出流和模板信息 - ExcelWriter excelWriter = EasyExcel.write(outputStream).withTemplate(inputStream).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - - //准备单组和数据 - Map map = new HashMap<>(); - map.put("err", err); - - excelWriter.fill(map, writeSheet); - - - response.setContentType("application/vnd.ms-excel;charset=UTF-8"); - //关流 - excelWriter.finish(); - inputStream.close(); - outputStream.close(); - } - - public static void exportExcelZip(HttpServletResponse response, Map map, String filePathErr, String type) throws IOException { - ServletOutputStream outputStream = response.getOutputStream(); - ZipOutputStream zipOutputStream = new ZipOutputStream(outputStream); - - try { - for (Map.Entry entry : map.entrySet()) { - OrderDO k = entry.getKey(); - Object value = entry.getValue(); - - // 创建ExcelWriter并填充数据 - InputStream inputStream = ResourceUtils.getURL(filePathErr).openStream(); - ExcelWriter excelWriter = EasyExcel.write(outputStream) - .withTemplate(inputStream) - .excelType(ExcelTypeEnum.XLS) - .build(); - - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - // 填充订单数据 - excelWriter.fill(fillOrderData(k), writeSheet); - // 填充列表数据 - excelWriter.fill(value, fillConfig(), writeSheet); - - // 写入ZipOutputStream - ZipEntry zipEntry = new ZipEntry(type + "_" + k.getId() + ".xls"); - zipOutputStream.putNextEntry(zipEntry); - Workbook workbook = excelWriter.writeContext().writeWorkbookHolder().getWorkbook(); - workbook.write(zipOutputStream); - excelWriter.finish(); // 关闭ExcelWriter - - // 关闭输入流 - inputStream.close(); - } + } catch (IOException e) { + log.error("文件【{}】写入异常", filePathErr, e); } finally { - // 关闭流 - zipOutputStream.close(); - outputStream.close(); + //关流 + IOUtils.closeQuietly(excelWriter); + IOUtils.closeQuietly(outputStream); } } - public static void exportExcel(HttpServletResponse response, - OrderDO orderDO, - List list, - String filePathErr, - String type) throws IOException { - //输入流 - InputStream inputStream = ResourceUtils.getURL(filePathErr+ File.separator + type).openStream(); - ServletOutputStream outputStream = response.getOutputStream(); - - - //设置输出流和模板信息 - ExcelWriter excelWriter = EasyExcel.write(outputStream).withTemplate(inputStream).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - - //开启自动换行,自动换行表示每次写入一条list数据是都会重新生成一行空行,此选项默认是关闭的,需要提前设置为true - FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); - - //准备单组和数据 - Map mapOrder = fillOrderData(orderDO); - - excelWriter.fill(mapOrder, writeSheet); - - //列表 - excelWriter.fill(list, fillConfig, writeSheet); - - //设置文件名的编码格式,防止文件名乱码 - String fileName = URLEncoder.encode(type.replace("模板",String.valueOf(orderDO.getId())), "UTF-8"); - //固定写法,设置响应头 - response.setHeader("Content-disposition", "attachment;filename="+ fileName + ".xlsx"); - - response.setContentType("application/vnd.ms-excel;charset=UTF-8"); - //关流 - excelWriter.finish(); - inputStream.close(); - outputStream.close(); - } - // 填充订单数据 private static Map fillOrderData(OrderDO order) { Map orderMap = new HashMap<>(); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java index 8ef61b7b7..a7c8f8d76 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java @@ -166,12 +166,14 @@ public class VoiceServiceImpl implements VoiceService{ public void zipFiles(String fileNames, String zipOutName) throws IOException { WritableByteChannel writableByteChannel = null; ByteBuffer buffer = ByteBuffer.allocate(2048); + FileInputStream fileInputStream = null; FileChannel fileChannel = null; try (ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(zipOutName))) { writableByteChannel = Channels.newChannel(zipOutputStream); File source = new File(fileNames); zipOutputStream.putNextEntry(new ZipEntry(source.getName())); - fileChannel = new FileInputStream(fileNames).getChannel(); + fileInputStream = new FileInputStream(fileNames); + fileChannel = fileInputStream.getChannel(); while (fileChannel.read(buffer) != -1) { //更新缓存区位置 buffer.flip(); @@ -190,6 +192,7 @@ public class VoiceServiceImpl implements VoiceService{ } finally { IOUtils.closeQuietly(writableByteChannel); IOUtils.closeQuietly(fileChannel); + IOUtils.closeQuietly(fileInputStream); buffer.clear(); } } From c0cc38c691ac06e4009b45349f06823411fbf3b7 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Wed, 9 Oct 2024 15:45:08 +0800 Subject: [PATCH 2/2] =?UTF-8?q?sonarqube=E8=B4=A8=E9=87=8F=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/db/DatabaseTableServiceImpl.java | 8 +- .../infra/service/file/FileServiceImpl.java | 14 +- .../executor/enums/DictTypeConstants.java | 22 +- .../executor/enums/ErrorCodeConstants.java | 90 ++-- .../executor/api/plan/OrderPlanApiImpl.java | 8 +- .../admin/order/OrderController.java | 7 +- .../executor/dal/mysql/order/OrderMapper.java | 6 + .../optimizeplan/OptimizePlanServiceImpl.java | 52 +-- .../service/order/OrderInputProcessor.java | 7 +- .../service/plan/PlanServiceImpl.java | 18 +- .../service/plate/PlateServiceImpl.java | 3 +- .../module/executor/util/RandomUtils.java | 4 +- .../imes/module/executor/util/ZLibUtils.java | 110 ----- .../admin/SnowflakeIdWorker3rd.java | 1 + .../admin/files/excel/ExcelReadUtil.java | 7 +- .../admin/files/xml/XmlTypeRealize.java | 3 +- .../manage/enums/DictTypeConstants.java | 4 +- .../controller/admin/test/JsonUtil.java | 47 +- .../controller/admin/test/TestController.java | 41 +- .../manage/dal/mysql/plate/PlateMapper.java | 6 + .../mysql/remainplaten/RemainPlateMapper.java | 6 + .../manage/service/pack/PackServiceImpl.java | 6 +- .../patching/PatchingPlateServiceImpl.java | 4 +- .../manage/service/plate/PlateExcelUtil.java | 9 +- .../process/ProductionProcessServiceImpl.java | 4 +- .../query/ProductionStatusServiceImpl.java | 21 +- .../manage/util/SnowflakeIdWorker3rd.java | 1 + .../system/enums/DictTypeConstants.java | 35 +- .../system/enums/ErrorCodeConstants.java | 412 +++++++++--------- .../enums/oauth2/OAuth2ClientConstants.java | 4 +- .../api/application/ApplicationApiImpl.java | 2 +- .../admin/captcha/CaptchaController.java | 4 +- .../admin/oauth2/OAuth2OpenController.java | 16 +- .../vo/client/OAuth2ClientSaveReqVO.java | 4 +- .../admin/organ/OrganController.java | 7 +- .../vo/client/SocialClientSaveReqVO.java | 4 +- .../convert/mail/MailAccountConvert.java | 4 +- .../system/dal/mysql/organ/OrganMapper.java | 8 +- .../dal/mysql/process/ProcessGroupMapper.java | 6 + .../dal/mysql/user/AdminUserMapper.java | 14 +- .../system/dal/redis/RedisKeyConstants.java | 28 +- .../RedisRefreshChannelTopicConstants.java | 4 +- .../core/AdminUserParseFunction.java | 5 +- .../datasource/DataSourceServiceImpl.java | 17 +- .../service/dict/DictTypeServiceImpl.java | 6 +- .../LabelTemplateServiceImpl.java | 4 +- .../service/logger/OperateLogServiceImpl.java | 4 +- .../service/machine/MachineServiceImpl.java | 6 +- .../machine/MachineSettingServiceImpl.java | 8 +- .../machine/MachineTemplateServiceImpl.java | 9 +- .../service/mail/MailSendServiceImpl.java | 10 +- .../service/mail/MailTemplateServiceImpl.java | 4 +- .../oauth2/OAuth2ClientServiceImpl.java | 8 +- .../service/organ/OrganServiceImpl.java | 16 +- .../service/permission/MenuServiceImpl.java | 3 +- .../service/permission/RoleServiceImpl.java | 9 +- .../service/sms/SmsChannelServiceImpl.java | 4 +- .../social/SocialClientServiceImpl.java | 4 +- .../system/util/oauth2/OAuth2Utils.java | 4 +- 59 files changed, 481 insertions(+), 701 deletions(-) delete mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ZLibUtils.java diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DatabaseTableServiceImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DatabaseTableServiceImpl.java index a4631c811..f68db3759 100644 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DatabaseTableServiceImpl.java +++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DatabaseTableServiceImpl.java @@ -2,7 +2,7 @@ package com.cf.imes.module.infra.service.db; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.module.infra.dal.dataobject.db.DataSourceConfigDO; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; @@ -31,8 +31,8 @@ public class DatabaseTableServiceImpl implements DatabaseTableService { @Override public List getTableList(Long dataSourceConfigId, String nameLike, String commentLike) { List tables = getTableList0(dataSourceConfigId, null); - return tables.stream().filter(tableInfo -> (StrUtil.isEmpty(nameLike) || tableInfo.getName().contains(nameLike)) - && (StrUtil.isEmpty(commentLike) || tableInfo.getComment().contains(commentLike))) + return tables.stream().filter(tableInfo -> (CharSequenceUtil.isEmpty(nameLike) || tableInfo.getName().contains(nameLike)) + && (CharSequenceUtil.isEmpty(commentLike) || tableInfo.getComment().contains(commentLike))) .collect(Collectors.toList()); } @@ -50,7 +50,7 @@ public class DatabaseTableServiceImpl implements DatabaseTableService { DataSourceConfig dataSourceConfig = new DataSourceConfig.Builder(config.getUrl(), config.getUsername(), config.getPassword()).build(); StrategyConfig.Builder strategyConfig = new StrategyConfig.Builder(); - if (StrUtil.isNotEmpty(name)) { + if (CharSequenceUtil.isNotEmpty(name)) { strategyConfig.addInclude(name); } else { // 移除工作流和定时任务前缀的表名 // TODO 未来做成可配置 diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileServiceImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileServiceImpl.java index 2ab44c357..e9b9e46ba 100644 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileServiceImpl.java +++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileServiceImpl.java @@ -1,7 +1,7 @@ package com.cf.imes.module.infra.service.file; import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.io.FileUtils; import com.cf.imes.framework.file.core.client.FileClient; @@ -35,6 +35,8 @@ public class FileServiceImpl implements FileService { @Resource private FileMapper fileMapper; + private static final String CLIENT_ERR_NOTIFICATION = "客户端({}) 不能为空"; + @Override public PageResult getFilePage(FilePageReqVO pageReqVO) { return fileMapper.selectPage(pageReqVO); @@ -45,11 +47,11 @@ public class FileServiceImpl implements FileService { public String createFile(String name, String path, byte[] content) { // 计算默认的 path 名 String type = FileTypeUtils.getMineType(content, name); - if (StrUtil.isEmpty(path)) { + if (CharSequenceUtil.isEmpty(path)) { path = FileUtils.generatePath(content, name); } // 如果 name 为空,则使用 path 填充 - if (StrUtil.isEmpty(name)) { + if (CharSequenceUtil.isEmpty(name)) { name = path; } @@ -77,7 +79,7 @@ public class FileServiceImpl implements FileService { // 从文件存储器中删除 FileClient client = fileConfigService.getFileClient(file.getConfigId()); - Assert.notNull(client, "客户端({}) 不能为空", file.getConfigId()); + Assert.notNull(client, CLIENT_ERR_NOTIFICATION, file.getConfigId()); client.delete(file.getPath()); // 删除记录 @@ -95,7 +97,7 @@ public class FileServiceImpl implements FileService { @Override public byte[] getFileContent(Long configId, String path) throws Exception { FileClient client = fileConfigService.getFileClient(configId); - Assert.notNull(client, "客户端({}) 不能为空", configId); + Assert.notNull(client, CLIENT_ERR_NOTIFICATION, configId); return client.getContent(path); } @@ -108,7 +110,7 @@ public class FileServiceImpl implements FileService { } // 从文件存储器中删除 FileClient client = fileConfigService.getFileClient(fileDO.getConfigId()); - Assert.notNull(client, "客户端({}) 不能为空", fileDO.getConfigId()); + Assert.notNull(client, CLIENT_ERR_NOTIFICATION, fileDO.getConfigId()); try { client.delete(path); } catch (Exception e) { diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/DictTypeConstants.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/DictTypeConstants.java index 6339ff61c..fa8a13453 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/DictTypeConstants.java +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/DictTypeConstants.java @@ -3,24 +3,24 @@ package com.cf.imes.module.executor.enums; /** * executor 字典类型的枚举类 */ -public interface DictTypeConstants { +public class DictTypeConstants { - String HOLE_FACE = "hole_face";//加工面 - String HOLE_DIRECTION = "hole_direction";// 方向 + public static final String HOLE_FACE = "hole_face";//加工面 + public static final String HOLE_DIRECTION = "hole_direction";// 方向 // ========== PLATE 模块 ========== - String TYPOGRAPHY_TYPE = "typographyType"; // 排版面 - String GRAIN_TYPE = "grainType";// 小板纹路类型 - String DOOR_OPENING_DIRECTIONS = "doorOpeningDirections";//开门方向 - String PLATE_TYPE = "order_plate_type"; // 板类型 + public static final String TYPOGRAPHY_TYPE = "typographyType"; // 排版面 + public static final String GRAIN_TYPE = "grainType";// 小板纹路类型 + public static final String DOOR_OPENING_DIRECTIONS = "doorOpeningDirections";//开门方向 + public static final String PLATE_TYPE = "order_plate_type"; // 板类型 // ========== HOLE 模块 ========== - String HOLE_TYPE = "hole_type";//孔类型 + public static final String HOLE_TYPE = "hole_type";//孔类型 // ========== 单位 模块 ========== - String UNIT_LENGTH = "length_unit"; // 长度单位 - String UNIT_AREA = "area_unit"; // 面积单位 - String UNIT_NUMBER = "area_number"; // 个数单位 + public static final String UNIT_LENGTH = "length_unit"; // 长度单位 + public static final String UNIT_AREA = "area_unit"; // 面积单位 + public static final String UNIT_NUMBER = "area_number"; // 个数单位 } diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java index e0f520c0f..d49a43300 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java @@ -6,81 +6,57 @@ import com.cf.imes.framework.common.exception.ErrorCode; * @author there * 生产执行服务错误码枚举 使用 1-003-000-000 段 */ -public interface ErrorCodeConstants { +public class ErrorCodeConstants { // ========== 生产单开料排单 - ErrorCode PLAN_NOT_EXISTS = new ErrorCode(1_001_107_000, "生产单开料排单不存在"); + public static final ErrorCode PLAN_NOT_EXISTS = new ErrorCode(1_001_107_000, "生产单开料排单不存在"); - ErrorCode PLAN_NOT_ALLOW_DELETE = new ErrorCode(1_001_107_001, "排单号:{},已开料不予许删除"); + public static final ErrorCode PLAN_NOT_ALLOW_DELETE = new ErrorCode(1_001_107_001, "排单号:{},已开料不予许删除"); - ErrorCode PLAN_NOT_ALLOW_CANCEL = new ErrorCode(1_001_107_002, "排单 新单 不予许作废"); + public static final ErrorCode LIST_CHANGES_ARE_PROHIBITED = new ErrorCode(1_001_107_003, "当前排单有板材已开料,禁止更改"); - ErrorCode LIST_CHANGES_ARE_PROHIBITED = new ErrorCode(1_001_107_003, "当前排单有板材已开料,禁止更改"); - - ErrorCode PLAN_ERROR = new ErrorCode(1_001_107_004, "{} 排单数据不存在"); - - ErrorCode PLATE_ERROR = new ErrorCode(1_001_107_005, "当前新增的板材非同一类型的板材,禁止更改"); + public static final ErrorCode PLATE_ERROR = new ErrorCode(1_001_107_005, "当前新增的板材非同一类型的板材,禁止更改"); // ========== 生产单商品 TODO 补充编号 ========== - ErrorCode GOODS_NOT_EXISTS = new ErrorCode(1_001_108_000, "生产单商品不存在"); + public static final ErrorCode GOODS_NOT_EXISTS = new ErrorCode(1_001_108_000, "生产单商品不存在"); // ========== 生产单 TODO 补充编号 ========== - ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_001_109_000, "生产单不存在"); - ErrorCode ORDER_IS_EMPTY = new ErrorCode(1_001_109_000, "生产单为空单,柜体操作无效"); - ErrorCode ORDER_NOT_NEW_ORDER = new ErrorCode(1_001_109_000, "生产单不为新单,清空无效"); - ErrorCode ORDER_NOT_CANCEL = new ErrorCode(1_001_109_000, "生产单已排单,小板操作无效"); - ErrorCode ORDER_CANCEL = new ErrorCode(1_001_109_000, "生产单未作废,还原无效"); - ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_001_109_001, "选中删除对象有已开料板件,请联系管理员修改开料状态后再删除!"); - ErrorCode ORDER_ERROR = new ErrorCode(1_001_109_002, "当前生产单柜体,房间已全部删除!"); + public static final ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_001_109_000, "生产单不存在"); + public static final ErrorCode ORDER_NOT_CANCEL = new ErrorCode(1_001_109_000, "生产单已排单,小板操作无效"); + public static final ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_001_109_001, "选中删除对象有已开料板件,请联系管理员修改开料状态后再删除!"); + public static final ErrorCode ORDER_ERROR = new ErrorCode(1_001_109_002, "当前生产单柜体,房间已全部删除!"); // ========== 生产单 TODO 补充编号 ========== - ErrorCode MODULE_NOT_EXISTS = new ErrorCode(1_001_110_000, "模块不存在"); + public static final ErrorCode MODULE_NOT_EXISTS = new ErrorCode(1_001_110_000, "模块不存在"); // ========== 生产单 TODO 补充编号 ========== - ErrorCode MODULE_ITEM_NOT_EXISTS = new ErrorCode(1_001_111_000, "模块详情不存在"); + public static final ErrorCode PLATE_NOT_EXISTS = new ErrorCode(1_001_113_000, "板材不存在"); // ========== 生产单 TODO 补充编号 ========== - ErrorCode ORDER_ITEM_NOT_EXISTS = new ErrorCode(1_001_112_000, "生产单详情不存在"); + public static final ErrorCode ORDER_PARTS_NOT_EXISTS = new ErrorCode(1_001_115_000, "生产单配件不存在"); // ========== 生产单 TODO 补充编号 ========== - ErrorCode PLATE_NOT_EXISTS = new ErrorCode(1_001_113_000, "板材不存在"); + public static final ErrorCode PHONE_NOT_LAWFUL = new ErrorCode(1_001_116_000, "手机号不合法"); + public static final ErrorCode CUSTOM_ORDER_EXISTS = new ErrorCode(1_001_117_000, "自定义生产单号存在"); + public static final ErrorCode ORDER_PROCESS_NOT_EXISTS = new ErrorCode(1_001_119_001, "工序组不存在"); + public static final ErrorCode ORDER_PROCESS_EXISTS = new ErrorCode(1_001_119_002, "该生产单工序组已经存在"); + public static final ErrorCode PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_029_003, "工序组不存在"); + public static final ErrorCode ORDER_BODY_NOT_EXISTS = new ErrorCode(1_002_029_004, "当前柜体不存在"); + public static final ErrorCode RAW_GOODS_NOT_EXISTS = new ErrorCode(1_002_029_005, "生产单中未用到此板材"); + public static final ErrorCode APP_TOKEN_ERROR = new ErrorCode(1_002_029_007, "token获取失败"); + public static final ErrorCode PLATE_PLAN_DATA_ERROR = new ErrorCode(1_002_029_008, "板材生产数据获取错误或此单不存在"); + public static final ErrorCode PLATE_PLAN_DATA_NULL = new ErrorCode(1_002_029_008, "板材生产源数据为空"); + public static final ErrorCode PARTS_DATA_ERROR = new ErrorCode(1_002_029_009, "配件数据获取错误"); + public static final ErrorCode BODY_DATA_ERROR = new ErrorCode(1_002_029_010, "柜体数据获取错误"); + public static final ErrorCode GOODS_DATA_ERROR = new ErrorCode(1_002_029_011, "商品信息获取错误"); + public static final ErrorCode PLATE_DATA_ERROR = new ErrorCode(1_002_029_012, "板材明细获取错误"); + public static final ErrorCode ORDER_STATUS_CONFLICT = new ErrorCode(1_002_029_006, "生产单状态冲突,禁止投入生产"); + public static final ErrorCode ORDER_READ_ERR = new ErrorCode(1_002_029_006, "订单列表获取失败,请刷新重试"); + public static final ErrorCode ORDER_DATE_ERR = new ErrorCode(1_002_029_006, "获取订单列表,时间超出范围,请在30天范围内选择"); - // ========== 生产单 TODO 补充编号 ========== - ErrorCode ORDER_MODULE_EXTRA_NOT_EXISTS = new ErrorCode(1_001_114_000, "生产单模块不存在"); - - // ========== 生产单 TODO 补充编号 ========== - ErrorCode ORDER_PARTS_NOT_EXISTS = new ErrorCode(1_001_115_000, "生产单配件不存在"); - - // ========== 生产单 TODO 补充编号 ========== - ErrorCode PHONE_NOT_LAWFUL = new ErrorCode(1_001_116_000, "手机号不合法"); - ErrorCode CUSTOM_ORDER_EXISTS = new ErrorCode(1_001_117_000, "自定义生产单号存在"); - ErrorCode SALESMAN_ORDER_NOT_EXISTS = new ErrorCode(1_001_118_000, "业务员不存在"); - ErrorCode SPLITTER_ORDER_NOT_EXISTS = new ErrorCode(1_001_119_000, "拆单员不存在"); - ErrorCode ORDER_PROCESS_NOT_EXISTS = new ErrorCode(1_001_119_001, "工序组不存在"); - ErrorCode ORDER_PROCESS_EXISTS = new ErrorCode(1_001_119_002, "该生产单工序组已经存在"); - ErrorCode PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_029_003, "工序组不存在"); - ErrorCode ORDER_BODY_NOT_EXISTS = new ErrorCode(1_002_029_004, "当前柜体不存在"); - ErrorCode RAW_GOODS_NOT_EXISTS = new ErrorCode(1_002_029_005, "生产单中未用到此板材"); - ErrorCode ORDER_STATUS_ERROR = new ErrorCode(1_002_029_006, "生产单不允许删除"); - ErrorCode APP_TOKEN_ERROR = new ErrorCode(1_002_029_007, "token获取失败"); - ErrorCode PLATE_PLAN_DATA_ERROR = new ErrorCode(1_002_029_008, "板材生产数据获取错误或此单不存在"); - ErrorCode PLATE_PLAN_DATA_NULL = new ErrorCode(1_002_029_008, "板材生产源数据为空"); - ErrorCode PARTS_DATA_ERROR = new ErrorCode(1_002_029_009, "配件数据获取错误"); - ErrorCode BODY_DATA_ERROR = new ErrorCode(1_002_029_010, "柜体数据获取错误"); - ErrorCode GOODS_DATA_ERROR = new ErrorCode(1_002_029_011, "商品信息获取错误"); - ErrorCode PLATE_DATA_ERROR = new ErrorCode(1_002_029_012, "板材明细获取错误"); - ErrorCode FILE_READ_SUCCESS = new ErrorCode(1_002_029_012, "文件读取成功"); - ErrorCode FILE_READ_ERR = new ErrorCode(1_002_029_012, "文件读取错误"); - ErrorCode FILE_ADD_ERR = new ErrorCode(1_002_029_012, "文件已经存在是否强制保存"); - ErrorCode FILE_UPLOAD_ERR = new ErrorCode(1_002_029_012, "文件内容为空"); - ErrorCode ORDER_STATUS_CONFLICT = new ErrorCode(1_002_029_006, "生产单状态冲突,禁止投入生产"); - ErrorCode ORDER_READ_ERR = new ErrorCode(1_002_029_006, "订单列表获取失败,请刷新重试"); - ErrorCode ORDER_DATE_ERR = new ErrorCode(1_002_029_006, "获取订单列表,时间超出范围,请在30天范围内选择"); - - ErrorCode SOURCE_NOT_EXITS_ERROR = new ErrorCode(1_002_029_013, "源数据查询失败"); - ErrorCode ORDER_CAN_NOT_DELETE = new ErrorCode(1_002_029_013, "存在状态不符合强制删除的生产单,禁止删除"); - ErrorCode ORDER_DELETED_ERR = new ErrorCode(1_002_029_006, "生产单删除失败"); - ErrorCode ORDER_RESTORE_ERR = new ErrorCode(1_002_029_006, "生产单还原失败"); + public static final ErrorCode SOURCE_NOT_EXITS_ERROR = new ErrorCode(1_002_029_013, "源数据查询失败"); + public static final ErrorCode ORDER_DELETED_ERR = new ErrorCode(1_002_029_006, "生产单删除失败"); + public static final ErrorCode ORDER_RESTORE_ERR = new ErrorCode(1_002_029_006, "生产单还原失败"); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/plan/OrderPlanApiImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/plan/OrderPlanApiImpl.java index d6631a96d..fa64e3b05 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/plan/OrderPlanApiImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/plan/OrderPlanApiImpl.java @@ -1,7 +1,7 @@ package com.cf.imes.module.executor.api.plan; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import co.elastic.clients.elasticsearch.ElasticsearchClient; import co.elastic.clients.elasticsearch._types.FieldValue; import co.elastic.clients.elasticsearch.core.SearchRequest; @@ -521,7 +521,7 @@ public class OrderPlanApiImpl implements OrderPlanApi{ try { SearchResponse search = elasticsearchClient.search(builder.build(), OrderPartsRemark.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -543,7 +543,7 @@ public class OrderPlanApiImpl implements OrderPlanApi{ try { SearchResponse search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -565,7 +565,7 @@ public class OrderPlanApiImpl implements OrderPlanApi{ try { SearchResponse search = elasticsearchClient.search(builder.build(), OrderModelDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java index f4ba81877..98af3c4a6 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java @@ -264,6 +264,7 @@ public class OrderController { Map mapOrder = null; Boolean flag = true; + String customOrderNoKey = "自定义单号"; try { if (type == 0) { //excel excelReadUtil.setErr(0); @@ -290,13 +291,13 @@ public class OrderController { if (mapOrder == null) { mapOrder = new HashMap<>(); - mapOrder.put("自定义单号", "生产单内容解析为空"); + mapOrder.put(customOrderNoKey, "生产单内容解析为空"); flag = false; }else if (orderDO == null) { - mapOrder.put("自定义单号", "生产单内为空"); + mapOrder.put(customOrderNoKey, "生产单内为空"); flag = false; } else if (orderDO.getCustomOrderNo() != null && !orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())) { - mapOrder.put("自定义单号", mapOrder.get("自定义单号") + "自定义单号重复"); + mapOrder.put(customOrderNoKey, mapOrder.get(customOrderNoKey) + customOrderNoKey + "重复"); flag = false; } else if ( excelReadUtil.isErr() > 0 ){ flag = false; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java index f6dccec08..330443e76 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java @@ -73,6 +73,9 @@ public interface OrderMapper extends BaseMapperX { case "orderDate" -> query.orderByAsc(OrderDO::getOrderDate); case "deliveryDate" -> query.orderByAsc(OrderDO::getDeliveryDate); case "apiOrderId" -> query.orderByAsc(OrderDO::getApiOrderId); + default -> { + // default不排序 + } } } else if (reqVO.getOrder().equals("descend")) { switch (reqVO.getField()) { @@ -81,6 +84,9 @@ public interface OrderMapper extends BaseMapperX { case "orderDate" -> query.orderByDesc(OrderDO::getOrderDate); case "deliveryDate" -> query.orderByDesc(OrderDO::getDeliveryDate); case "apiOrderId" -> query.orderByDesc(OrderDO::getApiOrderId); + default -> { + // default不排序 + } } } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java index 71dabf409..ec4656a20 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java @@ -1,6 +1,6 @@ package com.cf.imes.module.executor.service.optimizeplan; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; @@ -31,9 +31,6 @@ import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO; import com.cf.imes.module.executor.dal.mysql.goods.GoodsMapper; import com.cf.imes.module.executor.dal.mysql.order.OrderMapper; -import com.cf.imes.module.executor.dal.mysql.orderBody.OrderBodyMapper; -import com.cf.imes.module.executor.dal.mysql.orderGroup.OrderGroupMapper; -import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper; import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper; import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper; import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper; @@ -41,10 +38,8 @@ import com.cf.imes.module.executor.dal.mysql.processStep.ProcessStepMapper; import com.cf.imes.module.executor.dal.mysql.processStepItem.ProcessStepItemMapper; import com.cf.imes.module.executor.dal.mysql.remainplaten.RemainPlateMapper; import com.cf.imes.module.executor.enums.ErrorCodeConstants; -import com.cf.imes.module.infra.api.file.FileApi; import com.cf.imes.module.system.api.dataSource.DataSourceApi; import com.cf.imes.module.system.api.machine.MachineApi; -import com.cf.imes.module.system.api.process.ProcessApi; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; @@ -79,9 +74,6 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { @Resource private RemainPlateMapper remainPlateMapper; - @Resource - private FileApi fileApi; - @Resource private PlateMapper plateMapper; @@ -102,15 +94,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { @Resource private MachineApi machineApi; - @Resource - private ProcessApi processApi; - @Resource private ESDocumentService esDocumentService; - @Resource - private OrderItemMapper orderItemMapper; - @Resource private OrderPartsMapper orderPartsMapper; @@ -120,12 +106,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { @Resource private ProcessStepItemMapper processStepItemMapper; - @Resource - private OrderBodyMapper orderBodyMapper; - - @Resource - private OrderGroupMapper orderGroupMapper; - + private static final String FIELD_ORDER_ID = "orderId"; + private static final String FIELD_PLAN_ID = "planId"; @Override public List getPlateListByPlanId(Long planId) { @@ -828,7 +810,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { try { SearchResponse search = elasticsearchClient.search(builder.build(), OrderModelDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -842,11 +824,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { SearchRequest.Builder builder = new SearchRequest.Builder(); builder.index(OptimizePlanService.ORDER_PLATE_MODEL); builder.size(size); - builder.query(q -> q.term(b -> b.field("orderId").value(orderId))); + builder.query(q -> q.term(b -> b.field(FIELD_ORDER_ID).value(orderId))); try { SearchResponse search = elasticsearchClient.search(builder.build(), OrderModelDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -884,11 +866,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { SearchRequest.Builder builder = new SearchRequest.Builder(); builder.index(index); builder.size(size); - builder.query(q -> q.term(b -> b.field("orderId").value(orderId))); + builder.query(q -> q.term(b -> b.field(FIELD_ORDER_ID).value(orderId))); try { SearchResponse search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -903,11 +885,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { SearchRequest.Builder builder = new SearchRequest.Builder(); builder.index(index); builder.size(size); - builder.query(q -> q.term(b -> b.field("planId").value(planId))); + builder.query(q -> q.term(b -> b.field(FIELD_PLAN_ID).value(planId))); try { SearchResponse search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -924,11 +906,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { SearchRequest.Builder builder = new SearchRequest.Builder(); builder.index(index); builder.size(size); - builder.query(q -> q.terms(b -> b.field("orderId").terms(e -> e.value(fieldValues)))); + builder.query(q -> q.terms(b -> b.field(FIELD_ORDER_ID).terms(e -> e.value(fieldValues)))); try { SearchResponse search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -944,11 +926,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { SearchRequest.Builder builder = new SearchRequest.Builder(); builder.index(index); builder.size(size); - builder.query(q -> q.terms(b -> b.field("planId").terms(e -> e.value(fieldValues)))); + builder.query(q -> q.terms(b -> b.field(FIELD_PLAN_ID).terms(e -> e.value(fieldValues)))); try { SearchResponse search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -964,11 +946,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { SearchRequest.Builder builder = new SearchRequest.Builder(); builder.index(index); builder.size(size); - builder.query(q -> q.terms(b -> b.field("orderId").terms(e -> e.value(fieldValues)))); + builder.query(q -> q.terms(b -> b.field(FIELD_ORDER_ID).terms(e -> e.value(fieldValues)))); try { SearchResponse search = elasticsearchClient.search(builder.build(), OrderPartsRemark.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -989,7 +971,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder(); builder.index(index); - builder.query(q -> q.terms(b -> b.field("planId").terms(e -> e.value(fieldValues)))); + builder.query(q -> q.terms(b -> b.field(FIELD_PLAN_ID).terms(e -> e.value(fieldValues)))); try { DeleteByQueryResponse response = elasticsearchClient.deleteByQuery(builder.build()); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java index c976dab0a..ecbf63a66 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java @@ -89,6 +89,7 @@ public class OrderInputProcessor { public static final String ORDER_PLATE_MODEL = "imes_order_plate_model"; + private static final String FIELD_ORDER_ID = "orderId"; public static final String ORDER_PARTS_REMARK_MODEL = "imes_order_parts_remark_model"; @@ -203,7 +204,7 @@ public class OrderInputProcessor { SearchRequest.Builder builder = new SearchRequest.Builder(); builder.index(index); builder.size(size); - builder.query(q -> q.term(b -> b.field("orderId").value(orderId))); + builder.query(q -> q.term(b -> b.field(FIELD_ORDER_ID).value(orderId))); builder.source(s -> s.fetch(false)); @@ -226,7 +227,7 @@ public class OrderInputProcessor { public void deleteByOrderId(Long orderId, String index) { DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder(); builder.index(index); - builder.query(q -> q.term(t -> t.field("orderId").value(orderId))); + builder.query(q -> q.term(t -> t.field(FIELD_ORDER_ID).value(orderId))); try { DeleteByQueryResponse response = elasticsearchClient.deleteByQuery(builder.build()); @@ -246,7 +247,7 @@ public class OrderInputProcessor { DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder(); builder.index(index); - builder.query(q -> q.terms(b -> b.field("orderId").terms(e -> e.value(fieldValues)))); + builder.query(q -> q.terms(b -> b.field(FIELD_ORDER_ID).terms(e -> e.value(fieldValues)))); try { DeleteByQueryResponse response = elasticsearchClient.deleteByQuery(builder.build()); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java index 535cc96a0..3ad15af62 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java @@ -1,6 +1,6 @@ package com.cf.imes.module.executor.service.plan; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import co.elastic.clients.elasticsearch.ElasticsearchClient; import co.elastic.clients.elasticsearch._types.FieldValue; import co.elastic.clients.elasticsearch.core.DeleteByQueryRequest; @@ -450,7 +450,7 @@ public class PlanServiceImpl implements PlanService { }else { planDOPageResult = planMapper.selectPage(pageReqVO); - if (CollectionUtil.isEmpty(planDOPageResult.getList())) { + if (CollUtil.isEmpty(planDOPageResult.getList())) { return new PageResult<>(); } @@ -620,7 +620,7 @@ public class PlanServiceImpl implements PlanService { // todo 目前修改一半,速度无法再进行特别的优化,需等后面修改表结构再进行优化 IPage orderRespVOCopies = orderMapper.selectOrderPage(page,queryWrapperX); - if (CollectionUtil.isEmpty(orderRespVOCopies.getRecords())) { + if (CollUtil.isEmpty(orderRespVOCopies.getRecords())) { return new PageResult<>(); } @@ -833,7 +833,7 @@ public class PlanServiceImpl implements PlanService { IPage orderGoodsResps = orderMapper.selectOrderIds(page,queryWrapperX); - if (CollectionUtil.isEmpty(orderGoodsResps.getRecords())) { + if (CollUtil.isEmpty(orderGoodsResps.getRecords())) { return new PageResult<>(); } @@ -939,13 +939,13 @@ public class PlanServiceImpl implements PlanService { IPage pageResult = goodsMapper.selectPlanGoodsListByPlanId(page, queryWrapperX); - if (CollectionUtil.isEmpty(pageResult.getRecords())) { + if (CollUtil.isEmpty(pageResult.getRecords())) { return new PageResult<>(); } Set bodyIds = pageResult.getRecords().stream().map(PlateResList::getBodyId).collect(Collectors.toSet()); - if (CollectionUtil.isNotEmpty(bodyIds)) { + if (CollUtil.isNotEmpty(bodyIds)) { List orderBodyDOS = orderBodyMapper.selectBatchIds(bodyIds); for (PlateResList resList : pageResult.getRecords()) { resList.setBodyName(orderBodyDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getBodyId())).map(OrderBodyDO::getName).findAny().orElse(null)); @@ -969,7 +969,7 @@ public class PlanServiceImpl implements PlanService { PageResult pageResult = orderMapper.selectJoinPage(pageReqVO, OrderDO.class, lambdaWrapperX); - if (CollectionUtil.isEmpty(pageResult.getList())) { + if (CollUtil.isEmpty(pageResult.getList())) { return new PageResult<>(); } @@ -1079,7 +1079,7 @@ public class PlanServiceImpl implements PlanService { try { SearchResponse search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -1098,7 +1098,7 @@ public class PlanServiceImpl implements PlanService { try { SearchResponse search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java index 042bfde23..d740141af 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java @@ -1,7 +1,6 @@ package com.cf.imes.module.executor.service.plate; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; import co.elastic.clients.elasticsearch.ElasticsearchClient; import co.elastic.clients.elasticsearch._types.FieldValue; import co.elastic.clients.elasticsearch.core.SearchRequest; @@ -338,7 +337,7 @@ public class PlateServiceImpl implements PlateService { try { SearchResponse search = elasticsearchClient.search(builder.build(), OrderModelDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/RandomUtils.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/RandomUtils.java index 0968fcb99..c956235b0 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/RandomUtils.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/RandomUtils.java @@ -1,9 +1,9 @@ package com.cf.imes.module.executor.util; import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.RandomUtil; -import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.common.enums.CommonStatusEnum; import uk.co.jemos.podam.api.PodamFactory; import uk.co.jemos.podam.api.PodamFactoryImpl; @@ -46,7 +46,7 @@ public class RandomUtils { return RandomUtil.randomEle(CommonStatusEnum.values()).getStatus(); } // 如果是 type、status 结尾的字段,返回 tinyint 范围 - if (StrUtil.endWithAnyIgnoreCase(attributeMetadata.getAttributeName(), + if (CharSequenceUtil.endWithAnyIgnoreCase(attributeMetadata.getAttributeName(), "type", "status", "category", "scope", "result")) { return RandomUtil.randomInt(0, TINYINT_MAX + 1); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ZLibUtils.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ZLibUtils.java deleted file mode 100644 index 5a0664a68..000000000 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ZLibUtils.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.cf.imes.module.executor.util; - -import java.io.*; -import java.util.zip.Deflater; -import java.util.zip.DeflaterOutputStream; -import java.util.zip.Inflater; -import java.util.zip.InflaterInputStream; - - - -//ZLib压缩工具 -public class ZLibUtils { - - //压缩直接数组 - public static byte[] compress(byte[] data) { - byte[] output = new byte[0]; - - Deflater compresser = new Deflater(); - - compresser.reset(); - compresser.setInput(data); - compresser.finish(); - ByteArrayOutputStream bos = new ByteArrayOutputStream(data.length); - try { - byte[] buf = new byte[1024]; - while (!compresser.finished()) { - int i = compresser.deflate(buf); - bos.write(buf, 0, i); - } - output = bos.toByteArray(); - } catch (Exception e) { - output = data; - e.printStackTrace(); - } finally { - try { - bos.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - compresser.end(); - return output; - } - - //压缩 字节数组到输出流 - public static void compress(byte[] data, OutputStream os) { - DeflaterOutputStream dos = new DeflaterOutputStream(os); - - try { - dos.write(data, 0, data.length); - - dos.finish(); - - dos.flush(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - //解压缩 字节数组 - public static byte[] decompress(byte[] data) { - byte[] output = new byte[0]; - - Inflater decompresser = new Inflater(); - decompresser.reset(); - decompresser.setInput(data); - - ByteArrayOutputStream o = new ByteArrayOutputStream(data.length); - try { - byte[] buf = new byte[1024]; - while (!decompresser.finished()) { - int i = decompresser.inflate(buf); - o.write(buf, 0, i); - } - output = o.toByteArray(); - } catch (Exception e) { - output = data; - e.printStackTrace(); - } finally { - try { - o.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - decompresser.end(); - return output; - } - - //解压缩 输入流 到字节数组 - public static byte[] decompress(InputStream is) { - InflaterInputStream iis = new InflaterInputStream(is); - ByteArrayOutputStream o = new ByteArrayOutputStream(1024); - try { - int i = 1024; - byte[] buf = new byte[i]; - - while ((i = iis.read(buf, 0, i)) > 0) { - o.write(buf, 0, i); - } - - } catch (IOException e) { - e.printStackTrace(); - } - return o.toByteArray(); - } - -} - diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/SnowflakeIdWorker3rd.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/SnowflakeIdWorker3rd.java index 6aba6b6c4..2d0c520de 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/SnowflakeIdWorker3rd.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/SnowflakeIdWorker3rd.java @@ -42,6 +42,7 @@ public class SnowflakeIdWorker3rd { // ==============================Constructors===================================== public SnowflakeIdWorker3rd() { + // No Args Constructors } // ==============================Test============================================= diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelReadUtil.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelReadUtil.java index 5f3ed82ef..8498a2299 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelReadUtil.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelReadUtil.java @@ -1,7 +1,6 @@ package com.cf.imes.module.executor.util.fileConversion.admin.files.excel; -import com.alibaba.excel.EasyExcel; - +import com.alibaba.excel.EasyExcelFactory; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.nacos.common.utils.StringUtils; @@ -41,7 +40,7 @@ public class ExcelReadUtil { // 文件读取 ExcelListener excelListener = new ExcelListener(); // 读文件 - EasyExcel.read(file.getInputStream(), excelListener).headRowNumber(-1).sheet().doRead(); + EasyExcelFactory.read(file.getInputStream(), excelListener).headRowNumber(-1).sheet().doRead(); Map orderMap = new HashMap<>();// order List> dataLists = excelListener.getDataLists();// 读取的内容 @@ -586,7 +585,7 @@ public class ExcelReadUtil { // 文件读取 if (!flag) { isErr.getAndIncrement(); } - JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(errList));// 错误列表 + JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(errList));// 错误列表 vo.setResult(String.valueOf(jsonArray)); return flag; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XmlTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XmlTypeRealize.java index 4738426b5..b753af6c4 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XmlTypeRealize.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XmlTypeRealize.java @@ -1,5 +1,6 @@ package com.cf.imes.module.executor.util.fileConversion.admin.files.xml; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; @@ -1280,7 +1281,7 @@ public class XmlTypeRealize { for (RemarkXmlVO remarkXmlVO : blockXmlVO.getRemarkXmlVOS().getRemarkXmlVOList()) { plateDetail.getPlateRemark().put(remarkXmlVO.getName(), remarkXmlVO.getInfo()); } - plateDO.setRemark(JSONObject.toJSONString(plateDetail.getPlateRemark())); + plateDO.setRemark(JSON.toJSONString(plateDetail.getPlateRemark())); } } diff --git a/cf-module-prod-manage/cf-module-prod-manage-api/src/main/java/com/cf/imes/module/manage/enums/DictTypeConstants.java b/cf-module-prod-manage/cf-module-prod-manage-api/src/main/java/com/cf/imes/module/manage/enums/DictTypeConstants.java index e9e377b76..26b7f8025 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-api/src/main/java/com/cf/imes/module/manage/enums/DictTypeConstants.java +++ b/cf-module-prod-manage/cf-module-prod-manage-api/src/main/java/com/cf/imes/module/manage/enums/DictTypeConstants.java @@ -5,7 +5,7 @@ package com.cf.imes.module.manage.enums; * * @author 晨丰科技 */ -public interface DictTypeConstants { +public class DictTypeConstants { - String PLATE_TEXTURE = "plate_texture_type";// 板件纹里 + public static final String PLATE_TEXTURE = "plate_texture_type";// 板件纹里 } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/JsonUtil.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/JsonUtil.java index 9356c89bd..0258371e9 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/JsonUtil.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/JsonUtil.java @@ -1,11 +1,5 @@ -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import org.apache.commons.lang3.StringUtils; +package com.cf.imes.module.manage.controller.admin.test; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; import java.util.Base64; import java.io.ByteArrayOutputStream; import java.util.zip.DataFormatException; @@ -13,17 +7,10 @@ import java.util.zip.Deflater; import java.util.zip.Inflater; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; import java.io.IOException; -import java.io.InputStream; -import java.io.RandomAccessFile; -import java.nio.ByteBuffer; -import java.nio.channels.FileChannel; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; + public class JsonUtil { @@ -73,27 +60,6 @@ public class JsonUtil { " \"prepareTime\": 0,\n" + " \"description\": \"2024年5月30日\",\n" + " \"organId\": 1\n" + - " },\n" + - " {\n" + - " \"createTime\": 1716191704000,\n" + - " \"updateTime\": 1716280724000,\n" + - " \"creator\": \"晨丰科技\",\n" + - " \"updater\": \"晨丰科技\",\n" + - " \"deleted\": false,\n" + - " \"id\": 355,\n" + - " \"name\": \"测试编辑dvdvd工序\",\n" + - " \"pieceRate\": 985,\n" + - " \"pieceType\": 7,\n" + - " \"type\": 2,\n" + - " \"isCustom\": true,\n" + - " \"isDealer\": false,\n" + - " \"sort\": 1001,\n" + - " \"hourCapacity\": 41,\n" + - " \"unit\": \"亩\",\n" + - " \"isEnabled\": true,\n" + - " \"prepareTime\": 0,\n" + - " \"description\": \"测试test69dvdvd9\",\n" + - " \"organId\": 1\n" + " }\n" + " ],\n" + " \"msg\": \"\"\n" + @@ -164,23 +130,24 @@ public class JsonUtil { //设置解压缩的输入数据。 inflater.setInput(decode); final byte[] bytes = new byte[256]; - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(256); - try { + try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream(256)) { //finished() 如果已到达压缩数据流的末尾,则返回true。 while (!inflater.finished()) { //将字节解压缩到指定的缓冲区中。 int length = inflater.inflate(bytes); outputStream.write(bytes, 0, length); } + return outputStream.toString(); } catch (DataFormatException e) { e.printStackTrace(); return null; + } catch (IOException e) { + e.printStackTrace(); + return null; } finally { //关闭解压缩器并丢弃任何未处理的输入。 inflater.end(); } - - return outputStream.toString(); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java index 3366e5e70..78197cb0d 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java @@ -1,14 +1,6 @@ package com.cf.imes.module.manage.controller.admin.test; -import com.cf.imes.framework.common.util.json.JsonUtils; -import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingDetailRespVO; -import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlateRespVO; -import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; -import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper; -import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper; import com.cf.imes.module.manage.dal.mysql.test.TestMapper; -import com.jacob.com.ComThread; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -27,23 +19,8 @@ import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; import com.jacob.com.Variant; -import javax.sound.sampled.*; - import java.io.*; -import java.net.ServerSocket; -import java.net.Socket; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.ArrayList; import java.util.List; -import java.util.Locale; - -import java.net.Socket; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - -import java.io.IOException; import java.util.Random; @@ -60,8 +37,6 @@ public class TestController { private TestMapper testMapper; - - @GetMapping("/get") @PermitAll @Operation(summary = "测试") @@ -172,28 +147,22 @@ public class TestController { } - public static Integer aacc(){ + public static Integer aacc() { RedisTemplate re = new RedisTemplate<>(); int randomInt = new Random(System.currentTimeMillis()).nextInt(900) + 100;// 生成100到999之间的随机数 - return randomInt; } - - @TestOnly - public static void main(String[] args) { - - - - - - } + @TestOnly + public static void main(String[] args) { + // test main + } } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/PlateMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/PlateMapper.java index 5c884d135..78d0cfca9 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/PlateMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/PlateMapper.java @@ -51,6 +51,9 @@ public interface PlateMapper extends BaseMapperX { case "height" -> queryWrapper.orderByAsc(PlateDO::getHeight); case "thickness" -> queryWrapper.orderByAsc(PlateDO::getThickness); case "brand" -> queryWrapper.orderByAsc(PlateDO::getBrand); + default -> { + // default不排序 + } } }else if (reqVO.getOrder().equals("descend")) { switch (reqVO.getField()) { @@ -63,6 +66,9 @@ public interface PlateMapper extends BaseMapperX { case "height" -> queryWrapper.orderByDesc(PlateDO::getHeight); case "thickness" -> queryWrapper.orderByDesc(PlateDO::getThickness); case "brand" -> queryWrapper.orderByDesc(PlateDO::getBrand); + default -> { + // default不排序 + } } } } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/remainplaten/RemainPlateMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/remainplaten/RemainPlateMapper.java index 2090840b6..8e231deae 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/remainplaten/RemainPlateMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/remainplaten/RemainPlateMapper.java @@ -63,6 +63,9 @@ public interface RemainPlateMapper extends BaseMapperX { case "initPlanId" -> wrapper.orderByAsc(RemainPlateDO::getInitPlanId); case "planId" -> wrapper.orderByAsc(RemainPlateDO::getPlanId); case "status" -> wrapper.orderByAsc(RemainPlateDO::getStatus); + default -> { + // default不排序 + } } }else if (reqVO.getOrder().equals("descend")) { switch (reqVO.getField()) { @@ -78,6 +81,9 @@ public interface RemainPlateMapper extends BaseMapperX { case "initPlanId" -> wrapper.orderByDesc(RemainPlateDO::getInitPlanId); case "planId" -> wrapper.orderByDesc(RemainPlateDO::getPlanId); case "status" -> wrapper.orderByDesc(RemainPlateDO::getStatus); + default -> { + // default不排序 + } } } } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java index 1dbd53388..0b36b2949 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java @@ -1,7 +1,7 @@ package com.cf.imes.module.manage.service.pack; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cf.imes.framework.common.enums.OrderItemTypeEnum; @@ -137,7 +137,7 @@ public class PackServiceImpl implements PackService { // 查询查询分页 packRespVOS = ordersMapper.selectOrderIdList(page, pageReqVO, getUserOrganId()); - if (CollectionUtil.isEmpty(packRespVOS.getRecords())) { + if (CollUtil.isEmpty(packRespVOS.getRecords())) { return new PageResult<>(); } @@ -336,7 +336,7 @@ public class PackServiceImpl implements PackService { IPage orderPackageDOIPage = orderPackageMapper.selectByOrderNo(page, queryWrapperX); - if (CollectionUtil.isEmpty(orderPackageDOIPage.getRecords())) { + if (CollUtil.isEmpty(orderPackageDOIPage.getRecords())) { return new PageResult<>(); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateServiceImpl.java index 51d007b3e..5bc9afba9 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateServiceImpl.java @@ -10,8 +10,8 @@ import com.cf.imes.module.manage.dal.mysql.patching.MachineMapper; import com.cf.imes.module.manage.dal.mysql.patching.PatchDetailMapper; import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper; import com.cf.imes.module.manage.util.page.PageHelperUtil; -import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.github.pagehelper.page.PageMethod; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -52,7 +52,7 @@ public class PatchingPlateServiceImpl implements PatchingPlateService{ public PageResult searchPlateDetail(PatchingPlatePageReqVO pageReqVO) { // 查询每个订单对应的板件的详细信息 - PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + PageMethod.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); List plateDetailsRespVOS = orderPlateMapper.selectPlateDetail(pageReqVO); // diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateExcelUtil.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateExcelUtil.java index c1c8a8085..1aef3d134 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateExcelUtil.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateExcelUtil.java @@ -1,15 +1,10 @@ package com.cf.imes.module.manage.service.plate; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.ExcelWriter; -import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.EasyExcelFactory; import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlateImportExcelVO; import lombok.extern.slf4j.Slf4j; -import org.apache.poi.ss.formula.functions.T; import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletResponse; -import java.io.File; import java.io.IOException; import java.util.List; import java.util.Map; @@ -36,7 +31,7 @@ public class PlateExcelUtil { value = "文件大小为 0"; throw new IOException("文件大小为 0"); } else { - EasyExcel.read(file.getInputStream(), PlateImportExcelVO.class, excelListener) + EasyExcelFactory.read(file.getInputStream(), PlateImportExcelVO.class, excelListener) .autoCloseStream(true) // 不要自动关闭,交给 Servlet 自己处理 .headRowNumber(1).sheet(0).doRead(); //获取读取的数据 diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java index 93a192e8f..8d58faf78 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java @@ -1,7 +1,7 @@ package com.cf.imes.module.manage.service.process; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cf.imes.framework.common.enums.OrderStatusEnum; @@ -100,7 +100,7 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { return null; } - if (CollectionUtil.isEmpty(processRespVOS.getRecords())) { + if (CollUtil.isEmpty(processRespVOS.getRecords())) { return new PageResult<>(); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java index 750b68bbc..a7514f783 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java @@ -1,7 +1,7 @@ package com.cf.imes.module.manage.service.query; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cf.imes.framework.common.enums.OrderPackageTypeEnum; @@ -16,16 +16,14 @@ import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRatePageR import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRateReqVO; import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; -import com.cf.imes.module.manage.dal.mysql.pack.OrderPackageMapper; import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper; import com.cf.imes.module.manage.dal.mysql.process.OrdersMapper; -import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper; import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper; import com.cf.imes.module.manage.dal.mysql.query.OrderPartsMapper; import com.cf.imes.module.manage.util.page.PageHelperUtil; -import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.github.pagehelper.page.PageMethod; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -45,13 +43,6 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { @Resource private ProcessStepMapper processStepMapper; - @Resource - private ProcessStepItemMapper processStepItemMapper; - - - @Resource - private OrderPackageMapper orderPackageMapper; - @Resource private OrdersMapper ordersMapper; @@ -108,7 +99,7 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { public PageResult getOrderPlatePage(PlatePageVO pageReqVO) { - PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + PageMethod.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); List orderPlateRespVOS = orderItemMapper.selectPlateList(pageReqVO); PageInfo pageInfo = new PageInfo<>(orderPlateRespVOS); PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); @@ -128,7 +119,7 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { IPage priceRateReqVOS = processStepMapper.selectSalaryList(page,pageReqVO,getUserOrganId()); - if (CollectionUtil.isEmpty(priceRateReqVOS.getRecords())) { + if (CollUtil.isEmpty(priceRateReqVOS.getRecords())) { return new PageResult<>(); } @@ -189,7 +180,7 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { // 查看配件包裹 IPage packageDetailsRespVOS = orderPartsMapper.selectParts(page,reqVO.getPackageId(),getUserOrganId()); - if (CollectionUtil.isEmpty(packageDetailsRespVOS.getRecords())) { + if (CollUtil.isEmpty(packageDetailsRespVOS.getRecords())) { return new PageResult<>(); } @@ -201,7 +192,7 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { // 查看板材包裹 IPage packageDetailsRespVOS = orderPlateMapper.selectPackPlateList(page,reqVO.getPackageId(),getUserOrganId()); - if (CollectionUtil.isEmpty(packageDetailsRespVOS.getRecords())) { + if (CollUtil.isEmpty(packageDetailsRespVOS.getRecords())) { return new PageResult<>(); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/SnowflakeIdWorker3rd.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/SnowflakeIdWorker3rd.java index 83977afa2..e7e0f75e9 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/SnowflakeIdWorker3rd.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/SnowflakeIdWorker3rd.java @@ -40,6 +40,7 @@ public class SnowflakeIdWorker3rd { // ==============================Constructors===================================== public SnowflakeIdWorker3rd() { + // No Args Constructors } // ==============================Test============================================= diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/DictTypeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/DictTypeConstants.java index 2fa200f6e..0d97370cc 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/DictTypeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/DictTypeConstants.java @@ -5,36 +5,27 @@ package com.cf.imes.module.system.enums; * * @author 晨丰科技 */ -public interface DictTypeConstants { +public class DictTypeConstants { - String USER_TYPE = "user_type"; // 用户类型 - String COMMON_STATUS = "common_status"; // 系统状态 + public static final String USER_TYPE = "user_type"; // 用户类型 + public static final String COMMON_STATUS = "common_status"; // 系统状态 // ========== SYSTEM 模块 ========== - String USER_SEX = "system_user_sex"; // 用户性别 + public static final String USER_SEX = "system_user_sex"; // 用户性别 - String OPERATE_TYPE = "system_operate_type"; // 操作类型 + public static final String OPERATE_TYPE = "system_operate_type"; // 操作类型 - String LOGIN_TYPE = "system_login_type"; // 登录日志的类型 - String LOGIN_RESULT = "system_login_result"; // 登录结果 + public static final String LOGIN_TYPE = "system_login_type"; // 登录日志的类型 + public static final String LOGIN_RESULT = "system_login_result"; // 登录结果 - String ERROR_CODE_TYPE = "system_error_code_type"; // 错误码的类型枚举 + public static final String ERROR_CODE_TYPE = "system_error_code_type"; // 错误码的类型枚举 - String SMS_CHANNEL_CODE = "system_sms_channel_code"; // 短信渠道编码 - String SMS_TEMPLATE_TYPE = "system_sms_template_type"; // 短信模板类型 - String SMS_SEND_STATUS = "system_sms_send_status"; // 短信发送状态 - String SMS_RECEIVE_STATUS = "system_sms_receive_status"; // 短信接收状态 + public static final String SMS_CHANNEL_CODE = "system_sms_channel_code"; // 短信渠道编码 + public static final String SMS_TEMPLATE_TYPE = "system_sms_template_type"; // 短信模板类型 + public static final String SMS_SEND_STATUS = "system_sms_send_status"; // 短信发送状态 + public static final String SMS_RECEIVE_STATUS = "system_sms_receive_status"; // 短信接收状态 - String PLATE_TEXTURE_TYPE = "plate_texture_type";// 板材纹路:0有 1无 - - - String PRODUCT_TYPE = "productType";//产品类型 - String SYNTHESIS_TYPE = "synthesisType";//加工组类型 - - - - String PLATE_TEXTURE_TYPE_STATUS = "plateTextureTypeStatus";//板件纹路状态 - String PLATE_TEXTURE_TYPE_STATUS_TYPE = "plateTextureTypeStatusType";//板件纹路状态类型 + public static final String PLATE_TEXTURE_TYPE = "plate_texture_type";// 板材纹路:0有 1无 } diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java index a7065f462..64f150aca 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java @@ -7,317 +7,317 @@ import com.cf.imes.framework.common.exception.ErrorCode; * * system 系统,使用 1-002-000-000 段 */ -public interface ErrorCodeConstants { +public class ErrorCodeConstants { // ========== AUTH 模块 1-002-000-000 ========== - ErrorCode AUTH_LOGIN_BAD_CREDENTIALS = new ErrorCode(1_002_000_000, "登录失败,账号密码不正确"); - ErrorCode AUTH_LOGIN_USER_DISABLED = new ErrorCode(1_002_000_001, "登录失败,账号被禁用"); - ErrorCode AUTH_LOGIN_CAPTCHA_CODE_ERROR = new ErrorCode(1_002_000_004, "验证码不正确,原因:{}"); - ErrorCode AUTH_THIRD_LOGIN_NOT_BIND = new ErrorCode(1_002_000_005, "未绑定账号,需要进行绑定"); - ErrorCode AUTH_TOKEN_EXPIRED = new ErrorCode(1_002_000_006, "Token 已经过期"); - ErrorCode AUTH_MOBILE_NOT_EXISTS = new ErrorCode(1_002_000_007, "手机号不存在"); + public static final ErrorCode AUTH_LOGIN_BAD_CREDENTIALS = new ErrorCode(1_002_000_000, "登录失败,账号密码不正确"); + public static final ErrorCode AUTH_LOGIN_USER_DISABLED = new ErrorCode(1_002_000_001, "登录失败,账号被禁用"); + public static final ErrorCode AUTH_LOGIN_CAPTCHA_CODE_ERROR = new ErrorCode(1_002_000_004, "验证码不正确,原因:{}"); + public static final ErrorCode AUTH_THIRD_LOGIN_NOT_BIND = new ErrorCode(1_002_000_005, "未绑定账号,需要进行绑定"); + public static final ErrorCode AUTH_TOKEN_EXPIRED = new ErrorCode(1_002_000_006, "Token 已经过期"); + public static final ErrorCode AUTH_MOBILE_NOT_EXISTS = new ErrorCode(1_002_000_007, "手机号不存在"); // ========== 菜单模块 1-002-001-000 ========== - ErrorCode MENU_NAME_DUPLICATE = new ErrorCode(1_002_001_000, "已经存在该名字的菜单"); - ErrorCode MENU_PARENT_NOT_EXISTS = new ErrorCode(1_002_001_001, "父菜单不存在"); - ErrorCode MENU_PARENT_ERROR = new ErrorCode(1_002_001_002, "不能设置自己为父菜单"); - ErrorCode MENU_NOT_EXISTS = new ErrorCode(1_002_001_003, "菜单不存在"); - ErrorCode MENU_EXISTS_CHILDREN = new ErrorCode(1_002_001_004, "存在子菜单,无法删除"); - ErrorCode MENU_PARENT_NOT_DIR_OR_MENU = new ErrorCode(1_002_001_005, "父菜单的类型必须是目录或者菜单"); + public static final ErrorCode MENU_NAME_DUPLICATE = new ErrorCode(1_002_001_000, "已经存在该名字的菜单"); + public static final ErrorCode MENU_PARENT_NOT_EXISTS = new ErrorCode(1_002_001_001, "父菜单不存在"); + public static final ErrorCode MENU_PARENT_ERROR = new ErrorCode(1_002_001_002, "不能设置自己为父菜单"); + public static final ErrorCode MENU_NOT_EXISTS = new ErrorCode(1_002_001_003, "菜单不存在"); + public static final ErrorCode MENU_EXISTS_CHILDREN = new ErrorCode(1_002_001_004, "存在子菜单,无法删除"); + public static final ErrorCode MENU_PARENT_NOT_DIR_OR_MENU = new ErrorCode(1_002_001_005, "父菜单的类型必须是目录或者菜单"); // ========== 角色模块 1-002-002-000 ========== - ErrorCode ROLE_NOT_EXISTS = new ErrorCode(1_002_002_000, "角色不存在"); - ErrorCode ROLE_NAME_DUPLICATE = new ErrorCode(1_002_002_001, "已经存在名为【{}】的角色"); - ErrorCode ROLE_CODE_DUPLICATE = new ErrorCode(1_002_002_002, "已经存在编码为【{}】的角色"); - ErrorCode ROLE_CAN_NOT_UPDATE_SYSTEM_TYPE_ROLE = new ErrorCode(1_002_002_003, "不能操作类型为系统内置的角色"); - ErrorCode ROLE_IS_DISABLE = new ErrorCode(1_002_002_004, "名字为【{}】的角色已被禁用"); - ErrorCode ROLE_ADMIN_CODE_ERROR = new ErrorCode(1_002_002_005, "编码【{}】不能使用"); - ErrorCode ROLE_ME_ERROR = new ErrorCode(1_002_002_006, "不可为自身分配角色"); - ErrorCode ROLE_NOT_SUPERADMIN_NO_ORGAN_ID_OPER_ERROR = new ErrorCode(1_002_002_007, "非超管分配权限"); + public static final ErrorCode ROLE_NOT_EXISTS = new ErrorCode(1_002_002_000, "角色不存在"); + public static final ErrorCode ROLE_NAME_DUPLICATE = new ErrorCode(1_002_002_001, "已经存在名为【{}】的角色"); + public static final ErrorCode ROLE_CODE_DUPLICATE = new ErrorCode(1_002_002_002, "已经存在编码为【{}】的角色"); + public static final ErrorCode ROLE_CAN_NOT_UPDATE_SYSTEM_TYPE_ROLE = new ErrorCode(1_002_002_003, "不能操作类型为系统内置的角色"); + public static final ErrorCode ROLE_IS_DISABLE = new ErrorCode(1_002_002_004, "名字为【{}】的角色已被禁用"); + public static final ErrorCode ROLE_ADMIN_CODE_ERROR = new ErrorCode(1_002_002_005, "编码【{}】不能使用"); + public static final ErrorCode ROLE_ME_ERROR = new ErrorCode(1_002_002_006, "不可为自身分配角色"); + public static final ErrorCode ROLE_NOT_SUPERADMIN_NO_ORGAN_ID_OPER_ERROR = new ErrorCode(1_002_002_007, "非超管分配权限"); // ========== 用户模块 1-002-003-000 ========== - ErrorCode USER_USERNAME_EXISTS = new ErrorCode(1_002_003_000, "手机号已经存在"); - ErrorCode USER_MOBILE_EXISTS = new ErrorCode(1_002_003_001, "手机号已经存在"); - ErrorCode USER_EMAIL_EXISTS = new ErrorCode(1_002_003_002, "邮箱已经存在"); - ErrorCode USER_NOT_EXISTS = new ErrorCode(1_002_003_003, "用户不存在"); - ErrorCode USER_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_003_004, "导入用户数据不能为空!"); - ErrorCode USER_PASSWORD_FAILED = new ErrorCode(1_002_003_005, "用户密码校验失败"); - ErrorCode USER_IS_DISABLE = new ErrorCode(1_002_003_006, "名字为【{}】的用户已被禁用"); - ErrorCode USER_COUNT_MAX = new ErrorCode(1_002_003_008, "创建用户失败,原因:超过组织最大组织配额({})!"); - ErrorCode USER_ME_ERROR = new ErrorCode(1_002_003_009, "不允许操作用户自身"); - ErrorCode THE_PASSWORD_LENGTH_MUST_BE_AT_LEAST_8_CHARACTERS = new ErrorCode(1_002_003_010, "密码长度必须至少为8个字符"); - ErrorCode THE_PASSWORD_MUST_CONTAIN_AT_LEAST_ONE_LOWER_LETTER = new ErrorCode(1_002_003_011, "密码必须包含至少一个小写字母"); - ErrorCode THE_PASSWORD_MUST_CONTAIN_AT_LEAST_ONE_NUMBER = new ErrorCode(1_002_003_012, "密码必须包含至少一个数字"); + public static final ErrorCode USER_USERNAME_EXISTS = new ErrorCode(1_002_003_000, "手机号已经存在"); + public static final ErrorCode USER_MOBILE_EXISTS = new ErrorCode(1_002_003_001, "手机号已经存在"); + public static final ErrorCode USER_EMAIL_EXISTS = new ErrorCode(1_002_003_002, "邮箱已经存在"); + public static final ErrorCode USER_NOT_EXISTS = new ErrorCode(1_002_003_003, "用户不存在"); + public static final ErrorCode USER_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_003_004, "导入用户数据不能为空!"); + public static final ErrorCode USER_PASSWORD_FAILED = new ErrorCode(1_002_003_005, "用户密码校验失败"); + public static final ErrorCode USER_IS_DISABLE = new ErrorCode(1_002_003_006, "名字为【{}】的用户已被禁用"); + public static final ErrorCode USER_COUNT_MAX = new ErrorCode(1_002_003_008, "创建用户失败,原因:超过组织最大组织配额({})!"); + public static final ErrorCode USER_ME_ERROR = new ErrorCode(1_002_003_009, "不允许操作用户自身"); + public static final ErrorCode THE_PASSWORD_LENGTH_MUST_BE_AT_LEAST_8_CHARACTERS = new ErrorCode(1_002_003_010, "密码长度必须至少为8个字符"); + public static final ErrorCode THE_PASSWORD_MUST_CONTAIN_AT_LEAST_ONE_LOWER_LETTER = new ErrorCode(1_002_003_011, "密码必须包含至少一个小写字母"); + public static final ErrorCode THE_PASSWORD_MUST_CONTAIN_AT_LEAST_ONE_NUMBER = new ErrorCode(1_002_003_012, "密码必须包含至少一个数字"); - ErrorCode PASSWORDS_CAN_ONLY_CONTAIN_LETTERS_AND_NUMBERS = new ErrorCode(1_002_003_013, "密码只能包含字母和数字"); - ErrorCode INSUFFICIENT_PERMISSIONS = new ErrorCode(1_002_003_014, "当前用户权限不足,无法修改开料状态"); - ErrorCode USERNAME_MULTIPLE_ERROR = new ErrorCode(1_002_003_015,"存在【{}】重复用户,请联系系统管理员"); - ErrorCode USER_OPERATE_SELF_STATUS_ERROR = new ErrorCode(1_002_003_016, "不允许操作用户自身状态"); - ErrorCode THE_PASSWORD_MUST_CONTAIN_AT_LEAST_ONE_UPPER_LETTER = new ErrorCode(1_002_003_017, "密码必须包含至少一个大写字母"); + public static final ErrorCode PASSWORDS_CAN_ONLY_CONTAIN_LETTERS_AND_NUMBERS = new ErrorCode(1_002_003_013, "密码只能包含字母和数字"); + public static final ErrorCode INSUFFICIENT_PERMISSIONS = new ErrorCode(1_002_003_014, "当前用户权限不足,无法修改开料状态"); + public static final ErrorCode USERNAME_MULTIPLE_ERROR = new ErrorCode(1_002_003_015,"存在【{}】重复用户,请联系系统管理员"); + public static final ErrorCode USER_OPERATE_SELF_STATUS_ERROR = new ErrorCode(1_002_003_016, "不允许操作用户自身状态"); + public static final ErrorCode THE_PASSWORD_MUST_CONTAIN_AT_LEAST_ONE_UPPER_LETTER = new ErrorCode(1_002_003_017, "密码必须包含至少一个大写字母"); // ========== 部门模块 1-002-004-000 ========== - ErrorCode DEPT_NAME_DUPLICATE = new ErrorCode(1_002_004_000, "已经存在该名字的部门"); - ErrorCode DEPT_PARENT_NOT_EXITS = new ErrorCode(1_002_004_001,"父级部门不存在"); - ErrorCode DEPT_NOT_FOUND = new ErrorCode(1_002_004_002, "当前部门不存在"); - ErrorCode DEPT_EXITS_CHILDREN = new ErrorCode(1_002_004_003, "存在子部门,无法删除"); - ErrorCode DEPT_PARENT_ERROR = new ErrorCode(1_002_004_004, "不能设置自己为父部门"); - ErrorCode DEPT_EXISTS_USER = new ErrorCode(1_002_004_005, "部门中存在员工,无法删除"); - ErrorCode DEPT_NOT_ENABLE = new ErrorCode(1_002_004_006, "部门({})不处于开启状态,不允许选择"); - ErrorCode DEPT_PARENT_IS_CHILD = new ErrorCode(1_002_004_007, "不能设置自己的子部门为父部门"); + public static final ErrorCode DEPT_NAME_DUPLICATE = new ErrorCode(1_002_004_000, "已经存在该名字的部门"); + public static final ErrorCode DEPT_PARENT_NOT_EXITS = new ErrorCode(1_002_004_001,"父级部门不存在"); + public static final ErrorCode DEPT_NOT_FOUND = new ErrorCode(1_002_004_002, "当前部门不存在"); + public static final ErrorCode DEPT_EXITS_CHILDREN = new ErrorCode(1_002_004_003, "存在子部门,无法删除"); + public static final ErrorCode DEPT_PARENT_ERROR = new ErrorCode(1_002_004_004, "不能设置自己为父部门"); + public static final ErrorCode DEPT_EXISTS_USER = new ErrorCode(1_002_004_005, "部门中存在员工,无法删除"); + public static final ErrorCode DEPT_NOT_ENABLE = new ErrorCode(1_002_004_006, "部门({})不处于开启状态,不允许选择"); + public static final ErrorCode DEPT_PARENT_IS_CHILD = new ErrorCode(1_002_004_007, "不能设置自己的子部门为父部门"); // ========== 岗位模块 1-002-005-000 ========== - ErrorCode POST_NOT_FOUND = new ErrorCode(1_002_005_000, "当前岗位不存在"); - ErrorCode POST_NOT_ENABLE = new ErrorCode(1_002_005_001, "岗位({}) 不处于开启状态,不允许选择"); - ErrorCode POST_NAME_DUPLICATE = new ErrorCode(1_002_005_002, "已经存在该名字的岗位"); - ErrorCode POST_CODE_DUPLICATE = new ErrorCode(1_002_005_003, "已经存在该标识的岗位"); + public static final ErrorCode POST_NOT_FOUND = new ErrorCode(1_002_005_000, "当前岗位不存在"); + public static final ErrorCode POST_NOT_ENABLE = new ErrorCode(1_002_005_001, "岗位({}) 不处于开启状态,不允许选择"); + public static final ErrorCode POST_NAME_DUPLICATE = new ErrorCode(1_002_005_002, "已经存在该名字的岗位"); + public static final ErrorCode POST_CODE_DUPLICATE = new ErrorCode(1_002_005_003, "已经存在该标识的岗位"); // ========== 字典类型 1-002-006-000 ========== - ErrorCode DICT_TYPE_NOT_EXISTS = new ErrorCode(1_002_006_001, "当前字典类型不存在"); - ErrorCode DICT_TYPE_NOT_ENABLE = new ErrorCode(1_002_006_002, "字典类型不处于开启状态,不允许选择"); - ErrorCode DICT_TYPE_NAME_DUPLICATE = new ErrorCode(1_002_006_003, "已经存在该名字的字典类型"); - ErrorCode DICT_TYPE_TYPE_DUPLICATE = new ErrorCode(1_002_006_004, "已经存在该类型的字典类型"); - ErrorCode DICT_TYPE_HAS_CHILDREN = new ErrorCode(1_002_006_005, "无法删除,该字典类型还有字典数据"); + public static final ErrorCode DICT_TYPE_NOT_EXISTS = new ErrorCode(1_002_006_001, "当前字典类型不存在"); + public static final ErrorCode DICT_TYPE_NOT_ENABLE = new ErrorCode(1_002_006_002, "字典类型不处于开启状态,不允许选择"); + public static final ErrorCode DICT_TYPE_NAME_DUPLICATE = new ErrorCode(1_002_006_003, "已经存在该名字的字典类型"); + public static final ErrorCode DICT_TYPE_TYPE_DUPLICATE = new ErrorCode(1_002_006_004, "已经存在该类型的字典类型"); + public static final ErrorCode DICT_TYPE_HAS_CHILDREN = new ErrorCode(1_002_006_005, "无法删除,该字典类型还有字典数据"); // ========== 字典数据 1-002-007-000 ========== - ErrorCode DICT_DATA_NOT_EXISTS = new ErrorCode(1_002_007_001, "当前字典数据不存在"); - ErrorCode DICT_DATA_NOT_ENABLE = new ErrorCode(1_002_007_002, "字典数据({})不处于开启状态,不允许选择"); - ErrorCode DICT_DATA_VALUE_DUPLICATE = new ErrorCode(1_002_007_003, "已经存在该值的字典数据"); + public static final ErrorCode DICT_DATA_NOT_EXISTS = new ErrorCode(1_002_007_001, "当前字典数据不存在"); + public static final ErrorCode DICT_DATA_NOT_ENABLE = new ErrorCode(1_002_007_002, "字典数据({})不处于开启状态,不允许选择"); + public static final ErrorCode DICT_DATA_VALUE_DUPLICATE = new ErrorCode(1_002_007_003, "已经存在该值的字典数据"); // ========== 通知公告 1-002-008-000 ========== - ErrorCode NOTICE_NOT_FOUND = new ErrorCode(1_002_008_001, "当前通知公告不存在"); + public static final ErrorCode NOTICE_NOT_FOUND = new ErrorCode(1_002_008_001, "当前通知公告不存在"); // ========== 短信渠道 1-002-011-000 ========== - ErrorCode SMS_CHANNEL_NOT_EXISTS = new ErrorCode(1_002_011_000, "短信渠道不存在"); - ErrorCode SMS_CHANNEL_DISABLE = new ErrorCode(1_002_011_001, "短信渠道不处于开启状态,不允许选择"); - ErrorCode SMS_CHANNEL_HAS_CHILDREN = new ErrorCode(1_002_011_002, "无法删除,该短信渠道还有短信模板"); + public static final ErrorCode SMS_CHANNEL_NOT_EXISTS = new ErrorCode(1_002_011_000, "短信渠道不存在"); + public static final ErrorCode SMS_CHANNEL_DISABLE = new ErrorCode(1_002_011_001, "短信渠道不处于开启状态,不允许选择"); + public static final ErrorCode SMS_CHANNEL_HAS_CHILDREN = new ErrorCode(1_002_011_002, "无法删除,该短信渠道还有短信模板"); // ========== 短信模板 1-002-012-000 ========== - ErrorCode SMS_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_012_000, "短信模板不存在"); - ErrorCode SMS_TEMPLATE_CODE_DUPLICATE = new ErrorCode(1_002_012_001, "已经存在编码为【{}】的短信模板"); - ErrorCode SMS_TEMPLATE_API_ERROR = new ErrorCode(1_002_012_002, "短信 API 模板调用失败,原因是:{}"); - ErrorCode SMS_TEMPLATE_API_AUDIT_CHECKING = new ErrorCode(1_002_012_003, "短信 API 模版无法使用,原因:审批中"); - ErrorCode SMS_TEMPLATE_API_AUDIT_FAIL = new ErrorCode(1_002_012_004, "短信 API 模版无法使用,原因:审批不通过,{}"); - ErrorCode SMS_TEMPLATE_API_NOT_FOUND = new ErrorCode(1_002_012_005, "短信 API 模版无法使用,原因:模版不存在"); + public static final ErrorCode SMS_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_012_000, "短信模板不存在"); + public static final ErrorCode SMS_TEMPLATE_CODE_DUPLICATE = new ErrorCode(1_002_012_001, "已经存在编码为【{}】的短信模板"); + public static final ErrorCode SMS_TEMPLATE_API_ERROR = new ErrorCode(1_002_012_002, "短信 API 模板调用失败,原因是:{}"); + public static final ErrorCode SMS_TEMPLATE_API_AUDIT_CHECKING = new ErrorCode(1_002_012_003, "短信 API 模版无法使用,原因:审批中"); + public static final ErrorCode SMS_TEMPLATE_API_AUDIT_FAIL = new ErrorCode(1_002_012_004, "短信 API 模版无法使用,原因:审批不通过,{}"); + public static final ErrorCode SMS_TEMPLATE_API_NOT_FOUND = new ErrorCode(1_002_012_005, "短信 API 模版无法使用,原因:模版不存在"); // ========== 短信发送 1-002-013-000 ========== - ErrorCode SMS_SEND_MOBILE_NOT_EXISTS = new ErrorCode(1_002_013_000, "手机号不存在"); - ErrorCode SMS_SEND_MOBILE_TEMPLATE_PARAM_MISS = new ErrorCode(1_002_013_001, "短信模板参数({})缺失"); - ErrorCode SMS_SEND_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_013_002, "短信模板不存在"); + public static final ErrorCode SMS_SEND_MOBILE_NOT_EXISTS = new ErrorCode(1_002_013_000, "手机号不存在"); + public static final ErrorCode SMS_SEND_MOBILE_TEMPLATE_PARAM_MISS = new ErrorCode(1_002_013_001, "短信模板参数({})缺失"); + public static final ErrorCode SMS_SEND_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_013_002, "短信模板不存在"); // ========== 短信验证码 1-002-014-000 ========== - ErrorCode SMS_CODE_NOT_FOUND = new ErrorCode(1_002_014_000, "验证码不存在,请点击获取"); - ErrorCode SMS_CODE_EXPIRED = new ErrorCode(1_002_014_001, "验证码已过期,请重新获取"); - ErrorCode SMS_CODE_USED = new ErrorCode(1_002_014_002, "验证码已使用,请重新获取"); - ErrorCode SMS_CODE_NOT_CORRECT = new ErrorCode(1_002_014_003, "验证码不正确"); - ErrorCode SMS_CODE_EXCEED_SEND_MAXIMUM_QUANTITY_PER_DAY = new ErrorCode(1_002_014_004, "超过每日短信发送数量"); - ErrorCode SMS_CODE_SEND_TOO_FAST = new ErrorCode(1_002_014_005, "短信发送过于频率"); - ErrorCode SMS_CODE_IS_EXISTS = new ErrorCode(1_002_014_006, "手机号已被使用"); - ErrorCode SMS_CODE_IS_UNUSED = new ErrorCode(1_002_014_007, "验证码未被使用"); - ErrorCode SMS_CODE_IS_VALID = new ErrorCode(1_002_014_008, "验证码在有效期内,5分钟内请勿重复发送!"); + public static final ErrorCode SMS_CODE_NOT_FOUND = new ErrorCode(1_002_014_000, "验证码不存在,请点击获取"); + public static final ErrorCode SMS_CODE_EXPIRED = new ErrorCode(1_002_014_001, "验证码已过期,请重新获取"); + public static final ErrorCode SMS_CODE_USED = new ErrorCode(1_002_014_002, "验证码已使用,请重新获取"); + public static final ErrorCode SMS_CODE_NOT_CORRECT = new ErrorCode(1_002_014_003, "验证码不正确"); + public static final ErrorCode SMS_CODE_EXCEED_SEND_MAXIMUM_QUANTITY_PER_DAY = new ErrorCode(1_002_014_004, "超过每日短信发送数量"); + public static final ErrorCode SMS_CODE_SEND_TOO_FAST = new ErrorCode(1_002_014_005, "短信发送过于频率"); + public static final ErrorCode SMS_CODE_IS_EXISTS = new ErrorCode(1_002_014_006, "手机号已被使用"); + public static final ErrorCode SMS_CODE_IS_UNUSED = new ErrorCode(1_002_014_007, "验证码未被使用"); + public static final ErrorCode SMS_CODE_IS_VALID = new ErrorCode(1_002_014_008, "验证码在有效期内,5分钟内请勿重复发送!"); // ========== 组织信息 1-002-015-000 ========== - ErrorCode ORGAN_NOT_EXISTS = new ErrorCode(1_002_015_000, "组织不存在"); - ErrorCode ORGAN_DISABLE = new ErrorCode(1_002_015_001, "名字为【{}】的组织已被禁用"); - ErrorCode ORGAN_EXPIRE = new ErrorCode(1_002_015_002, "名字为【{}】的组织已过期"); - ErrorCode ORGAN_CAN_NOT_UPDATE_SYSTEM = new ErrorCode(1_002_015_003, "系统组织不能进行修改、删除等操作!"); - ErrorCode ORGAN_NAME_DUPLICATE = new ErrorCode(1_002_015_004, "名字为【{}】的组织已存在"); - ErrorCode ORGAN_WEBSITE_DUPLICATE = new ErrorCode(1_002_015_005, "域名为【{}】的组织已存在"); - ErrorCode ORGAN_DATA_CODE_NOT_EXISTS = new ErrorCode(1_002_015_006, "组织未配置数据源标识"); - ErrorCode ORGAN_ALREADY_EXISTS = new ErrorCode(1_002_015_007, "该新增组织已授权机台数量无需重复新增!"); + public static final ErrorCode ORGAN_NOT_EXISTS = new ErrorCode(1_002_015_000, "组织不存在"); + public static final ErrorCode ORGAN_DISABLE = new ErrorCode(1_002_015_001, "名字为【{}】的组织已被禁用"); + public static final ErrorCode ORGAN_EXPIRE = new ErrorCode(1_002_015_002, "名字为【{}】的组织已过期"); + public static final ErrorCode ORGAN_CAN_NOT_UPDATE_SYSTEM = new ErrorCode(1_002_015_003, "系统组织不能进行修改、删除等操作!"); + public static final ErrorCode ORGAN_NAME_DUPLICATE = new ErrorCode(1_002_015_004, "名字为【{}】的组织已存在"); + public static final ErrorCode ORGAN_WEBSITE_DUPLICATE = new ErrorCode(1_002_015_005, "域名为【{}】的组织已存在"); + public static final ErrorCode ORGAN_DATA_CODE_NOT_EXISTS = new ErrorCode(1_002_015_006, "组织未配置数据源标识"); + public static final ErrorCode ORGAN_ALREADY_EXISTS = new ErrorCode(1_002_015_007, "该新增组织已授权机台数量无需重复新增!"); // ========== 组织套餐 1-002-016-000 ========== - ErrorCode TENANT_PACKAGE_NOT_EXISTS = new ErrorCode(1_002_016_000, "组织套餐不存在"); - ErrorCode TENANT_PACKAGE_USED = new ErrorCode(1_002_016_001, "组织正在使用该套餐,请给组织重新设置套餐后再尝试删除"); - ErrorCode TENANT_PACKAGE_DISABLE = new ErrorCode(1_002_016_002, "名字为【{}】的组织套餐已被禁用"); - ErrorCode TENANT_PACKAGE_DEPT_EXIT = new ErrorCode(1_002_016_003, "无法修改内置组织权限套餐"); - ErrorCode TENANT_PACKAGE_DELETED_EXIT = new ErrorCode(1_002_016_004, "无法删除内置组织权限套餐"); - ErrorCode TENANT_PACKAGE_NAME_UNIQE_ERROR = new ErrorCode(1_002_016_005, "套餐名已存在,请编辑套餐名后重试"); + public static final ErrorCode TENANT_PACKAGE_NOT_EXISTS = new ErrorCode(1_002_016_000, "组织套餐不存在"); + public static final ErrorCode TENANT_PACKAGE_USED = new ErrorCode(1_002_016_001, "组织正在使用该套餐,请给组织重新设置套餐后再尝试删除"); + public static final ErrorCode TENANT_PACKAGE_DISABLE = new ErrorCode(1_002_016_002, "名字为【{}】的组织套餐已被禁用"); + public static final ErrorCode TENANT_PACKAGE_DEPT_EXIT = new ErrorCode(1_002_016_003, "无法修改内置组织权限套餐"); + public static final ErrorCode TENANT_PACKAGE_DELETED_EXIT = new ErrorCode(1_002_016_004, "无法删除内置组织权限套餐"); + public static final ErrorCode TENANT_PACKAGE_NAME_UNIQE_ERROR = new ErrorCode(1_002_016_005, "套餐名已存在,请编辑套餐名后重试"); // ========== 错误码模块 1-002-017-000 ========== - ErrorCode ERROR_CODE_NOT_EXISTS = new ErrorCode(1_002_017_000, "错误码不存在"); - ErrorCode ERROR_CODE_DUPLICATE = new ErrorCode(1_002_017_001, "已经存在编码为【{}】的错误码"); + public static final ErrorCode ERROR_CODE_NOT_EXISTS = new ErrorCode(1_002_017_000, "错误码不存在"); + public static final ErrorCode ERROR_CODE_DUPLICATE = new ErrorCode(1_002_017_001, "已经存在编码为【{}】的错误码"); // ========== 社交用户 1-002-018-000 ========== - ErrorCode SOCIAL_USER_AUTH_FAILURE = new ErrorCode(1_002_018_000, "社交授权失败,原因是:{}"); - ErrorCode SOCIAL_USER_NOT_FOUND = new ErrorCode(1_002_018_001, "社交授权失败,找不到对应的用户"); + public static final ErrorCode SOCIAL_USER_AUTH_FAILURE = new ErrorCode(1_002_018_000, "社交授权失败,原因是:{}"); + public static final ErrorCode SOCIAL_USER_NOT_FOUND = new ErrorCode(1_002_018_001, "社交授权失败,找不到对应的用户"); - ErrorCode SOCIAL_CLIENT_WEIXIN_MINI_APP_PHONE_CODE_ERROR = new ErrorCode(1_002_018_200, "获得手机号失败"); - ErrorCode SOCIAL_CLIENT_NOT_EXISTS = new ErrorCode(1_002_018_201, "社交客户端不存在"); - ErrorCode SOCIAL_CLIENT_UNIQUE = new ErrorCode(1_002_018_201, "社交客户端已存在配置"); + public static final ErrorCode SOCIAL_CLIENT_WEIXIN_MINI_APP_PHONE_CODE_ERROR = new ErrorCode(1_002_018_200, "获得手机号失败"); + public static final ErrorCode SOCIAL_CLIENT_NOT_EXISTS = new ErrorCode(1_002_018_201, "社交客户端不存在"); + public static final ErrorCode SOCIAL_CLIENT_UNIQUE = new ErrorCode(1_002_018_201, "社交客户端已存在配置"); // ========== 系统敏感词 1-002-019-000 ========= - ErrorCode SENSITIVE_WORD_NOT_EXISTS = new ErrorCode(1_002_019_000, "系统敏感词在所有标签中都不存在"); - ErrorCode SENSITIVE_WORD_EXISTS = new ErrorCode(1_002_019_001, "系统敏感词已在标签中存在"); + public static final ErrorCode SENSITIVE_WORD_NOT_EXISTS = new ErrorCode(1_002_019_000, "系统敏感词在所有标签中都不存在"); + public static final ErrorCode SENSITIVE_WORD_EXISTS = new ErrorCode(1_002_019_001, "系统敏感词已在标签中存在"); // ========== OAuth2 客户端 1-002-020-000 ========= - ErrorCode OAUTH2_CLIENT_NOT_EXISTS = new ErrorCode(1_002_020_000, "OAuth2 客户端不存在"); - ErrorCode OAUTH2_CLIENT_EXISTS = new ErrorCode(1_002_020_001, "OAuth2 客户端编号已存在"); - ErrorCode OAUTH2_CLIENT_DISABLE = new ErrorCode(1_002_020_002, "OAuth2 客户端已禁用"); - ErrorCode OAUTH2_CLIENT_AUTHORIZED_GRANT_TYPE_NOT_EXISTS = new ErrorCode(1_002_020_003, "不支持该授权类型"); - ErrorCode OAUTH2_CLIENT_SCOPE_OVER = new ErrorCode(1_002_020_004, "授权范围过大"); - ErrorCode OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH = new ErrorCode(1_002_020_005, "无效 redirect_uri: {}"); - ErrorCode OAUTH2_CLIENT_CLIENT_SECRET_ERROR = new ErrorCode(1_002_020_006, "无效 client_secret: {}"); + public static final ErrorCode OAUTH2_CLIENT_NOT_EXISTS = new ErrorCode(1_002_020_000, "OAuth2 客户端不存在"); + public static final ErrorCode OAUTH2_CLIENT_EXISTS = new ErrorCode(1_002_020_001, "OAuth2 客户端编号已存在"); + public static final ErrorCode OAUTH2_CLIENT_DISABLE = new ErrorCode(1_002_020_002, "OAuth2 客户端已禁用"); + public static final ErrorCode OAUTH2_CLIENT_AUTHORIZED_GRANT_TYPE_NOT_EXISTS = new ErrorCode(1_002_020_003, "不支持该授权类型"); + public static final ErrorCode OAUTH2_CLIENT_SCOPE_OVER = new ErrorCode(1_002_020_004, "授权范围过大"); + public static final ErrorCode OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH = new ErrorCode(1_002_020_005, "无效 redirect_uri: {}"); + public static final ErrorCode OAUTH2_CLIENT_CLIENT_SECRET_ERROR = new ErrorCode(1_002_020_006, "无效 client_secret: {}"); // ========== OAuth2 授权 1-002-021-000 ========= - ErrorCode OAUTH2_GRANT_CLIENT_ID_MISMATCH = new ErrorCode(1_002_021_000, "client_id 不匹配"); - ErrorCode OAUTH2_GRANT_REDIRECT_URI_MISMATCH = new ErrorCode(1_002_021_001, "redirect_uri 不匹配"); - ErrorCode OAUTH2_GRANT_STATE_MISMATCH = new ErrorCode(1_002_021_002, "state 不匹配"); - ErrorCode OAUTH2_GRANT_CODE_NOT_EXISTS = new ErrorCode(1_002_021_003, "code 不存在"); + public static final ErrorCode OAUTH2_GRANT_CLIENT_ID_MISMATCH = new ErrorCode(1_002_021_000, "client_id 不匹配"); + public static final ErrorCode OAUTH2_GRANT_REDIRECT_URI_MISMATCH = new ErrorCode(1_002_021_001, "redirect_uri 不匹配"); + public static final ErrorCode OAUTH2_GRANT_STATE_MISMATCH = new ErrorCode(1_002_021_002, "state 不匹配"); + public static final ErrorCode OAUTH2_GRANT_CODE_NOT_EXISTS = new ErrorCode(1_002_021_003, "code 不存在"); // ========== OAuth2 授权 1-002-022-000 ========= - ErrorCode OAUTH2_CODE_NOT_EXISTS = new ErrorCode(1_002_022_000, "code 不存在"); - ErrorCode OAUTH2_CODE_EXPIRE = new ErrorCode(1_002_022_001, "code 已过期"); + public static final ErrorCode OAUTH2_CODE_NOT_EXISTS = new ErrorCode(1_002_022_000, "code 不存在"); + public static final ErrorCode OAUTH2_CODE_EXPIRE = new ErrorCode(1_002_022_001, "code 已过期"); // ========== 邮箱账号 1-002-023-000 ========== - ErrorCode MAIL_ACCOUNT_NOT_EXISTS = new ErrorCode(1_002_023_000, "邮箱账号不存在"); - ErrorCode MAIL_ACCOUNT_RELATE_TEMPLATE_EXISTS = new ErrorCode(1_002_023_001, "无法删除,该邮箱账号还有邮件模板"); + public static final ErrorCode MAIL_ACCOUNT_NOT_EXISTS = new ErrorCode(1_002_023_000, "邮箱账号不存在"); + public static final ErrorCode MAIL_ACCOUNT_RELATE_TEMPLATE_EXISTS = new ErrorCode(1_002_023_001, "无法删除,该邮箱账号还有邮件模板"); // ========== 邮件模版 1-002-024-000 ========== - ErrorCode MAIL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_024_000, "邮件模版不存在"); - ErrorCode MAIL_TEMPLATE_CODE_EXISTS = new ErrorCode(1_002_024_001, "邮件模版 code({}) 已存在"); + public static final ErrorCode MAIL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_024_000, "邮件模版不存在"); + public static final ErrorCode MAIL_TEMPLATE_CODE_EXISTS = new ErrorCode(1_002_024_001, "邮件模版 code({}) 已存在"); // ========== 邮件发送 1-002-025-000 ========== - ErrorCode MAIL_SEND_TEMPLATE_PARAM_MISS = new ErrorCode(1_002_025_000, "邮件模板参数({})缺失"); - ErrorCode MAIL_SEND_MAIL_NOT_EXISTS = new ErrorCode(1_002_025_001, "邮箱不存在"); + public static final ErrorCode MAIL_SEND_TEMPLATE_PARAM_MISS = new ErrorCode(1_002_025_000, "邮件模板参数({})缺失"); + public static final ErrorCode MAIL_SEND_MAIL_NOT_EXISTS = new ErrorCode(1_002_025_001, "邮箱不存在"); // ========== 站内信模版 1-002-026-000 ========== - ErrorCode NOTIFY_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_026_000, "站内信模版不存在"); - ErrorCode NOTIFY_TEMPLATE_CODE_DUPLICATE = new ErrorCode(1_002_026_001, "已经存在编码为【{}】的站内信模板"); + public static final ErrorCode NOTIFY_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_026_000, "站内信模版不存在"); + public static final ErrorCode NOTIFY_TEMPLATE_CODE_DUPLICATE = new ErrorCode(1_002_026_001, "已经存在编码为【{}】的站内信模板"); // ========== 站内信模版 1-002-027-000 ========== // ========== 站内信发送 1-002-028-000 ========== - ErrorCode NOTIFY_SEND_TEMPLATE_PARAM_MISS = new ErrorCode(1_002_028_000, "站内信模板参数({})缺失"); + public static final ErrorCode NOTIFY_SEND_TEMPLATE_PARAM_MISS = new ErrorCode(1_002_028_000, "站内信模板参数({})缺失"); //=========== 工序信息 1-002-027-000 ============ - ErrorCode PROCESS_NOT_EXISTS = new ErrorCode(1_002_027_000, "工序不存在"); - ErrorCode PROCESS_IS_ENABLED = new ErrorCode(1_002_027_001, "工序已在工序组中启用,禁止关闭或删除"); - ErrorCode PROCESS_ID_IS_NULL = new ErrorCode(1_002_027_002, "工序ID填写错误不存在"); - ErrorCode PROCESS_STATUS_DISABLE = new ErrorCode(1_002_027_003, "工序状态以已禁用"); - ErrorCode PROCESS_NAME_EXISTS = new ErrorCode(1_002_027_004, "工序名称已存在"); + public static final ErrorCode PROCESS_NOT_EXISTS = new ErrorCode(1_002_027_000, "工序不存在"); + public static final ErrorCode PROCESS_IS_ENABLED = new ErrorCode(1_002_027_001, "工序已在工序组中启用,禁止关闭或删除"); + public static final ErrorCode PROCESS_ID_IS_NULL = new ErrorCode(1_002_027_002, "工序ID填写错误不存在"); + public static final ErrorCode PROCESS_STATUS_DISABLE = new ErrorCode(1_002_027_003, "工序状态以已禁用"); + public static final ErrorCode PROCESS_NAME_EXISTS = new ErrorCode(1_002_027_004, "工序名称已存在"); // ========== 机台 1-002-029-000 ========== - ErrorCode MACHINE_NOT_EXISTS = new ErrorCode(1_002_029_000, "机台不存在"); - ErrorCode MACHINE_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_029_001, "机台模板不存在"); - ErrorCode DEFAULT_TEMPLATE_COUNT = new ErrorCode(1_002_029_002, "默认模板数量异常"); - ErrorCode DEFAULT_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_029_003, "该类型机台默认模板不存在"); - ErrorCode DEFAULT_TEMPLATE_NOT_DELETED = new ErrorCode(1_002_029_004, "不能删除默认模板"); - ErrorCode NOT_TEMPLATE_AUTH = new ErrorCode(1_002_029_005, "该组织无此机台模板权限"); - ErrorCode NOT_MACHINE_AUTH = new ErrorCode(1_002_029_005, "该组织无此机台权限"); - ErrorCode THE_CURRENT_MACHINE_IS_ALREADY_IN_USE = new ErrorCode(1_002_029_006, "当前机台已使用,禁止删除"); - ErrorCode MACHINE_ERROR = new ErrorCode(1_002_029_007, "当前机台错误,请重新选择机台"); - ErrorCode THE_CURRENT_BRAND_OF_THE_MACHINE_EXISTS = new ErrorCode(1_002_029_008, "当前机台配置的模板中,该品牌已存在,请重新输入品牌名称"); - ErrorCode THE_MODEL_OF_THE_MACHINE_DOES_NOT_EXIST = new ErrorCode(1_002_029_009, "该型号的机台不存在,请进行配置"); - ErrorCode THE_CURRENT_BRAND = new ErrorCode(1_002_029_010, "品牌ID错误,或品牌不存在"); - ErrorCode MACHINE_NUM_ERROR = new ErrorCode(1_002_029_011, "当前组织该类型的机台创建已达到最大值,无法继续创建"); - ErrorCode MACHINE_NAME_ERROR = new ErrorCode(1_002_029_012, "当前机台名称已存在,请重新输入机台名称"); - ErrorCode MACHINETEMPLATE_NAME_ERROR = new ErrorCode(1_002_029_013, "当前机台模板的名称已存在,请重新输入机台模板名称"); - ErrorCode LABELINGMACHINE_RELATED_DATA_ERROR = new ErrorCode(1_002_029_014, "当前机台关联的贴标机数据有误,请在高级配置中重新配置贴标机或选择其他模板"); - ErrorCode DRILLMACHINE_RELATED_DATA_ERROR = new ErrorCode(1_002_029_015, "当前机台关联的钻孔机数据有误,请在钻孔模块中重新配置钻孔机或选择其他模板"); - ErrorCode MACHINE_DATA_ERROR = new ErrorCode(1_002_029_016, "当前组织还未进行机台授权,请联系组织管理员在基础管理里对当前组织进行机台授权,或联系客服进行授权"); - ErrorCode MACHINE_NUM_DATA_ERROR = new ErrorCode(1_002_029_017, "组织授权的机台数量不能超过127台"); + public static final ErrorCode MACHINE_NOT_EXISTS = new ErrorCode(1_002_029_000, "机台不存在"); + public static final ErrorCode MACHINE_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_029_001, "机台模板不存在"); + public static final ErrorCode DEFAULT_TEMPLATE_COUNT = new ErrorCode(1_002_029_002, "默认模板数量异常"); + public static final ErrorCode DEFAULT_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_029_003, "该类型机台默认模板不存在"); + public static final ErrorCode DEFAULT_TEMPLATE_NOT_DELETED = new ErrorCode(1_002_029_004, "不能删除默认模板"); + public static final ErrorCode NOT_TEMPLATE_AUTH = new ErrorCode(1_002_029_005, "该组织无此机台模板权限"); + public static final ErrorCode NOT_MACHINE_AUTH = new ErrorCode(1_002_029_005, "该组织无此机台权限"); + public static final ErrorCode THE_CURRENT_MACHINE_IS_ALREADY_IN_USE = new ErrorCode(1_002_029_006, "当前机台已使用,禁止删除"); + public static final ErrorCode MACHINE_ERROR = new ErrorCode(1_002_029_007, "当前机台错误,请重新选择机台"); + public static final ErrorCode THE_CURRENT_BRAND_OF_THE_MACHINE_EXISTS = new ErrorCode(1_002_029_008, "当前机台配置的模板中,该品牌已存在,请重新输入品牌名称"); + public static final ErrorCode THE_MODEL_OF_THE_MACHINE_DOES_NOT_EXIST = new ErrorCode(1_002_029_009, "该型号的机台不存在,请进行配置"); + public static final ErrorCode THE_CURRENT_BRAND = new ErrorCode(1_002_029_010, "品牌ID错误,或品牌不存在"); + public static final ErrorCode MACHINE_NUM_ERROR = new ErrorCode(1_002_029_011, "当前组织该类型的机台创建已达到最大值,无法继续创建"); + public static final ErrorCode MACHINE_NAME_ERROR = new ErrorCode(1_002_029_012, "当前机台名称已存在,请重新输入机台名称"); + public static final ErrorCode MACHINETEMPLATE_NAME_ERROR = new ErrorCode(1_002_029_013, "当前机台模板的名称已存在,请重新输入机台模板名称"); + public static final ErrorCode LABELINGMACHINE_RELATED_DATA_ERROR = new ErrorCode(1_002_029_014, "当前机台关联的贴标机数据有误,请在高级配置中重新配置贴标机或选择其他模板"); + public static final ErrorCode DRILLMACHINE_RELATED_DATA_ERROR = new ErrorCode(1_002_029_015, "当前机台关联的钻孔机数据有误,请在钻孔模块中重新配置钻孔机或选择其他模板"); + public static final ErrorCode MACHINE_DATA_ERROR = new ErrorCode(1_002_029_016, "当前组织还未进行机台授权,请联系组织管理员在基础管理里对当前组织进行机台授权,或联系客服进行授权"); + public static final ErrorCode MACHINE_NUM_DATA_ERROR = new ErrorCode(1_002_029_017, "组织授权的机台数量不能超过127台"); // ========== 标签模板 1-002-300-000 ========== - ErrorCode LABEL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_300_000, "标签模板不存在"); - ErrorCode LABEL_NOT_EXISTS = new ErrorCode(1_002_300_001, "标签不存在"); - ErrorCode DEFAULT_LABEL_NOT_EXISTS = new ErrorCode(1_002_300_002, "该类型标签默认模板不存在"); - ErrorCode MACHINE_USE_LABEL = new ErrorCode(1_002_300_003, "无法删除已有机台使用标签"); - ErrorCode DEFAULT_NOT_DELETED = new ErrorCode(1_002_300_004, "默认标签模板无法删除"); - ErrorCode LABEL_ERROR = new ErrorCode(1_002_300_005, "当前标签错误,请重新配置标签"); + public static final ErrorCode LABEL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_300_000, "标签模板不存在"); + public static final ErrorCode LABEL_NOT_EXISTS = new ErrorCode(1_002_300_001, "标签不存在"); + public static final ErrorCode DEFAULT_LABEL_NOT_EXISTS = new ErrorCode(1_002_300_002, "该类型标签默认模板不存在"); + public static final ErrorCode MACHINE_USE_LABEL = new ErrorCode(1_002_300_003, "无法删除已有机台使用标签"); + public static final ErrorCode DEFAULT_NOT_DELETED = new ErrorCode(1_002_300_004, "默认标签模板无法删除"); + public static final ErrorCode LABEL_ERROR = new ErrorCode(1_002_300_005, "当前标签错误,请重新配置标签"); // ========== 系统数据源 1_002_301_000 ========== - ErrorCode DATA_SOURCE_NOT_EXISTS = new ErrorCode(1_002_301_000, "系统数据源不存在"); + public static final ErrorCode DATA_SOURCE_NOT_EXISTS = new ErrorCode(1_002_301_000, "系统数据源不存在"); //=========== 工序组信息 1-002-032-000 ============ - ErrorCode PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_032_001, "工序组不存在"); - ErrorCode PROCESS_GROUP_USED = new ErrorCode(1_002_032_002, "工序组已使用,禁止删除 "); - ErrorCode PROCESS_GROUP_NAME_EXISTS = new ErrorCode(1_002_032_003, "工序名称已存在"); - ErrorCode PROCESS_GROUP_CUTTING_ERROR = new ErrorCode(1_002_032_004, "开料工序类型已经存在,禁止重复"); - ErrorCode PROCESS_GROUP_PACKING_ERROR = new ErrorCode(1_002_032_005, "打包工序类型已经存在,禁止重复"); + public static final ErrorCode PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_032_001, "工序组不存在"); + public static final ErrorCode PROCESS_GROUP_USED = new ErrorCode(1_002_032_002, "工序组已使用,禁止删除 "); + public static final ErrorCode PROCESS_GROUP_NAME_EXISTS = new ErrorCode(1_002_032_003, "工序名称已存在"); + public static final ErrorCode PROCESS_GROUP_CUTTING_ERROR = new ErrorCode(1_002_032_004, "开料工序类型已经存在,禁止重复"); + public static final ErrorCode PROCESS_GROUP_PACKING_ERROR = new ErrorCode(1_002_032_005, "打包工序类型已经存在,禁止重复"); //=========== 板材信息 1-002-033-000 ============ - ErrorCode PLATE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_033_001, "导入板材数据不能为空!"); - ErrorCode PLATE_EXISTS = new ErrorCode(1_002_033_002, "板材存在"); - ErrorCode THE_CURRENT_BOARD_IS_NOT_SELECTED = new ErrorCode(1_002_033_003, "当前板材没有选择房间和柜体,请选择"); - ErrorCode THE_BOARD_HAS_BEEN_CUT_INTO_PIECES = new ErrorCode(1_002_033_004, "当前排单已有板材开料,禁止修改"); - ErrorCode REMAIN_PLATE_NOT_EXISTS = new ErrorCode(1_002_033_005, "板材不存在"); - ErrorCode RAW_GOODS_NOT_EXISTS = new ErrorCode(1_002_033_006, "设计板材不存在"); - ErrorCode RAW_GOODS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_033_007, "生产板材导入数据不可以为空"); - ErrorCode PLATENO_ERROR = new ErrorCode(1_002_033_008, "当前板编号无对应包裹信息"); - ErrorCode PLATE_GOODS_ID_NOT_SAME = new ErrorCode(1_002_033_009, "板材商品编号存在,请重新命名商品编号"); + public static final ErrorCode PLATE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_033_001, "导入板材数据不能为空!"); + public static final ErrorCode PLATE_EXISTS = new ErrorCode(1_002_033_002, "板材存在"); + public static final ErrorCode THE_CURRENT_BOARD_IS_NOT_SELECTED = new ErrorCode(1_002_033_003, "当前板材没有选择房间和柜体,请选择"); + public static final ErrorCode THE_BOARD_HAS_BEEN_CUT_INTO_PIECES = new ErrorCode(1_002_033_004, "当前排单已有板材开料,禁止修改"); + public static final ErrorCode REMAIN_PLATE_NOT_EXISTS = new ErrorCode(1_002_033_005, "板材不存在"); + public static final ErrorCode RAW_GOODS_NOT_EXISTS = new ErrorCode(1_002_033_006, "设计板材不存在"); + public static final ErrorCode RAW_GOODS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_033_007, "生产板材导入数据不可以为空"); + public static final ErrorCode PLATENO_ERROR = new ErrorCode(1_002_033_008, "当前板编号无对应包裹信息"); + public static final ErrorCode PLATE_GOODS_ID_NOT_SAME = new ErrorCode(1_002_033_009, "板材商品编号存在,请重新命名商品编号"); //=========== 工序信息 1-002-034-000 ============ - ErrorCode PROCESS_USER_NOT_EXISTS = new ErrorCode(1_002_034_001, "工序用户不存在"); - ErrorCode PROCESS_USER_EXISTS = new ErrorCode(1_002_034_002, "工序用户存在"); - ErrorCode UNPROCESSED_BEFORE_PROCESSING = new ErrorCode(1_002_034_003, "未加工状态方可进行加工"); + public static final ErrorCode PROCESS_USER_NOT_EXISTS = new ErrorCode(1_002_034_001, "工序用户不存在"); + public static final ErrorCode PROCESS_USER_EXISTS = new ErrorCode(1_002_034_002, "工序用户存在"); + public static final ErrorCode UNPROCESSED_BEFORE_PROCESSING = new ErrorCode(1_002_034_003, "未加工状态方可进行加工"); // ========== 配件信息 1-002-035-000 ========== - ErrorCode THE_ACCESSORY_NAME_CANNOT_BE_DUPLICATED = new ErrorCode(1_002_035_001, "配件名称不能重复"); - ErrorCode ORDER_PARTS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_035_002, "生产配件导入数据不可以为空"); + public static final ErrorCode THE_ACCESSORY_NAME_CANNOT_BE_DUPLICATED = new ErrorCode(1_002_035_001, "配件名称不能重复"); + public static final ErrorCode ORDER_PARTS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_035_002, "生产配件导入数据不可以为空"); //=========== 柜体信息 1-002-036-000 ============ - ErrorCode ORDER_BODY_NOT_EXISTS = new ErrorCode(1_002_036_001, "柜体信息不存在"); + public static final ErrorCode ORDER_BODY_NOT_EXISTS = new ErrorCode(1_002_036_001, "柜体信息不存在"); //=========== 加工组信息 1-002-037-000 ============ - ErrorCode ORDER_GROUP_NOT_EXISTS = new ErrorCode(1_002_037_001, "加工组信息不存在"); + public static final ErrorCode ORDER_GROUP_NOT_EXISTS = new ErrorCode(1_002_037_001, "加工组信息不存在"); //=========== 包裹信息 1-002-040-000 ============ - ErrorCode THE_CURRENT_PACKAGE_HAS_AN_UNSEALED_PACKAGE = new ErrorCode(1_002_040_001, "当前包裹还有未封包包裹"); - ErrorCode THE_CURRENT_PACKAGE_TYPE_IS_INCORRECT = new ErrorCode(1_002_040_002, "当前包裹类型错误"); - ErrorCode FAILED_TO_MODIFY_THE_STATUS_OF_THE_CURRENT_PRODUCTION_ORDER = new ErrorCode(1_002_040_003, "修改当前生产单的工序状态和生产单的状态失败"); - ErrorCode NO_OPTIMIZATION_INFORMATION_AVAILABLE = new ErrorCode(1_002_040_004, "当前订单无优化信息"); - ErrorCode NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE = new ErrorCode(1_002_040_005, "已经是{}一条了"); + public static final ErrorCode THE_CURRENT_PACKAGE_HAS_AN_UNSEALED_PACKAGE = new ErrorCode(1_002_040_001, "当前包裹还有未封包包裹"); + public static final ErrorCode THE_CURRENT_PACKAGE_TYPE_IS_INCORRECT = new ErrorCode(1_002_040_002, "当前包裹类型错误"); + public static final ErrorCode FAILED_TO_MODIFY_THE_STATUS_OF_THE_CURRENT_PRODUCTION_ORDER = new ErrorCode(1_002_040_003, "修改当前生产单的工序状态和生产单的状态失败"); + public static final ErrorCode NO_OPTIMIZATION_INFORMATION_AVAILABLE = new ErrorCode(1_002_040_004, "当前订单无优化信息"); + public static final ErrorCode NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE = new ErrorCode(1_002_040_005, "已经是{}一条了"); //=========== 断言提示信息 1-002-041-000 ============ - ErrorCode ORDER_DATE_ERROR = new ErrorCode(1_002_041_001, "生产单信息不存在,请重新进入或切换生产单"); - ErrorCode ORDER_PLATE_ERROR = new ErrorCode(1_002_041_002, "生产单对应的板材数据有异常,请查看板材信息或联系客服"); - ErrorCode INSERT_PLATE_DATE_ERROR = new ErrorCode(1_002_041_003, "新增排单的板材数据有误,请重新新增"); - ErrorCode ORDER_PLAN_DATE_ERROR = new ErrorCode(1_002_041_004, "排单信息不存在,请重新进入或切换排单"); - ErrorCode ORDER_PLAN_OPTIMIZE_ERROR = new ErrorCode(1_002_041_005, "排单的优化数据异常,请将该排单重新优化"); - ErrorCode ORDER_PLATE_MODEL_DATE_ERROR = new ErrorCode(1_002_041_006, "生产单对应的板材造型数据为空,请检查板材信息或者联系客服"); - ErrorCode ORDER_PLAN_PLATE_ERROR = new ErrorCode(1_002_041_007, "当前排单对应的板材数据有异常,请查看板材信息或联系客服"); - ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_002_041_008, "当前排单对应的生产单数据有异常,请查看生产单信息或联系客服"); - ErrorCode ORDER_PLAN_PLATE_MODEL_DATE_ERROR = new ErrorCode(1_002_041_009, "当前排单对应的板材造型数据为空,请检查板材信息或者联系客服"); - ErrorCode ORDER_GOODS_DATA_ERROR = new ErrorCode(1_002_041_010, "当前大板数据异常,请检查大板信息或者联系客服"); - ErrorCode ORDER_PACK_DATA_ERROR = new ErrorCode(1_002_041_011, "当前包裹数据为空,请重新查看包裹数据或联系客服"); - ErrorCode ORDER_BODY_DATA_ERROR = new ErrorCode(1_002_041_012, "当前柜体对应的板材数据为空,无法删除"); - ErrorCode ORDER_PLAN_NO_OPTIMIZE_ERROR = new ErrorCode(1_002_041_013, "当前排单还未保存优化结果,无法进行开料"); - ErrorCode ORDER_PLAN_NO_OPTIMIZE_UPDATE_ERROR = new ErrorCode(1_002_041_014, "当前排单还未保存优化结果,无法对开料结果进行修改"); - ErrorCode ORDER_NO_DATA_ERROR = new ErrorCode(1_002_041_001, "生产单信息错误,请重新进行拆包"); + public static final ErrorCode ORDER_DATE_ERROR = new ErrorCode(1_002_041_001, "生产单信息不存在,请重新进入或切换生产单"); + public static final ErrorCode ORDER_PLATE_ERROR = new ErrorCode(1_002_041_002, "生产单对应的板材数据有异常,请查看板材信息或联系客服"); + public static final ErrorCode INSERT_PLATE_DATE_ERROR = new ErrorCode(1_002_041_003, "新增排单的板材数据有误,请重新新增"); + public static final ErrorCode ORDER_PLAN_DATE_ERROR = new ErrorCode(1_002_041_004, "排单信息不存在,请重新进入或切换排单"); + public static final ErrorCode ORDER_PLAN_OPTIMIZE_ERROR = new ErrorCode(1_002_041_005, "排单的优化数据异常,请将该排单重新优化"); + public static final ErrorCode ORDER_PLATE_MODEL_DATE_ERROR = new ErrorCode(1_002_041_006, "生产单对应的板材造型数据为空,请检查板材信息或者联系客服"); + public static final ErrorCode ORDER_PLAN_PLATE_ERROR = new ErrorCode(1_002_041_007, "当前排单对应的板材数据有异常,请查看板材信息或联系客服"); + public static final ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_002_041_008, "当前排单对应的生产单数据有异常,请查看生产单信息或联系客服"); + public static final ErrorCode ORDER_PLAN_PLATE_MODEL_DATE_ERROR = new ErrorCode(1_002_041_009, "当前排单对应的板材造型数据为空,请检查板材信息或者联系客服"); + public static final ErrorCode ORDER_GOODS_DATA_ERROR = new ErrorCode(1_002_041_010, "当前大板数据异常,请检查大板信息或者联系客服"); + public static final ErrorCode ORDER_PACK_DATA_ERROR = new ErrorCode(1_002_041_011, "当前包裹数据为空,请重新查看包裹数据或联系客服"); + public static final ErrorCode ORDER_BODY_DATA_ERROR = new ErrorCode(1_002_041_012, "当前柜体对应的板材数据为空,无法删除"); + public static final ErrorCode ORDER_PLAN_NO_OPTIMIZE_ERROR = new ErrorCode(1_002_041_013, "当前排单还未保存优化结果,无法进行开料"); + public static final ErrorCode ORDER_PLAN_NO_OPTIMIZE_UPDATE_ERROR = new ErrorCode(1_002_041_014, "当前排单还未保存优化结果,无法对开料结果进行修改"); + public static final ErrorCode ORDER_NO_DATA_ERROR = new ErrorCode(1_002_041_001, "生产单信息错误,请重新进行拆包"); //=========== 应用信息 1-002-037-000 ============ - ErrorCode ERR = new ErrorCode(1_002_038_001, "未知错误"); - ErrorCode DATA_ERR = new ErrorCode(1_002_038_002, "数据错误,需要清除数据重新导入"); - ErrorCode REMAIN_PLATE_STATUS_USED = new ErrorCode(1_002_038_003, "余料板正在使用中,禁止修改"); - ErrorCode REMAIN_PLATE_STATUS_NO_USED = new ErrorCode(1_002_038_004, "余料板未使用"); - ErrorCode REMAIN_PLATE_USR_TYPE = new ErrorCode(1_002_038_005, "余料板使用类型为不可核销类型"); - ErrorCode REMAIN_PLATE_ID_NOT_EXISTS = new ErrorCode(1_002_038_006, "未选中余料板,请选择余料板"); - ErrorCode APPLICATION_NOT_EXISTS = new ErrorCode(1_002_038_007, "应用信息不存在"); - ErrorCode APPLICATION_LOGIN_USER_DISABLED = new ErrorCode(1_002_038_008, "应用登陆失败"); + public static final ErrorCode ERR = new ErrorCode(1_002_038_001, "未知错误"); + public static final ErrorCode DATA_ERR = new ErrorCode(1_002_038_002, "数据错误,需要清除数据重新导入"); + public static final ErrorCode REMAIN_PLATE_STATUS_USED = new ErrorCode(1_002_038_003, "余料板正在使用中,禁止修改"); + public static final ErrorCode REMAIN_PLATE_STATUS_NO_USED = new ErrorCode(1_002_038_004, "余料板未使用"); + public static final ErrorCode REMAIN_PLATE_USR_TYPE = new ErrorCode(1_002_038_005, "余料板使用类型为不可核销类型"); + public static final ErrorCode REMAIN_PLATE_ID_NOT_EXISTS = new ErrorCode(1_002_038_006, "未选中余料板,请选择余料板"); + public static final ErrorCode APPLICATION_NOT_EXISTS = new ErrorCode(1_002_038_007, "应用信息不存在"); + public static final ErrorCode APPLICATION_LOGIN_USER_DISABLED = new ErrorCode(1_002_038_008, "应用登陆失败"); //=========== 用户的系统配置 1-002-039-000 ============ - ErrorCode CURRENTLY_NO_CONFIGURATION_AVAILABLE = new ErrorCode(1_002_039_001, "当前没有{}配置信息,请前往设置配置"); + public static final ErrorCode CURRENTLY_NO_CONFIGURATION_AVAILABLE = new ErrorCode(1_002_039_001, "当前没有{}配置信息,请前往设置配置"); } diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/oauth2/OAuth2ClientConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/oauth2/OAuth2ClientConstants.java index fd42d3c7d..f6bfcade5 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/oauth2/OAuth2ClientConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/oauth2/OAuth2ClientConstants.java @@ -5,8 +5,8 @@ package com.cf.imes.module.system.enums.oauth2; * * @author 晨丰科技 */ -public interface OAuth2ClientConstants { +public class OAuth2ClientConstants { - String CLIENT_ID_DEFAULT = "default"; + public static final String CLIENT_ID_DEFAULT = "default"; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/application/ApplicationApiImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/application/ApplicationApiImpl.java index 454f206ce..857a8a853 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/application/ApplicationApiImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/application/ApplicationApiImpl.java @@ -29,7 +29,7 @@ public class ApplicationApiImpl implements ApplicationApi{ throw exception(APPLICATION_NOT_EXISTS); } // 数据转json - JSONObject jsonObject = (JSONObject) JSONObject.toJSON(applicationDO); + JSONObject jsonObject = (JSONObject) JSON.toJSON(applicationDO); System.out.println(" jsonObject " + jsonObject); return jsonObject; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/captcha/CaptchaController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/captcha/CaptchaController.java index 2c07e1806..235bd99ef 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/captcha/CaptchaController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/captcha/CaptchaController.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.controller.admin.captcha; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.util.servlet.ServletUtils; import com.cf.imes.framework.operatelog.core.annotations.OperateLog; import com.xingyuv.captcha.model.common.ResponseModel; @@ -47,7 +47,7 @@ public class CaptchaController { public static String getRemoteId(HttpServletRequest request) { String ip = ServletUtils.getClientIP(request); String ua = request.getHeader("user-agent"); - if (StrUtil.isNotBlank(ip)) { + if (CharSequenceUtil.isNotBlank(ip)) { return ip + ua; } return request.getRemoteAddr() + ua; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/oauth2/OAuth2OpenController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/oauth2/OAuth2OpenController.java index 1e5a9979c..fed2192e9 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/oauth2/OAuth2OpenController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/oauth2/OAuth2OpenController.java @@ -1,9 +1,9 @@ package com.cf.imes.module.system.controller.admin.oauth2; import cn.hutool.core.lang.Assert; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.common.enums.UserTypeEnum; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.util.http.HttpUtils; @@ -71,6 +71,8 @@ public class OAuth2OpenController { @Resource private OAuth2TokenService oauth2TokenService; + private static final String TOKEN_NOTNULL_NOTIFICATION = "访问令牌不能为空"; + /** * 对应 Spring Security OAuth 的 TokenEndpoint 类的 postAccessToken 方法 * @@ -109,7 +111,7 @@ public class OAuth2OpenController { // 1.1 校验授权类型 OAuth2GrantTypeEnum grantTypeEnum = OAuth2GrantTypeEnum.getByGranType(grantType); if (grantTypeEnum == null) { - throw exception0(BAD_REQUEST.getCode(), StrUtil.format("未知授权类型({})", grantType)); + throw exception0(BAD_REQUEST.getCode(), CharSequenceUtil.format("未知授权类型({})", grantType)); } if (grantTypeEnum == OAuth2GrantTypeEnum.IMPLICIT) { throw exception0(BAD_REQUEST.getCode(), "Token 接口不支持 implicit 授权模式"); @@ -138,7 +140,7 @@ public class OAuth2OpenController { default: throw new IllegalArgumentException("未知授权类型:" + grantType); } - Assert.notNull(accessTokenDO, "访问令牌不能为空"); // 防御性检查 + Assert.notNull(accessTokenDO, TOKEN_NOTNULL_NOTIFICATION); // 防御性检查 return success(OAuth2OpenConvert.INSTANCE.convert(accessTokenDO)); } @@ -175,7 +177,7 @@ public class OAuth2OpenController { // 校验令牌 OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.checkAccessToken(token); - Assert.notNull(accessTokenDO, "访问令牌不能为空"); // 防御性检查 + Assert.notNull(accessTokenDO, TOKEN_NOTNULL_NOTIFICATION); // 防御性检查 return success(OAuth2OpenConvert.INSTANCE.convert2(accessTokenDO)); } @@ -258,10 +260,10 @@ public class OAuth2OpenController { } private static OAuth2GrantTypeEnum getGrantTypeEnum(String responseType) { - if (StrUtil.equals(responseType, "code")) { + if (CharSequenceUtil.equals(responseType, "code")) { return OAuth2GrantTypeEnum.AUTHORIZATION_CODE; } - if (StrUtil.equalsAny(responseType, "token")) { + if (CharSequenceUtil.equalsAny(responseType, "token")) { return OAuth2GrantTypeEnum.IMPLICIT; } throw exception0(BAD_REQUEST.getCode(), "response_type 参数值只允许 code 和 token"); @@ -271,7 +273,7 @@ public class OAuth2OpenController { List scopes, String redirectUri, String state) { // 1. 创建 access token 访问令牌 OAuth2AccessTokenDO accessTokenDO = oauth2GrantService.grantImplicit(userId, getUserType(), client.getClientId(), scopes); - Assert.notNull(accessTokenDO, "访问令牌不能为空"); // 防御性检查 + Assert.notNull(accessTokenDO, TOKEN_NOTNULL_NOTIFICATION); // 防御性检查 // 2. 拼接重定向的 URL // noinspection unchecked return OAuth2Utils.buildImplicitRedirectUri(redirectUri, accessTokenDO.getAccessToken(), state, accessTokenDO.getExpiresTime(), diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/oauth2/vo/client/OAuth2ClientSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/oauth2/vo/client/OAuth2ClientSaveReqVO.java index 85fcf6b96..e83c07f97 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/oauth2/vo/client/OAuth2ClientSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/oauth2/vo/client/OAuth2ClientSaveReqVO.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.controller.admin.oauth2.vo.client; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.util.json.JsonUtils; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -75,7 +75,7 @@ public class OAuth2ClientSaveReqVO { @AssertTrue(message = "附加信息必须是 JSON 格式") public boolean isAdditionalInformationJson() { - return StrUtil.isEmpty(additionalInformation) || JsonUtils.isJson(additionalInformation); + return CharSequenceUtil.isEmpty(additionalInformation) || JsonUtils.isJson(additionalInformation); } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java index 47a8e5a79..3ae547d00 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java @@ -1,7 +1,6 @@ package com.cf.imes.module.system.controller.admin.organ; -import cn.hutool.core.collection.CollectionUtil; -import com.cf.imes.framework.common.enums.CommonStatusEnum; +import cn.hutool.core.collection.CollUtil; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.pojo.PageParam; import com.cf.imes.framework.common.pojo.PageResult; @@ -107,7 +106,7 @@ public class OrganController { @PreAuthorize("@ss.hasPermission('organizationLIst:query')") public CommonResult> getOrganPage(@Valid OrganPageReqVO pageVO) { PageResult pageResult = organService.getOrganPage(pageVO); - if(CollectionUtil.isEmpty(pageResult.getList())) { + if(CollUtil.isEmpty(pageResult.getList())) { return success(new PageResult<>()); } PageResult bean = BeanUtils.toBean(pageResult, OrganRespVO.class); @@ -132,7 +131,7 @@ public class OrganController { HttpServletResponse response) throws IOException { exportReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = organService.getOrganPage(exportReqVO).getList(); - if(CollectionUtil.isEmpty(list)) { + if(CollUtil.isEmpty(list)) { ExcelUtils.write(response, "组织.xls", "数据", OrganExportRespVO.class, new ArrayList<>()); return; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/socail/vo/client/SocialClientSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/socail/vo/client/SocialClientSaveReqVO.java index d797b350b..6a7822fc4 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/socail/vo/client/SocialClientSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/socail/vo/client/SocialClientSaveReqVO.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.controller.admin.socail.vo.client; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.enums.CommonStatusEnum; import com.cf.imes.framework.common.enums.UserTypeEnum; import com.cf.imes.framework.common.validation.InEnum; @@ -55,7 +55,7 @@ public class SocialClientSaveReqVO { public boolean isAgentIdValid() { // 如果是企业微信,必须填写 agentId 属性 return !Objects.equals(socialType, SocialTypeEnum.WECHAT_ENTERPRISE.getType()) - || !StrUtil.isEmpty(agentId); + || !CharSequenceUtil.isEmpty(agentId); } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/mail/MailAccountConvert.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/mail/MailAccountConvert.java index 8d4163043..4682fcf1a 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/mail/MailAccountConvert.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/mail/MailAccountConvert.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.convert.mail; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.extra.mail.MailAccount; import com.cf.imes.module.system.dal.dataobject.mail.MailAccountDO; import org.mapstruct.Mapper; @@ -12,7 +12,7 @@ public interface MailAccountConvert { MailAccountConvert INSTANCE = Mappers.getMapper(MailAccountConvert.class); default MailAccount convert(MailAccountDO account, String nickname) { - String from = StrUtil.isNotEmpty(nickname) ? nickname + " <" + account.getMail() + ">" : account.getMail(); + String from = CharSequenceUtil.isNotEmpty(nickname) ? nickname + " <" + account.getMail() + ">" : account.getMail(); return new MailAccount().setFrom(from).setAuth(true) .setUser(account.getUsername()).setPass(account.getPassword()) .setHost(account.getHost()).setPort(account.getPort()).setSslEnable(account.getSslEnable()); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java index f6d366761..6049291f0 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.dal.mysql.organ; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; @@ -31,10 +31,10 @@ public interface OrganMapper extends BaseMapperX { .likeIfPresent(OrganizationDO::getContactMobile, reqVO.getContactMobile()) .eqIfPresent(OrganizationDO::getStatus, reqVO.getStatus()) .betweenIfPresent(OrganizationDO::getCreateTime, reqVO.getCreateTime()) - .and(StrUtil.isNotBlank(reqVO.getName()), wrapper ->{ + .and(CharSequenceUtil.isNotBlank(reqVO.getName()), wrapper ->{ wrapper.or(Boolean.TRUE).like(OrganizationDO::getName, reqVO.getName()); - wrapper.or(StrUtil.isNotBlank(reqVO.getPyAll())).like(OrganizationDO::getPinyinFull, reqVO.getPyAll()); - wrapper.or(StrUtil.isNotBlank(reqVO.getPyFirstChar())).like(OrganizationDO::getPinyinInitial, reqVO.getPyFirstChar()); + wrapper.or(CharSequenceUtil.isNotBlank(reqVO.getPyAll())).like(OrganizationDO::getPinyinFull, reqVO.getPyAll()); + wrapper.or(CharSequenceUtil.isNotBlank(reqVO.getPyFirstChar())).like(OrganizationDO::getPinyinInitial, reqVO.getPyFirstChar()); }) /*.likeIfPresent(OrganizationDO::getName, reqVO.getName()) .or(StrUtil.isNotBlank(reqVO.getName())) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessGroupMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessGroupMapper.java index ef6555ced..6d4ed5579 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessGroupMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessGroupMapper.java @@ -37,11 +37,17 @@ public interface ProcessGroupMapper extends BaseMapperX { switch (reqVO.getField()) { case "name" -> queryWrapper.orderByAsc(ProcessGroupDO::getName); case "sort" -> queryWrapper.orderByAsc(ProcessGroupDO::getSort); + default -> { + // default 不排序 + } } }else if (reqVO.getOrder().equals("descend")) { switch (reqVO.getField()) { case "name" -> queryWrapper.orderByDesc(ProcessGroupDO::getName); case "sort" -> queryWrapper.orderByDesc(ProcessGroupDO::getSort); + default -> { + // default 不排序 + } } } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java index bfee9b928..90e3b2c7b 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java @@ -1,7 +1,7 @@ package com.cf.imes.module.system.dal.mysql.user; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.enums.CommonStatusEnum; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.pojo.PageResult; @@ -49,7 +49,7 @@ public interface AdminUserMapper extends BaseMapperX { AdminUserDO adminUserDO = null; List adminUserDOS = selectList(new LambdaQueryWrapperX() .eq(AdminUserDO::getUsername, userName)); - if (CollectionUtil.isNotEmpty(adminUserDOS)) { + if (CollUtil.isNotEmpty(adminUserDOS)) { if (adminUserDOS.size() > 1) { throw ServiceExceptionUtil.exception(USERNAME_MULTIPLE_ERROR, userName); } @@ -82,14 +82,14 @@ public interface AdminUserMapper extends BaseMapperX { .eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus()) .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime()) .inIfPresent(AdminUserDO::getDeptId, deptIds) - .and(StrUtil.isNotBlank(reqVO.getNickname()), wrapper -> { - if (StrUtil.isNotBlank(reqVO.getPyAll())) { + .and(CharSequenceUtil.isNotBlank(reqVO.getNickname()), wrapper -> { + if (CharSequenceUtil.isNotBlank(reqVO.getPyAll())) { wrapper.or(Boolean.TRUE).like(AdminUserDO::getPinyinFull, reqVO.getPyAll()) ; } - if (StrUtil.isNotBlank(reqVO.getPyFirstChar())) { + if (CharSequenceUtil.isNotBlank(reqVO.getPyFirstChar())) { wrapper.or(Boolean.TRUE).like(AdminUserDO::getPinyinInitial, reqVO.getPyFirstChar()) ; } - if(StrUtil.isNotBlank(reqVO.getNickname())) { + if(CharSequenceUtil.isNotBlank(reqVO.getNickname())) { wrapper.or(Boolean.TRUE).like(AdminUserDO::getNickname, reqVO.getNickname()) ; } }) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/RedisKeyConstants.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/RedisKeyConstants.java index fb6ff8302..10a401062 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/RedisKeyConstants.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/RedisKeyConstants.java @@ -7,7 +7,7 @@ import com.cf.imes.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; * * @author 晨丰科技 */ -public interface RedisKeyConstants { +public class RedisKeyConstants { /** * 指定部门的所有子部门编号数组的缓存 @@ -15,7 +15,7 @@ public interface RedisKeyConstants { * KEY 格式:dept_children_ids:{id} * VALUE 数据类型:String 子部门编号集合 */ - String DEPT_CHILDREN_ID_LIST = "dept_children_ids"; + public static final String DEPT_CHILDREN_ID_LIST = "dept_children_ids"; /** * 角色的缓存 @@ -23,7 +23,7 @@ public interface RedisKeyConstants { * KEY 格式:role:{id} * VALUE 数据类型:String 角色信息 */ - String ROLE = "role"; + public static final String ROLE = "role"; /** * 用户拥有的角色编号的缓存 @@ -31,7 +31,7 @@ public interface RedisKeyConstants { * KEY 格式:user_role_ids:{userId} * VALUE 数据类型:String 角色编号集合 */ - String USER_ROLE_ID_LIST = "user_role_ids"; + public static final String USER_ROLE_ID_LIST = "user_role_ids"; /** * 拥有指定菜单的角色编号的缓存 @@ -39,7 +39,7 @@ public interface RedisKeyConstants { * KEY 格式:user_role_ids:{menuId} * VALUE 数据类型:String 角色编号集合 */ - String MENU_ROLE_ID_LIST = "menu_role_ids"; + public static final String MENU_ROLE_ID_LIST = "menu_role_ids"; /** * 拥有权限对应的菜单编号数组的缓存 @@ -47,7 +47,7 @@ public interface RedisKeyConstants { * KEY 格式:permission_menu_ids:{permission} * VALUE 数据类型:String 菜单编号数组 */ - String PERMISSION_MENU_ID_LIST = "permission_menu_ids"; + public static final String PERMISSION_MENU_ID_LIST = "permission_menu_ids"; /** * OAuth2 客户端的缓存 @@ -55,7 +55,7 @@ public interface RedisKeyConstants { * KEY 格式:user:{id} * VALUE 数据类型:String 客户端信息 */ - String OAUTH_CLIENT = "oauth_client"; + public static final String OAUTH_CLIENT = "oauth_client"; /** * 访问令牌的缓存 @@ -65,7 +65,7 @@ public interface RedisKeyConstants { *

* 由于动态过期时间,使用 RedisTemplate 操作 */ - String OAUTH2_ACCESS_TOKEN = "oauth2_access_token:%s"; + public static final String OAUTH2_ACCESS_TOKEN = "oauth2_access_token:%s"; /** * 站内信模版的缓存 @@ -73,7 +73,7 @@ public interface RedisKeyConstants { * KEY 格式:notify_template:{code} * VALUE 数据格式:String 模版信息 */ - String NOTIFY_TEMPLATE = "notify_template"; + public static final String NOTIFY_TEMPLATE = "notify_template"; /** * 邮件账号的缓存 @@ -81,7 +81,7 @@ public interface RedisKeyConstants { * KEY 格式:sms_template:{id} * VALUE 数据格式:String 账号信息 */ - String MAIL_ACCOUNT = "mail_account"; + public static final String MAIL_ACCOUNT = "mail_account"; /** * 邮件模版的缓存 @@ -89,7 +89,7 @@ public interface RedisKeyConstants { * KEY 格式:mail_template:{code} * VALUE 数据格式:String 模版信息 */ - String MAIL_TEMPLATE = "mail_template"; + public static final String MAIL_TEMPLATE = "mail_template"; /** * 短信模版的缓存 @@ -97,15 +97,15 @@ public interface RedisKeyConstants { * KEY 格式:sms_template:{id} * VALUE 数据格式:String 模版信息 */ - String SMS_TEMPLATE = "sms_template"; + public static final String SMS_TEMPLATE = "sms_template"; /** * 短信验证码的缓存 */ - String SMS_CAPTCHA_VERIFICATION = "sms_captcha_verification:%s"; + public static final String SMS_CAPTCHA_VERIFICATION = "sms_captcha_verification:%s"; /** * 短信验证码次数上限的缓存 */ - String SMS_CAPTCHA_VERIFICATION_LIMIT = "sms_captcha_verification_limit:%s"; + public static final String SMS_CAPTCHA_VERIFICATION_LIMIT = "sms_captcha_verification_limit:%s"; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/RedisRefreshChannelTopicConstants.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/RedisRefreshChannelTopicConstants.java index 4b83c1160..c594812db 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/RedisRefreshChannelTopicConstants.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/RedisRefreshChannelTopicConstants.java @@ -6,10 +6,10 @@ package com.cf.imes.module.system.dal.redis; * @author Gqr * @since 2024/6/13 14:55 */ -public interface RedisRefreshChannelTopicConstants { +public class RedisRefreshChannelTopicConstants { /** * 刷新权限 */ - String PERMISSION_REFRESH = "PERMISSION_REFRESH"; + public static final String PERMISSION_REFRESH = "PERMISSION_REFRESH"; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/framework/operatelog/core/AdminUserParseFunction.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/framework/operatelog/core/AdminUserParseFunction.java index db113ba14..6f60b70a4 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/framework/operatelog/core/AdminUserParseFunction.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/framework/operatelog/core/AdminUserParseFunction.java @@ -1,5 +1,6 @@ package com.cf.imes.module.system.framework.operatelog.core; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.StrUtil; import com.cf.imes.module.system.api.user.AdminUserApi; import com.cf.imes.module.system.api.user.dto.AdminUserRespDTO; @@ -42,10 +43,10 @@ public class AdminUserParseFunction implements IParseFunction { } // 返回格式 晨丰科技(13888888888) String nickname = user.getNickname(); - if (StrUtil.isEmpty(user.getMobile())) { + if (CharSequenceUtil.isEmpty(user.getMobile())) { return nickname; } - return StrUtil.format("{}({})", nickname, user.getMobile()); + return CharSequenceUtil.format("{}({})", nickname, user.getMobile()); } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/datasource/DataSourceServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/datasource/DataSourceServiceImpl.java index 86558e733..37b76ea03 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/datasource/DataSourceServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/datasource/DataSourceServiceImpl.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.service.datasource; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import co.elastic.clients.elasticsearch.ElasticsearchClient; import co.elastic.clients.elasticsearch.core.*; import co.elastic.clients.elasticsearch.core.search.Hit; @@ -67,6 +67,7 @@ public class DataSourceServiceImpl implements DataSourceService { String MACHINE_DATA_SOURCE = "imes_machine_data_source"; + private static final String FIELD_MACHINEID = "machineId"; @Override public void createDataSource(List createReqVO) { @@ -639,7 +640,9 @@ public class DataSourceServiceImpl implements DataSourceService { data.append(dataQuery.dataGetMachine(machineDataSourceKeyName14,machineId)); } - + default -> { + // do nothing + } } } @@ -735,13 +738,13 @@ public class DataSourceServiceImpl implements DataSourceService { builder.index(index); builder.query(q -> q.bool(b -> b - .must(m->m.term(t->t.field("machineId").value(machineId))) + .must(m->m.term(t->t.field(FIELD_MACHINEID).value(machineId))) .must(m->m.match(t->t.field("dataSource.parentSourceId").query(parentSourceId))))); try { SearchResponse search = elasticsearchClient.search(builder.build(), MachineDataSourceDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -758,12 +761,12 @@ public class DataSourceServiceImpl implements DataSourceService { SearchRequest.Builder builder = new SearchRequest.Builder(); builder.index(index); - builder.query(q -> q.term(b -> b.field("machineId").value(machineId))); + builder.query(q -> q.term(b -> b.field(FIELD_MACHINEID).value(machineId))); try { SearchResponse search = elasticsearchClient.search(builder.build(), MachineDataSourceDO.class); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { return hits.stream().map(Hit::source).collect(Collectors.toList()); } return new ArrayList<>(); @@ -779,7 +782,7 @@ public class DataSourceServiceImpl implements DataSourceService { public void deleteByMachineId(Long machineId, String index) { DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder(); builder.index(index); - builder.query(q -> q.term(t -> t.field("machineId").value(machineId))); + builder.query(q -> q.term(t -> t.field(FIELD_MACHINEID).value(machineId))); try { DeleteByQueryResponse response = elasticsearchClient.deleteByQuery(builder.build()); log.info("Deleted {} documents with planId {}", response.deleted(), machineId); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/dict/DictTypeServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/dict/DictTypeServiceImpl.java index 134d04275..eec540849 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/dict/DictTypeServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/dict/DictTypeServiceImpl.java @@ -1,7 +1,7 @@ package com.cf.imes.module.system.service.dict; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.cf.imes.framework.common.enums.DeletedCodeEnum; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; @@ -23,8 +23,6 @@ import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; -import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; - /** * 字典类型 Service 实现类 * @@ -127,7 +125,7 @@ public class DictTypeServiceImpl implements DictTypeService { @VisibleForTesting void validateDictTypeUnique(Long id, String type) { - if (StrUtil.isEmpty(type)) { + if (CharSequenceUtil.isEmpty(type)) { return; } DictTypeDO dictType = dictTypeMapper.selectByType(type); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java index 415df5d3f..e01aceb95 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.service.labeltemplate; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import com.cf.imes.framework.common.util.json.JsonUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import lombok.extern.slf4j.Slf4j; @@ -102,7 +102,7 @@ public class LabelTemplateServiceImpl implements LabelTemplateService { .eq(LabelTemplateDO::getIsDefault, Boolean.TRUE) .eq(LabelTemplateDO::getType, type) ); - if(CollectionUtil.isNotEmpty(labelTemplateDOS)) { + if(CollUtil.isNotEmpty(labelTemplateDOS)) { if (labelTemplateDOS.size() > 1) { throw exception(DEFAULT_TEMPLATE_COUNT); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/logger/OperateLogServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/logger/OperateLogServiceImpl.java index cd8f67f00..a6e083a78 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/logger/OperateLogServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/logger/OperateLogServiceImpl.java @@ -1,7 +1,7 @@ package com.cf.imes.module.system.service.logger; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.common.util.string.StrUtils; @@ -54,7 +54,7 @@ public class OperateLogServiceImpl implements OperateLogService { public PageResult getOperateLogPage(OperateLogPageReqVO pageReqVO) { // 处理基于用户昵称的查询 Collection userIds = null; - if (StrUtil.isNotEmpty(pageReqVO.getUserNickname())) { + if (CharSequenceUtil.isNotEmpty(pageReqVO.getUserNickname())) { userIds = convertSet(userService.getUserListByNickname(pageReqVO.getUserNickname()), AdminUserDO::getId); if (CollUtil.isEmpty(userIds)) { return PageResult.empty(); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java index 7a7217dce..8a49e8bd2 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.service.machine; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import co.elastic.clients.elasticsearch.ElasticsearchClient; import co.elastic.clients.elasticsearch._types.query_dsl.TermQuery; @@ -369,7 +369,7 @@ public class MachineServiceImpl implements MachineService { @Override public void batchDeleteCutting(List ids) { List machineDOS = machineMapper.selectBatchIds(ids); - if (CollectionUtil.isEmpty(machineDOS)) { + if (CollUtil.isEmpty(machineDOS)) { throw exception(MACHINE_NOT_EXISTS); } machineMapper.deleteBatchIds(ids); @@ -646,7 +646,7 @@ public class MachineServiceImpl implements MachineService { try { SearchResponse search = elasticsearchClient.search(builder.build(), clazz); List> hits = search.hits().hits(); - if (CollectionUtil.isNotEmpty(hits)) { + if (CollUtil.isNotEmpty(hits)) { Hit hit = hits.get(0); return hit.source(); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineSettingServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineSettingServiceImpl.java index 7270aed6f..5d5fb2689 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineSettingServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineSettingServiceImpl.java @@ -1,11 +1,8 @@ package com.cf.imes.module.system.service.machine; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import co.elastic.clients.elasticsearch.ElasticsearchClient; -import co.elastic.clients.elasticsearch._types.Result; import co.elastic.clients.elasticsearch._types.query_dsl.*; -import co.elastic.clients.elasticsearch.core.IndexResponse; import co.elastic.clients.elasticsearch.core.SearchResponse; import co.elastic.clients.elasticsearch.core.search.Hit; import com.cf.imes.framework.common.pojo.PageResult; @@ -18,7 +15,6 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.IOException; import java.util.ArrayList; -import java.util.Date; import java.util.List; /** @@ -40,7 +36,7 @@ public class MachineSettingServiceImpl implements MachineSettingService { LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); List userMachineDOS = new ArrayList<>(); List queryList = new ArrayList<>(); - if(StrUtil.isNotEmpty(pageReqVO.getName())) { + if(CharSequenceUtil.isNotEmpty(pageReqVO.getName())) { MatchQuery query = MatchQuery.of(e -> e.field("name").query(pageReqVO.getName())); queryList.add(query._toQuery()); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java index 9f468ca4a..607e70544 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.service.machine; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import co.elastic.clients.elasticsearch.ElasticsearchClient; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cf.imes.framework.common.enums.CommonStatusEnum; @@ -47,11 +47,6 @@ import static com.cf.imes.module.system.enums.ErrorCodeConstants.*; @Slf4j public class MachineTemplateServiceImpl implements MachineTemplateService { - //开料机台模板配置索引 - private static final String CUTTING_MACHINE_INX = "cutting_machine_template"; - //钻孔机台模板配置索引 - private static final String DRILL_MACHINE_INX = "drill_machine_template"; - @Resource private UserMachineMapper userMachineMapper; @@ -418,7 +413,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { @Transactional(rollbackFor = Exception.class) public Boolean auth(MachineAuthVO vo) { userMachineMapper.delete(new LambdaQueryWrapperX().eq(UserMachineDO::getUserId, vo.getUserId())); - if (CollectionUtil.isNotEmpty(vo.getMachinesIds())) { + if (CollUtil.isNotEmpty(vo.getMachinesIds())) { ArrayList userMachineDOS = new ArrayList<>(); for (Long machinesId : vo.getMachinesIds()) { userMachineDOS.add(UserMachineDO.builder() diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/mail/MailSendServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/mail/MailSendServiceImpl.java index 9d9122445..2114be200 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/mail/MailSendServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/mail/MailSendServiceImpl.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.service.mail; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.extra.mail.MailAccount; import cn.hutool.extra.mail.MailUtil; import com.cf.imes.framework.common.enums.CommonStatusEnum; @@ -23,8 +23,6 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.util.Map; -import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; - /** * 邮箱发送 Service 实现类 * @@ -55,7 +53,7 @@ public class MailSendServiceImpl implements MailSendService { public Long sendSingleMailToAdmin(String mail, Long userId, String templateCode, Map templateParams) { // 如果 mail 为空,则加载用户编号对应的邮箱 - if (StrUtil.isEmpty(mail)) { + if (CharSequenceUtil.isEmpty(mail)) { AdminUserDO user = adminUserService.getUser(userId); if (user != null) { mail = user.getEmail(); @@ -69,7 +67,7 @@ public class MailSendServiceImpl implements MailSendService { public Long sendSingleMailToMember(String mail, Long userId, String templateCode, Map templateParams) { // 如果 mail 为空,则加载用户编号对应的邮箱 - if (StrUtil.isEmpty(mail)) { + if (CharSequenceUtil.isEmpty(mail)) { mail = memberService.getMemberUserEmail(userId); } // 执行发送 @@ -143,7 +141,7 @@ public class MailSendServiceImpl implements MailSendService { @VisibleForTesting String validateMail(String mail) { - if (StrUtil.isEmpty(mail)) { + if (CharSequenceUtil.isEmpty(mail)) { throw ServiceExceptionUtil.exception(ErrorCodeConstants.MAIL_SEND_MAIL_NOT_EXISTS); } return mail; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/mail/MailTemplateServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/mail/MailTemplateServiceImpl.java index 4d4ed39d4..cda34366f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/mail/MailTemplateServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/mail/MailTemplateServiceImpl.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.service.mail; -import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ReUtil; import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; @@ -81,7 +81,7 @@ public class MailTemplateServiceImpl implements MailTemplateService { } // 存在 template 记录的情况下 if (id == null // 新增时,说明重复 - || ObjUtil.notEqual(id, template.getId())) { // 更新时,如果 id 不一致,说明重复 + || ObjectUtil.notEqual(id, template.getId())) { // 更新时,如果 id 不一致,说明重复 throw ServiceExceptionUtil.exception(ErrorCodeConstants.MAIL_TEMPLATE_CODE_EXISTS); } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2ClientServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2ClientServiceImpl.java index c0f177edb..3a4978e51 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2ClientServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2ClientServiceImpl.java @@ -1,8 +1,8 @@ package com.cf.imes.module.system.service.oauth2; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; import com.cf.imes.framework.common.enums.CommonStatusEnum; import com.cf.imes.framework.common.pojo.PageResult; @@ -123,11 +123,11 @@ public class OAuth2ClientServiceImpl implements OAuth2ClientService { } // 校验客户端密钥 - if (StrUtil.isNotEmpty(clientSecret) && ObjectUtil.notEqual(client.getSecret(), clientSecret)) { + if (CharSequenceUtil.isNotEmpty(clientSecret) && ObjectUtil.notEqual(client.getSecret(), clientSecret)) { throw exception(OAUTH2_CLIENT_CLIENT_SECRET_ERROR); } // 校验授权方式 - if (StrUtil.isNotEmpty(authorizedGrantType) && !CollUtil.contains(client.getAuthorizedGrantTypes(), authorizedGrantType)) { + if (CharSequenceUtil.isNotEmpty(authorizedGrantType) && !CollUtil.contains(client.getAuthorizedGrantTypes(), authorizedGrantType)) { throw exception(OAUTH2_CLIENT_AUTHORIZED_GRANT_TYPE_NOT_EXISTS); } // 校验授权范围 @@ -135,7 +135,7 @@ public class OAuth2ClientServiceImpl implements OAuth2ClientService { throw exception(OAUTH2_CLIENT_SCOPE_OVER); } // 校验回调地址 - if (StrUtil.isNotEmpty(redirectUri) && !StrUtils.startWithAny(redirectUri, client.getRedirectUris())) { + if (CharSequenceUtil.isNotEmpty(redirectUri) && !StrUtils.startWithAny(redirectUri, client.getRedirectUris())) { throw exception(OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH, redirectUri); } return client; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java index d2c2a579a..d27641def 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java @@ -3,8 +3,8 @@ package com.cf.imes.module.system.service.organ; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.common.enums.CommonStatusEnum; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.collection.CollectionUtils; @@ -133,8 +133,8 @@ public class OrganServiceImpl implements OrganService { // 创建组织 OrganizationDO tenant = BeanUtils.toBean(createReqVO, OrganizationDO.class); String pinyinFull = PinYinUtils.convertToPinyin(tenant.getName()); - if(StrUtil.isNotBlank(pinyinFull)) { - pinyinFull = pinyinFull.replaceAll(" ", ""); + if(CharSequenceUtil.isNotBlank(pinyinFull)) { + pinyinFull = pinyinFull.replace(" ", ""); } tenant.setPinyinFull(pinyinFull); tenant.setLarge(createReqVO.getLarge() == null ? Boolean.FALSE : createReqVO.getLarge()); @@ -203,8 +203,8 @@ public class OrganServiceImpl implements OrganService { TenantPackageDO tenantPackage = tenantPackageService.validTenantPackage(updateReqVO.getPackageId()); if(!Objects.equals(tenant.getName(), updateReqVO.getName())) { String pinyinFull = PinYinUtils.convertToPinyin(tenant.getName()); - if(StrUtil.isNotBlank(pinyinFull)) { - pinyinFull = pinyinFull.replaceAll(" ", ""); + if(CharSequenceUtil.isNotBlank(pinyinFull)) { + pinyinFull = pinyinFull.replace(" ", ""); } tenant.setPinyinFull(pinyinFull); tenant.setPinyinInitial(PinYinUtils.convertFirstChar(tenant.getName())); @@ -233,7 +233,7 @@ public class OrganServiceImpl implements OrganService { } private void validTenantWebsiteDuplicate(String website, Long id) { - if (StrUtil.isEmpty(website)) { + if (CharSequenceUtil.isEmpty(website)) { return; } OrganizationDO tenant = organMapper.selectByWebsite(website); @@ -301,9 +301,9 @@ public class OrganServiceImpl implements OrganService { @Override public PageResult getOrganPage(OrganPageReqVO pageReqVO) { - if(StrUtil.isNotBlank(pageReqVO.getName())) { + if(CharSequenceUtil.isNotBlank(pageReqVO.getName())) { pageReqVO.setPyFirstChar(PinYinUtils.convertFirstChar(pageReqVO.getName())); - pageReqVO.setPyAll(PinYinUtils.convertToPinyin(pageReqVO.getName()).replaceAll(" ", "")); + pageReqVO.setPyAll(PinYinUtils.convertToPinyin(pageReqVO.getName()).replace(" ", "")); } return organMapper.selectPage(pageReqVO); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/MenuServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/MenuServiceImpl.java index 83191914a..283586ff2 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/MenuServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/MenuServiceImpl.java @@ -1,7 +1,6 @@ package com.cf.imes.module.system.service.permission; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.organ.core.aop.OrganIgnore; @@ -180,7 +179,7 @@ public class MenuServiceImpl implements MenuService { } cursor.close(); // 删除匹配到的key - if (CollectionUtil.isNotEmpty(delKeys)) { + if (CollUtil.isNotEmpty(delKeys)) { return redisTemplate.delete(delKeys); } return 0L; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/RoleServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/RoleServiceImpl.java index 243adec19..dc0553aee 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/RoleServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/RoleServiceImpl.java @@ -1,7 +1,6 @@ package com.cf.imes.module.system.service.permission; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; import com.cf.imes.framework.common.enums.CommonStatusEnum; @@ -224,7 +223,7 @@ public class RoleServiceImpl implements RoleService { @Override public List getRoleList(Collection ids) { - if (CollectionUtil.isEmpty(ids)) { + if (CollUtil.isEmpty(ids)) { return Collections.emptyList(); } return roleMapper.selectBatchIds(ids); @@ -232,7 +231,7 @@ public class RoleServiceImpl implements RoleService { @Override public List getRoleListFromCache(Collection ids) { - if (CollectionUtil.isEmpty(ids)) { + if (CollUtil.isEmpty(ids)) { return Collections.emptyList(); } // 这里采用 for 循环从缓存中获取,主要考虑 Spring CacheManager 无法批量操作的问题 @@ -249,7 +248,7 @@ public class RoleServiceImpl implements RoleService { @Override public boolean hasAnySuperAdmin(Collection ids) { - if (CollectionUtil.isEmpty(ids)) { + if (CollUtil.isEmpty(ids)) { return false; } RoleServiceImpl self = getSelf(); @@ -291,7 +290,7 @@ public class RoleServiceImpl implements RoleService { @Override @OrganIgnore public List getRoleList1(Set roleIds) { - if (CollectionUtil.isEmpty(roleIds)) { + if (CollUtil.isEmpty(roleIds)) { return Collections.emptyList(); } return roleMapper.selectBatchIds(roleIds); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/sms/SmsChannelServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/sms/SmsChannelServiceImpl.java index 7c97daf3f..ddbc7138d 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/sms/SmsChannelServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/sms/SmsChannelServiceImpl.java @@ -1,6 +1,6 @@ package com.cf.imes.module.system.service.sms; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.object.BeanUtils; @@ -115,7 +115,7 @@ public class SmsChannelServiceImpl implements SmsChannelService { */ private void clearCache(Long id, String code) { idClientCache.invalidate(id); - if (StrUtil.isNotEmpty(code)) { + if (CharSequenceUtil.isNotEmpty(code)) { codeClientCache.invalidate(code); } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/social/SocialClientServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/social/SocialClientServiceImpl.java index 11a2c31dc..8ded2796f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/social/SocialClientServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/social/SocialClientServiceImpl.java @@ -6,7 +6,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; import cn.binarywang.wx.miniapp.config.impl.WxMaRedisBetterConfigImpl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ReflectUtil; import com.cf.imes.framework.common.enums.CommonStatusEnum; import com.cf.imes.framework.common.pojo.PageResult; @@ -321,7 +321,7 @@ public class SocialClientServiceImpl implements SocialClientService { return; } if (id == null // 新增时,说明重复 - || ObjUtil.notEqual(id, client.getId())) { // 更新时,如果 id 不一致,说明重复 + || ObjectUtil.notEqual(id, client.getId())) { // 更新时,如果 id 不一致,说明重复 throw exception(SOCIAL_CLIENT_UNIQUE); } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/util/oauth2/OAuth2Utils.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/util/oauth2/OAuth2Utils.java index 41431e5b3..163246305 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/util/oauth2/OAuth2Utils.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/util/oauth2/OAuth2Utils.java @@ -2,7 +2,7 @@ package com.cf.imes.module.system.util.oauth2; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.util.http.HttpUtils; import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; @@ -97,7 +97,7 @@ public class OAuth2Utils { } public static List buildScopes(String scope) { - return StrUtil.split(scope, ' '); + return CharSequenceUtil.split(scope, ' '); } }