tables = processSubJoin((SubJoin) fromItem);
- mainTables.addAll(tables);
- } else {
- // 处理下 fromItem
- processOtherFromItem(fromItem);
- }
- return mainTables;
- }
-
- /**
- * 处理where条件内的子查询
- *
- * 支持如下:
- * 1. in
- * 2. =
- * 3. >
- * 4. <
- * 5. >=
- * 6. <=
- * 7. <>
- * 8. EXISTS
- * 9. NOT EXISTS
- *
- * 前提条件:
- * 1. 子查询必须放在小括号中
- * 2. 子查询一般放在比较操作符的右边
- *
- * @param where where 条件
- */
- protected void processWhereSubSelect(Expression where) {
- if (where == null) {
- return;
- }
- if (where instanceof FromItem) {
- processOtherFromItem((FromItem) where);
- return;
- }
- if (where.toString().indexOf("SELECT") >= 1) {
- // 有子查询
- if (where instanceof BinaryExpression) {
- // 比较符号 , and , or , 等等
- BinaryExpression expression = (BinaryExpression) where;
- processWhereSubSelect(expression.getLeftExpression());
- processWhereSubSelect(expression.getRightExpression());
- } else if (where instanceof InExpression) {
- // in
- InExpression expression = (InExpression) where;
- Expression inExpression = expression.getRightExpression();
- if (inExpression instanceof SubSelect) {
- processSelectBody(((SubSelect) inExpression).getSelectBody());
- }
- } else if (where instanceof ExistsExpression) {
- // exists
- ExistsExpression expression = (ExistsExpression) where;
- processWhereSubSelect(expression.getRightExpression());
- } else if (where instanceof NotExpression) {
- // not exists
- NotExpression expression = (NotExpression) where;
- processWhereSubSelect(expression.getExpression());
- } else if (where instanceof Parenthesis) {
- Parenthesis expression = (Parenthesis) where;
- processWhereSubSelect(expression.getExpression());
- }
- }
- }
-
- protected void processSelectItem(SelectItem selectItem) {
- if (selectItem instanceof SelectExpressionItem) {
- SelectExpressionItem selectExpressionItem = (SelectExpressionItem) selectItem;
- if (selectExpressionItem.getExpression() instanceof SubSelect) {
- processSelectBody(((SubSelect) selectExpressionItem.getExpression()).getSelectBody());
- } else if (selectExpressionItem.getExpression() instanceof Function) {
- processFunction((Function) selectExpressionItem.getExpression());
- }
- }
- }
-
- /**
- * 处理函数
- *
支持: 1. select fun(args..) 2. select fun1(fun2(args..),args..)
- *
fixed gitee pulls/141
- *
- * @param function
- */
- protected void processFunction(Function function) {
- ExpressionList parameters = function.getParameters();
- if (parameters != null) {
- parameters.getExpressions().forEach(expression -> {
- if (expression instanceof SubSelect) {
- processSelectBody(((SubSelect) expression).getSelectBody());
- } else if (expression instanceof Function) {
- processFunction((Function) expression);
- }
- });
- }
- }
-
- /**
- * 处理子查询等
- */
- protected void processOtherFromItem(FromItem fromItem) {
- // 去除括号
- while (fromItem instanceof ParenthesisFromItem) {
- fromItem = ((ParenthesisFromItem) fromItem).getFromItem();
- }
-
- if (fromItem instanceof SubSelect) {
- SubSelect subSelect = (SubSelect) fromItem;
- if (subSelect.getSelectBody() != null) {
- processSelectBody(subSelect.getSelectBody());
- }
- } else if (fromItem instanceof ValuesList) {
- logger.debug("Perform a subQuery, if you do not give us feedback");
- } else if (fromItem instanceof LateralSubSelect) {
- LateralSubSelect lateralSubSelect = (LateralSubSelect) fromItem;
- if (lateralSubSelect.getSubSelect() != null) {
- SubSelect subSelect = lateralSubSelect.getSubSelect();
- if (subSelect.getSelectBody() != null) {
- processSelectBody(subSelect.getSelectBody());
- }
- }
- }
- }
-
- /**
- * 处理 sub join
- *
- * @param subJoin subJoin
- * @return Table subJoin 中的主表
- */
- private List processSubJoin(SubJoin subJoin) {
- List mainTables = new ArrayList<>();
- if (subJoin.getJoinList() != null) {
- List list = processFromItem(subJoin.getLeft());
- mainTables.addAll(list);
- mainTables = processJoins(mainTables, subJoin.getJoinList());
- }
- return mainTables;
- }
-
- /**
- * 处理 joins
- *
- * @param mainTables 可以为 null
- * @param joins join 集合
- * @return List 右连接查询的 Table 列表
- */
- private List processJoins(List mainTables, List joins) {
- // join 表达式中最终的主表
- Table mainTable = null;
- // 当前 join 的左表
- Table leftTable = null;
-
- if (mainTables == null) {
- mainTables = new ArrayList<>();
- } else if (mainTables.size() == 1) {
- mainTable = mainTables.get(0);
- leftTable = mainTable;
- }
-
- //对于 on 表达式写在最后的 join,需要记录下前面多个 on 的表名
- Deque> onTableDeque = new LinkedList<>();
- for (Join join : joins) {
- // 处理 on 表达式
- FromItem joinItem = join.getRightItem();
-
- // 获取当前 join 的表,subJoint 可以看作是一张表
- List joinTables = null;
- if (joinItem instanceof Table) {
- joinTables = new ArrayList<>();
- joinTables.add((Table) joinItem);
- } else if (joinItem instanceof SubJoin) {
- joinTables = processSubJoin((SubJoin) joinItem);
- }
-
- if (joinTables != null) {
-
- // 如果是隐式内连接
- if (join.isSimple()) {
- mainTables.addAll(joinTables);
- continue;
- }
-
- // 当前表是否忽略
- Table joinTable = joinTables.get(0);
-
- List onTables = null;
- // 如果不要忽略,且是右连接,则记录下当前表
- if (join.isRight()) {
- mainTable = joinTable;
- if (leftTable != null) {
- onTables = Collections.singletonList(leftTable);
- }
- } else if (join.isLeft()) {
- onTables = Collections.singletonList(joinTable);
- } else if (join.isInner()) {
- if (mainTable == null) {
- onTables = Collections.singletonList(joinTable);
- } else {
- onTables = Arrays.asList(mainTable, joinTable);
- }
- mainTable = null;
- }
-
- mainTables = new ArrayList<>();
- if (mainTable != null) {
- mainTables.add(mainTable);
- }
-
- // 获取 join 尾缀的 on 表达式列表
- Collection originOnExpressions = join.getOnExpressions();
- // 正常 join on 表达式只有一个,立刻处理
- if (originOnExpressions.size() == 1 && onTables != null) {
- List onExpressions = new LinkedList<>();
- onExpressions.add(builderExpression(originOnExpressions.iterator().next(), onTables));
- join.setOnExpressions(onExpressions);
- leftTable = joinTable;
- continue;
- }
- // 表名压栈,忽略的表压入 null,以便后续不处理
- onTableDeque.push(onTables);
- // 尾缀多个 on 表达式的时候统一处理
- if (originOnExpressions.size() > 1) {
- Collection onExpressions = new LinkedList<>();
- for (Expression originOnExpression : originOnExpressions) {
- List currentTableList = onTableDeque.poll();
- if (CollectionUtils.isEmpty(currentTableList)) {
- onExpressions.add(originOnExpression);
- } else {
- onExpressions.add(builderExpression(originOnExpression, currentTableList));
- }
- }
- join.setOnExpressions(onExpressions);
- }
- leftTable = joinTable;
- } else {
- processOtherFromItem(joinItem);
- leftTable = null;
- }
- }
-
- return mainTables;
- }
-
- // ========== 和 TenantLineInnerInterceptor 存在差异的逻辑:关键,实现权限条件的拼接 ==========
-
- /**
- * 处理条件
- *
- * @param currentExpression 当前 where 条件
- * @param table 单个表
- */
- protected Expression builderExpression(Expression currentExpression, Table table) {
- return this.builderExpression(currentExpression, Collections.singletonList(table));
- }
-
- /**
- * 处理条件
- *
- * @param currentExpression 当前 where 条件
- * @param tables 多个表
- */
- protected Expression builderExpression(Expression currentExpression, List tables) {
- // 没有表需要处理直接返回
- if (CollectionUtils.isEmpty(tables)) {
- return currentExpression;
- }
-
- // 第一步,获得 Table 对应的数据权限条件
- Expression dataPermissionExpression = null;
- for (Table table : tables) {
- // 构建每个表的权限 Expression 条件
- Expression expression = buildDataPermissionExpression(table);
- if (expression == null) {
- continue;
- }
- // 合并到 dataPermissionExpression 中
- dataPermissionExpression = dataPermissionExpression == null ? expression
- : new AndExpression(dataPermissionExpression, expression);
- }
-
- // 第二步,合并多个 Expression 条件
- if (dataPermissionExpression == null) {
- return currentExpression;
- }
- if (currentExpression == null) {
- return dataPermissionExpression;
- }
- // ① 如果表达式为 Or,则需要 (currentExpression) AND dataPermissionExpression
- if (currentExpression instanceof OrExpression) {
- return new AndExpression(new Parenthesis(currentExpression), dataPermissionExpression);
- }
- // ② 如果表达式为 And,则直接返回 where AND dataPermissionExpression
- return new AndExpression(currentExpression, dataPermissionExpression);
- }
-
- /**
- * 构建指定表的数据权限的 Expression 过滤条件
- *
- * @param table 表
- * @return Expression 过滤条件
- */
- private Expression buildDataPermissionExpression(Table table) {
- // 生成条件
- Expression allExpression = null;
- for (DataPermissionRule rule : ContextHolder.getRules()) {
- // 判断表名是否匹配
- String tableName = MyBatisUtils.getTableName(table);
- if (!rule.getTableNames().contains(tableName)) {
- continue;
- }
- // 如果有匹配的规则,说明可重写。
- // 为什么不是有 allExpression 非空才重写呢?在生成 column = value 过滤条件时,会因为 value 不存在,导致未重写。
- // 这样导致第一次无 value,被标记成无需重写;但是第二次有 value,此时会需要重写。
- ContextHolder.setRewrite(true);
-
- // 单条规则的条件
- Expression oneExpress = rule.getExpression(tableName, table.getAlias());
- if (oneExpress == null){
- continue;
- }
- // 拼接到 allExpression 中
- allExpression = allExpression == null ? oneExpress
- : new AndExpression(allExpression, oneExpress);
- }
-
- return allExpression;
- }
-
- /**
- * 判断 SQL 是否重写。如果没有重写,则添加到 {@link MappedStatementCache} 中
- *
- * @param ms MappedStatement
- */
- private void addMappedStatementCache(MappedStatement ms) {
- if (ContextHolder.getRewrite()) {
- return;
- }
- // 无重写,进行添加
- mappedStatementCache.addNoRewritable(ms, ContextHolder.getRules());
- }
-
- /**
- * SQL 解析上下文,方便透传 {@link DataPermissionRule} 规则
- *
- * @author 晨丰科技
- */
- static final class ContextHolder {
-
- /**
- * 该 {@link MappedStatement} 对应的规则
- */
- private static final ThreadLocal> RULES = ThreadLocal.withInitial(Collections::emptyList);
- /**
- * SQL 是否进行重写
- */
- private static final ThreadLocal REWRITE = ThreadLocal.withInitial(() -> Boolean.FALSE);
-
- public static void init(List rules) {
- RULES.set(rules);
- REWRITE.set(false);
- }
-
- public static void clear() {
- RULES.remove();
- REWRITE.remove();
- }
-
- public static boolean getRewrite() {
- return REWRITE.get();
- }
-
- public static void setRewrite(boolean rewrite) {
- REWRITE.set(rewrite);
- }
-
- public static List getRules() {
- return RULES.get();
- }
-
- }
-
- /**
- * {@link MappedStatement} 缓存
- * 目前主要用于,记录 {@link DataPermissionRule} 是否对指定 {@link MappedStatement} 无效
- * 如果无效,则可以避免 SQL 的解析,加快速度
- *
- * @author 晨丰科技
- */
- static final class MappedStatementCache {
-
- /**
- * 指定数据权限规则,对指定 MappedStatement 无需重写(不生效)的缓存
- *
- * value:{@link MappedStatement#getId()} 编号
- */
- @Getter
- private final Map, Set> noRewritableMappedStatements = new ConcurrentHashMap<>();
-
- /**
- * 判断是否无需重写
- * ps:虽然有点中文式英语,但是容易读懂即可
- *
- * @param ms MappedStatement
- * @param rules 数据权限规则数组
- * @return 是否无需重写
- */
- public boolean noRewritable(MappedStatement ms, List rules) {
- // 如果规则为空,说明无需重写
- if (CollUtil.isEmpty(rules)) {
- return true;
- }
- // 任一规则不在 noRewritableMap 中,则说明可能需要重写
- for (DataPermissionRule rule : rules) {
- Set mappedStatementIds = noRewritableMappedStatements.get(rule.getClass());
- if (!CollUtil.contains(mappedStatementIds, ms.getId())) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * 添加无需重写的 MappedStatement
- *
- * @param ms MappedStatement
- * @param rules 数据权限规则数组
- */
- public void addNoRewritable(MappedStatement ms, List rules) {
- for (DataPermissionRule rule : rules) {
- Set mappedStatementIds = noRewritableMappedStatements.get(rule.getClass());
- if (CollUtil.isNotEmpty(mappedStatementIds)) {
- mappedStatementIds.add(ms.getId());
- } else {
- noRewritableMappedStatements.put(rule.getClass(), SetUtils.asSet(ms.getId()));
- }
- }
- }
-
- /**
- * 清空缓存
- * 目前主要提供给单元测试
- */
- public void clear() {
- noRewritableMappedStatements.clear();
- }
-
- }
-
-}
diff --git a/cf-framework/cf-spring-boot-starter-biz-data-permission/src/main/java/com/cf/imes/framework/datapermission/core/db/DataPermissionRuleHandler.java b/cf-framework/cf-spring-boot-starter-biz-data-permission/src/main/java/com/cf/imes/framework/datapermission/core/db/DataPermissionRuleHandler.java
new file mode 100644
index 000000000..b09b2313f
--- /dev/null
+++ b/cf-framework/cf-spring-boot-starter-biz-data-permission/src/main/java/com/cf/imes/framework/datapermission/core/db/DataPermissionRuleHandler.java
@@ -0,0 +1,63 @@
+package com.cf.imes.framework.datapermission.core.db;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.extension.plugins.handler.MultiDataPermissionHandler;
+import com.cf.imes.framework.datapermission.core.rule.DataPermissionRule;
+import com.cf.imes.framework.datapermission.core.rule.DataPermissionRuleFactory;
+import com.cf.imes.framework.mybatis.core.util.MyBatisUtils;
+import lombok.RequiredArgsConstructor;
+import net.sf.jsqlparser.expression.Expression;
+import net.sf.jsqlparser.expression.operators.conditional.AndExpression;
+import net.sf.jsqlparser.schema.Table;
+
+import java.util.List;
+
+
+/**
+ * 基于 {@link DataPermissionRule} 的数据权限处理器
+ *
+ * 它的底层,是基于 MyBatis Plus 的 数据权限插件
+ * 核心原理:它会在 SQL 执行前拦截 SQL 语句,并根据用户权限动态添加权限相关的 SQL 片段。这样,只有用户有权限访问的数据才会被查询出来
+ *
+ * @author 芋道源码
+ */
+@RequiredArgsConstructor
+public class DataPermissionRuleHandler implements MultiDataPermissionHandler {
+
+ private final DataPermissionRuleFactory ruleFactory;
+
+ @Override
+ public Expression getSqlSegment(Table table, Expression where, String mappedStatementId) {
+ // todo 缺少VisitTenantId 特殊:跨租户访问
+// if (skipPermissionCheck()) {
+// return null;
+// }
+
+ // 获得 Mapper 对应的数据权限的规则
+ List rules = ruleFactory.getDataPermissionRule(mappedStatementId);
+ if (CollUtil.isEmpty(rules)) {
+ return null;
+ }
+
+ // 生成条件
+ Expression allExpression = null;
+ for (DataPermissionRule rule : rules) {
+ // 判断表名是否匹配
+ String tableName = MyBatisUtils.getTableName(table);
+ if (!rule.getTableNames().contains(tableName)) {
+ continue;
+ }
+
+ // 单条规则的条件
+ Expression oneExpress = rule.getExpression(tableName, table.getAlias());
+ if (oneExpress == null) {
+ continue;
+ }
+ // 拼接到 allExpression 中
+ allExpression = allExpression == null ? oneExpress
+ : new AndExpression(allExpression, oneExpress);
+ }
+ return allExpression;
+ }
+
+}
diff --git a/cf-framework/cf-spring-boot-starter-biz-data-permission/src/main/java/com/cf/imes/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java b/cf-framework/cf-spring-boot-starter-biz-data-permission/src/main/java/com/cf/imes/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java
index 84d73d585..45f49d9fe 100644
--- a/cf-framework/cf-spring-boot-starter-biz-data-permission/src/main/java/com/cf/imes/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java
+++ b/cf-framework/cf-spring-boot-starter-biz-data-permission/src/main/java/com/cf/imes/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java
@@ -21,6 +21,7 @@ import net.sf.jsqlparser.expression.operators.conditional.OrExpression;
import net.sf.jsqlparser.expression.operators.relational.EqualsTo;
import net.sf.jsqlparser.expression.operators.relational.ExpressionList;
import net.sf.jsqlparser.expression.operators.relational.InExpression;
+import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
import java.util.HashMap;
import java.util.HashSet;
@@ -141,7 +142,7 @@ public class DeptDataPermissionRule implements DataPermissionRule {
return deptExpression;
}
// 目前,如果有指定部门 + 可查看自己,采用 OR 条件。即,WHERE (dept_id IN ? OR user_id = ?)
- return new Parenthesis(new OrExpression(deptExpression, userExpression));
+ return new ParenthesedExpressionList(new OrExpression(deptExpression, userExpression));
}
private Expression buildDeptExpression(String tableName, Alias tableAlias, Set deptIds) {
diff --git a/cf-framework/cf-spring-boot-starter-biz-data-permission/src/test/java/com/cf/imes/framework/datapermission/core/db/DataPermissionDatabaseInterceptorTest.java b/cf-framework/cf-spring-boot-starter-biz-data-permission/src/test/java/com/cf/imes/framework/datapermission/core/db/DataPermissionDatabaseInterceptorTest.java
deleted file mode 100644
index 63d6cd7dc..000000000
--- a/cf-framework/cf-spring-boot-starter-biz-data-permission/src/test/java/com/cf/imes/framework/datapermission/core/db/DataPermissionDatabaseInterceptorTest.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package com.cf.imes.framework.datapermission.core.db;
-
-import com.cf.imes.framework.common.util.collection.SetUtils;
-import com.cf.imes.framework.datapermission.core.rule.DataPermissionRule;
-import com.cf.imes.framework.datapermission.core.rule.DataPermissionRuleFactory;
-import com.cf.imes.framework.mybatis.core.util.MyBatisUtils;
-import com.cf.imes.framework.test.core.ut.BaseMockitoUnitTest;
-import com.baomidou.mybatisplus.core.toolkit.PluginUtils;
-import net.sf.jsqlparser.expression.Alias;
-import net.sf.jsqlparser.expression.Expression;
-import net.sf.jsqlparser.expression.LongValue;
-import net.sf.jsqlparser.expression.operators.relational.EqualsTo;
-import net.sf.jsqlparser.schema.Column;
-import org.apache.ibatis.executor.Executor;
-import org.apache.ibatis.executor.statement.StatementHandler;
-import org.apache.ibatis.mapping.BoundSql;
-import org.apache.ibatis.mapping.MappedStatement;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.MockedStatic;
-
-import java.sql.Connection;
-import java.util.*;
-
-import static java.util.Collections.singletonList;
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-/**
- * {@link DataPermissionDatabaseInterceptor} 的单元测试
- * 主要测试 {@link DataPermissionDatabaseInterceptor#beforePrepare(StatementHandler, Connection, Integer)}
- * 和 {@link DataPermissionDatabaseInterceptor#beforeUpdate(Executor, MappedStatement, Object)}
- * 以及在这个过程中,ContextHolder 和 MappedStatementCache
- *
- * @author 晨丰科技
- */
-public class DataPermissionDatabaseInterceptorTest extends BaseMockitoUnitTest {
-
- @InjectMocks
- private DataPermissionDatabaseInterceptor interceptor;
-
- @Mock
- private DataPermissionRuleFactory ruleFactory;
-
- @BeforeEach
- public void setUp() {
- // 清理上下文
- DataPermissionDatabaseInterceptor.ContextHolder.clear();
- // 清空缓存
- interceptor.getMappedStatementCache().clear();
- }
-
- @Test // 不存在规则,且不匹配
- public void testBeforeQuery_withoutRule() {
- try (MockedStatic pluginUtilsMock = mockStatic(PluginUtils.class)) {
- // 准备参数
- MappedStatement mappedStatement = mock(MappedStatement.class);
- BoundSql boundSql = mock(BoundSql.class);
-
- // 调用
- interceptor.beforeQuery(null, mappedStatement, null, null, null, boundSql);
- // 断言
- pluginUtilsMock.verify(() -> PluginUtils.mpBoundSql(boundSql), never());
- }
- }
-
- @Test // 存在规则,且不匹配
- public void testBeforeQuery_withMatchRule() {
- try (MockedStatic pluginUtilsMock = mockStatic(PluginUtils.class)) {
- // 准备参数
- MappedStatement mappedStatement = mock(MappedStatement.class);
- BoundSql boundSql = mock(BoundSql.class);
- // mock 方法(数据权限)
- when(ruleFactory.getDataPermissionRule(same(mappedStatement.getId())))
- .thenReturn(singletonList(new DeptDataPermissionRule()));
- // mock 方法(MPBoundSql)
- PluginUtils.MPBoundSql mpBs = mock(PluginUtils.MPBoundSql.class);
- pluginUtilsMock.when(() -> PluginUtils.mpBoundSql(same(boundSql))).thenReturn(mpBs);
- // mock 方法(SQL)
- String sql = "select * from t_user where id = 1";
- when(mpBs.sql()).thenReturn(sql);
- // 针对 ContextHolder 和 MappedStatementCache 暂时不 mock,主要想校验过程中,数据是否正确
-
- // 调用
- interceptor.beforeQuery(null, mappedStatement, null, null, null, boundSql);
- // 断言
- verify(mpBs, times(1)).sql(
- eq("SELECT * FROM t_user WHERE id = 1 AND t_user.dept_id = 100"));
- // 断言缓存
- assertTrue(interceptor.getMappedStatementCache().getNoRewritableMappedStatements().isEmpty());
- }
- }
-
- @Test // 存在规则,但不匹配
- public void testBeforeQuery_withoutMatchRule() {
- try (MockedStatic pluginUtilsMock = mockStatic(PluginUtils.class)) {
- // 准备参数
- MappedStatement mappedStatement = mock(MappedStatement.class);
- BoundSql boundSql = mock(BoundSql.class);
- // mock 方法(数据权限)
- when(ruleFactory.getDataPermissionRule(same(mappedStatement.getId())))
- .thenReturn(singletonList(new DeptDataPermissionRule()));
- // mock 方法(MPBoundSql)
- PluginUtils.MPBoundSql mpBs = mock(PluginUtils.MPBoundSql.class);
- pluginUtilsMock.when(() -> PluginUtils.mpBoundSql(same(boundSql))).thenReturn(mpBs);
- // mock 方法(SQL)
- String sql = "select * from t_role where id = 1";
- when(mpBs.sql()).thenReturn(sql);
- // 针对 ContextHolder 和 MappedStatementCache 暂时不 mock,主要想校验过程中,数据是否正确
-
- // 调用
- interceptor.beforeQuery(null, mappedStatement, null, null, null, boundSql);
- // 断言
- verify(mpBs, times(1)).sql(
- eq("SELECT * FROM t_role WHERE id = 1"));
- // 断言缓存
- assertFalse(interceptor.getMappedStatementCache().getNoRewritableMappedStatements().isEmpty());
- }
- }
-
- @Test
- public void testAddNoRewritable() {
- // 准备参数
- MappedStatement ms = mock(MappedStatement.class);
- List rules = singletonList(new DeptDataPermissionRule());
- // mock 方法
- when(ms.getId()).thenReturn("selectById");
-
- // 调用
- interceptor.getMappedStatementCache().addNoRewritable(ms, rules);
- // 断言
- Map, Set> noRewritableMappedStatements =
- interceptor.getMappedStatementCache().getNoRewritableMappedStatements();
- assertEquals(1, noRewritableMappedStatements.size());
- assertEquals(SetUtils.asSet("selectById"), noRewritableMappedStatements.get(DeptDataPermissionRule.class));
- }
-
- @Test
- public void testNoRewritable() {
- // 准备参数
- MappedStatement ms = mock(MappedStatement.class);
- // mock 方法
- when(ms.getId()).thenReturn("selectById");
- // mock 数据
- List rules = singletonList(new DeptDataPermissionRule());
- interceptor.getMappedStatementCache().addNoRewritable(ms, rules);
-
- // 场景一,rules 为空
- assertTrue(interceptor.getMappedStatementCache().noRewritable(ms, null));
- // 场景二,rules 非空,可重写
- assertFalse(interceptor.getMappedStatementCache().noRewritable(ms, singletonList(new EmptyDataPermissionRule())));
- // 场景三,rule 非空,不可重写
- assertTrue(interceptor.getMappedStatementCache().noRewritable(ms, rules));
- }
-
- private static class DeptDataPermissionRule implements DataPermissionRule {
-
- private static final String COLUMN = "dept_id";
-
- @Override
- public Set getTableNames() {
- return SetUtils.asSet("t_user");
- }
-
- @Override
- public Expression getExpression(String tableName, Alias tableAlias) {
- Column column = MyBatisUtils.buildColumn(tableName, tableAlias, COLUMN);
- LongValue value = new LongValue(100L);
- return new EqualsTo(column, value);
- }
-
- }
-
- private static class EmptyDataPermissionRule implements DataPermissionRule {
-
- @Override
- public Set getTableNames() {
- return Collections.emptySet();
- }
-
- @Override
- public Expression getExpression(String tableName, Alias tableAlias) {
- return null;
- }
-
- }
-
-}
diff --git a/cf-framework/cf-spring-boot-starter-biz-data-permission/src/test/java/com/cf/imes/framework/datapermission/core/db/DataPermissionDatabaseInterceptorTest2.java b/cf-framework/cf-spring-boot-starter-biz-data-permission/src/test/java/com/cf/imes/framework/datapermission/core/db/DataPermissionRuleHandlerTest.java
similarity index 96%
rename from cf-framework/cf-spring-boot-starter-biz-data-permission/src/test/java/com/cf/imes/framework/datapermission/core/db/DataPermissionDatabaseInterceptorTest2.java
rename to cf-framework/cf-spring-boot-starter-biz-data-permission/src/test/java/com/cf/imes/framework/datapermission/core/db/DataPermissionRuleHandlerTest.java
index 4f68613d8..53dde9d43 100644
--- a/cf-framework/cf-spring-boot-starter-biz-data-permission/src/test/java/com/cf/imes/framework/datapermission/core/db/DataPermissionDatabaseInterceptorTest2.java
+++ b/cf-framework/cf-spring-boot-starter-biz-data-permission/src/test/java/com/cf/imes/framework/datapermission/core/db/DataPermissionRuleHandlerTest.java
@@ -1,5 +1,6 @@
package com.cf.imes.framework.datapermission.core.db;
+import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
import com.cf.imes.framework.datapermission.core.rule.DataPermissionRule;
import com.cf.imes.framework.datapermission.core.rule.DataPermissionRuleFactory;
import com.cf.imes.framework.mybatis.core.util.MyBatisUtils;
@@ -10,6 +11,7 @@ import net.sf.jsqlparser.expression.LongValue;
import net.sf.jsqlparser.expression.operators.relational.EqualsTo;
import net.sf.jsqlparser.expression.operators.relational.ExpressionList;
import net.sf.jsqlparser.expression.operators.relational.InExpression;
+import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
import net.sf.jsqlparser.schema.Column;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -21,28 +23,34 @@ import java.util.Set;
import static com.cf.imes.framework.common.util.collection.SetUtils.asSet;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.when;
/**
- * {@link DataPermissionDatabaseInterceptor} 的单元测试
+ * {@link DataPermissionRuleHandler} 的单元测试
* 主要复用了 MyBatis Plus 的 TenantLineInnerInterceptorTest 的单元测试
* 不过它的单元测试不是很规范,考虑到是复用的,所以暂时不进行修改~
*
- * @author 晨丰科技
+ * @author 芋道源码
*/
-public class DataPermissionDatabaseInterceptorTest2 extends BaseMockitoUnitTest {
+public class DataPermissionRuleHandlerTest extends BaseMockitoUnitTest {
@InjectMocks
- private DataPermissionDatabaseInterceptor interceptor;
+ private DataPermissionRuleHandler handler;
@Mock
private DataPermissionRuleFactory ruleFactory;
+ private DataPermissionInterceptor interceptor;
+
@BeforeEach
public void setUp() {
- // 组织的数据权限规则
+ interceptor = new DataPermissionInterceptor(handler);
+
+ // 租户的数据权限规则
DataPermissionRule tenantRule = new DataPermissionRule() {
- private static final String COLUMN = "organ_id";
+ private static final String COLUMN = "tenant_id";
@Override
public Set getTableNames() {
@@ -71,14 +79,14 @@ public class DataPermissionDatabaseInterceptorTest2 extends BaseMockitoUnitTest
@Override
public Expression getExpression(String tableName, Alias tableAlias) {
Column column = MyBatisUtils.buildColumn(tableName, tableAlias, COLUMN);
- ExpressionList values = new ExpressionList(new LongValue(10L),
+ ExpressionList values = new ExpressionList<>(new LongValue(10L),
new LongValue(20L));
- return new InExpression(column, values);
+ return new InExpression(column, new ParenthesedExpressionList((values)));
}
};
- // 设置到上下文,保证
- DataPermissionDatabaseInterceptor.ContextHolder.init(Arrays.asList(tenantRule, deptRule));
+ // 设置到上下文
+ when(ruleFactory.getDataPermissionRule(any())).thenReturn(Arrays.asList(tenantRule, deptRule));
}
@Test
@@ -262,7 +270,7 @@ public class DataPermissionDatabaseInterceptorTest2 extends BaseMockitoUnitTest
"right join entity2 e2 on e1.id = e2.id",
"SELECT * FROM entity e " +
"LEFT JOIN entity1 e1 ON e1.id = e.id AND e1.tenant_id = 1 " +
- "RIGHT JOIN entity2 e2 ON e1.id = e2.id AND e1.tenant_id = 1 " +
+ "RIGHT JOIN entity2 e2 ON e1.id = e2.id AND e.tenant_id = 1 " +
"WHERE e2.tenant_id = 1");
assertSql("SELECT * FROM entity e " +
@@ -447,7 +455,6 @@ public class DataPermissionDatabaseInterceptorTest2 extends BaseMockitoUnitTest
assertEquals(targetSql, interceptor.parserSingle(sql, null));
}
-
// ========== 额外的测试 ==========
@Test
diff --git a/cf-framework/cf-spring-boot-starter-biz-ip/src/main/java/com/cf/imes/framework/ip/core/service/imp/IPQueryServiceImpl.java b/cf-framework/cf-spring-boot-starter-biz-ip/src/main/java/com/cf/imes/framework/ip/core/service/imp/IPQueryServiceImpl.java
index 37d1971d1..b5c027ec7 100644
--- a/cf-framework/cf-spring-boot-starter-biz-ip/src/main/java/com/cf/imes/framework/ip/core/service/imp/IPQueryServiceImpl.java
+++ b/cf-framework/cf-spring-boot-starter-biz-ip/src/main/java/com/cf/imes/framework/ip/core/service/imp/IPQueryServiceImpl.java
@@ -16,7 +16,7 @@ import com.cf.imes.framework.ip.core.service.dto.IPQueryDataRespDTO;
import com.cf.imes.framework.ip.core.service.dto.IPQueryRespDTO;
import lombok.extern.slf4j.Slf4j;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* @author Gqr
diff --git a/cf-framework/cf-spring-boot-starter-biz-ip/src/test/java/com/cf/imes/framework/ip/service/IPQueryServiceTest.java b/cf-framework/cf-spring-boot-starter-biz-ip/src/test/java/com/cf/imes/framework/ip/service/IPQueryServiceTest.java
index 8f16eda2d..a23e7276f 100644
--- a/cf-framework/cf-spring-boot-starter-biz-ip/src/test/java/com/cf/imes/framework/ip/service/IPQueryServiceTest.java
+++ b/cf-framework/cf-spring-boot-starter-biz-ip/src/test/java/com/cf/imes/framework/ip/service/IPQueryServiceTest.java
@@ -8,7 +8,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import static com.cf.imes.framework.test.core.util.RandomUtils.randomString;
import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/cf-framework/cf-spring-boot-starter-biz-operatelog/src/main/java/com/cf/imes/framework/operatelog/core/aop/OperateLogAspect.java b/cf-framework/cf-spring-boot-starter-biz-operatelog/src/main/java/com/cf/imes/framework/operatelog/core/aop/OperateLogAspect.java
index 175e07f12..3d51f2854 100644
--- a/cf-framework/cf-spring-boot-starter-biz-operatelog/src/main/java/com/cf/imes/framework/operatelog/core/aop/OperateLogAspect.java
+++ b/cf-framework/cf-spring-boot-starter-biz-operatelog/src/main/java/com/cf/imes/framework/operatelog/core/aop/OperateLogAspect.java
@@ -27,9 +27,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.lang.annotation.Annotation;
import java.lang.reflect.Array;
import java.time.LocalDateTime;
diff --git a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/security/OrganSecurityWebFilter.java b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/security/OrganSecurityWebFilter.java
index e3fcf604c..5637fd231 100644
--- a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/security/OrganSecurityWebFilter.java
+++ b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/security/OrganSecurityWebFilter.java
@@ -19,10 +19,10 @@ import com.cf.imes.module.system.enums.ErrorCodeConstants;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.AntPathMatcher;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Objects;
diff --git a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/web/OrganContextWebFilter.java b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/web/OrganContextWebFilter.java
index d526ca436..5ce67a807 100644
--- a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/web/OrganContextWebFilter.java
+++ b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/com/cf/imes/framework/organ/core/web/OrganContextWebFilter.java
@@ -4,10 +4,10 @@ import com.cf.imes.framework.organ.core.context.OrganContextHolder;
import com.cf.imes.framework.web.core.util.WebFrameworkUtils;
import org.springframework.web.filter.OncePerRequestFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
diff --git a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/org/springframework/messaging/handler/invocation/InvocableHandlerMethod.java b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/org/springframework/messaging/handler/invocation/InvocableHandlerMethod.java
index 782280514..6c6304ec9 100644
--- a/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/org/springframework/messaging/handler/invocation/InvocableHandlerMethod.java
+++ b/cf-framework/cf-spring-boot-starter-biz-organ/src/main/java/org/springframework/messaging/handler/invocation/InvocableHandlerMethod.java
@@ -225,7 +225,7 @@ public class InvocableHandlerMethod extends HandlerMethod {
return new AsyncResultMethodParameter(returnValue);
}
- private class AsyncResultMethodParameter extends HandlerMethodParameter {
+ private class AsyncResultMethodParameter extends AnnotatedMethodParameter {
@Nullable
private final Object returnValue;
diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/PayClientConfig.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/PayClientConfig.java
index ac08c4e3c..eaf50c9ae 100644
--- a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/PayClientConfig.java
+++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/PayClientConfig.java
@@ -2,7 +2,7 @@ package com.cf.imes.framework.pay.core.client;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import javax.validation.Validator;
+import jakarta.validation.Validator;
/**
* 支付客户端的配置,本质是支付渠道的配置
diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/order/PayOrderUnifiedReqDTO.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/order/PayOrderUnifiedReqDTO.java
index 23e0cd536..00c9dd44c 100644
--- a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/order/PayOrderUnifiedReqDTO.java
+++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/order/PayOrderUnifiedReqDTO.java
@@ -6,9 +6,9 @@ import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.URL;
-import javax.validation.constraints.DecimalMin;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.DecimalMin;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.Map;
diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/refund/PayRefundUnifiedReqDTO.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/refund/PayRefundUnifiedReqDTO.java
index a5af9ab99..efe604553 100644
--- a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/refund/PayRefundUnifiedReqDTO.java
+++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/refund/PayRefundUnifiedReqDTO.java
@@ -7,9 +7,9 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.URL;
-import javax.validation.constraints.DecimalMin;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.DecimalMin;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
/**
* 统一 退款 Request DTO
diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/transfer/PayTransferUnifiedReqDTO.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/transfer/PayTransferUnifiedReqDTO.java
index 83b35f0b4..e96121c78 100644
--- a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/transfer/PayTransferUnifiedReqDTO.java
+++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/dto/transfer/PayTransferUnifiedReqDTO.java
@@ -5,9 +5,9 @@ import com.cf.imes.framework.pay.core.enums.transfer.PayTransferTypeEnum;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import java.util.Map;
/**
diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/NonePayClientConfig.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/NonePayClientConfig.java
index 74a94ec7d..d838bd601 100644
--- a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/NonePayClientConfig.java
+++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/NonePayClientConfig.java
@@ -3,7 +3,7 @@ package com.cf.imes.framework.pay.core.client.impl;
import com.cf.imes.framework.pay.core.client.PayClientConfig;
import lombok.Data;
-import javax.validation.Validator;
+import jakarta.validation.Validator;
/**
* 无需任何配置 PayClientConfig 实现类
diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/alipay/AlipayPayClientConfig.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/alipay/AlipayPayClientConfig.java
index 3b1c4280a..a3f6712ee 100644
--- a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/alipay/AlipayPayClientConfig.java
+++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/alipay/AlipayPayClientConfig.java
@@ -4,9 +4,9 @@ import com.cf.imes.framework.common.util.validation.ValidationUtils;
import com.cf.imes.framework.pay.core.client.PayClientConfig;
import lombok.Data;
-import javax.validation.Validator;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Validator;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
/**
* 支付宝的 PayClientConfig 实现类
diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/mock/MockPayClientConfig.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/mock/MockPayClientConfig.java
index 05a0cb9ba..8563dee09 100644
--- a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/mock/MockPayClientConfig.java
+++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/mock/MockPayClientConfig.java
@@ -3,7 +3,7 @@ package com.cf.imes.framework.pay.core.client.impl.mock;
import com.cf.imes.framework.pay.core.client.PayClientConfig;
import lombok.Data;
-import javax.validation.Validator;
+import jakarta.validation.Validator;
/**
* 模拟支付的 PayClientConfig 实现类
diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxPayClientConfig.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxPayClientConfig.java
index b8ab645a5..7ebc45c51 100644
--- a/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxPayClientConfig.java
+++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/main/java/com/cf/imes/framework/pay/core/client/impl/weixin/WxPayClientConfig.java
@@ -5,8 +5,8 @@ import com.cf.imes.framework.common.util.validation.ValidationUtils;
import com.cf.imes.framework.pay.core.client.PayClientConfig;
import lombok.Data;
-import javax.validation.Validator;
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.Validator;
+import jakarta.validation.constraints.NotBlank;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
diff --git a/cf-framework/cf-spring-boot-starter-biz-pay/src/test/java/com/cf/imes/framework/pay/core/client/impl/alipay/AbstractAlipayClientTest.java b/cf-framework/cf-spring-boot-starter-biz-pay/src/test/java/com/cf/imes/framework/pay/core/client/impl/alipay/AbstractAlipayClientTest.java
index 59d7b58c8..38ae561ce 100644
--- a/cf-framework/cf-spring-boot-starter-biz-pay/src/test/java/com/cf/imes/framework/pay/core/client/impl/alipay/AbstractAlipayClientTest.java
+++ b/cf-framework/cf-spring-boot-starter-biz-pay/src/test/java/com/cf/imes/framework/pay/core/client/impl/alipay/AbstractAlipayClientTest.java
@@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test;
import org.mockito.ArgumentMatcher;
import org.mockito.Mock;
-import javax.validation.ConstraintViolationException;
+import jakarta.validation.ConstraintViolationException;
import java.util.Date;
import static com.cf.imes.framework.pay.core.client.impl.alipay.AlipayPayClientConfig.MODE_PUBLIC_KEY;
diff --git a/cf-framework/cf-spring-boot-starter-elasticsearch/pom.xml b/cf-framework/cf-spring-boot-starter-elasticsearch/pom.xml
index dd489e0c9..0492c8d2d 100644
--- a/cf-framework/cf-spring-boot-starter-elasticsearch/pom.xml
+++ b/cf-framework/cf-spring-boot-starter-elasticsearch/pom.xml
@@ -17,7 +17,6 @@
17
17
UTF-8
- 8.8.1
2.1.1
@@ -41,7 +40,7 @@
co.elastic.clients
elasticsearch-java
- ${elasticsearch.version}
+
jakarta.json
diff --git a/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/dal/ESDocument.java b/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/dal/ESDocument.java
index 2249999e1..06c388725 100644
--- a/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/dal/ESDocument.java
+++ b/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/dal/ESDocument.java
@@ -5,7 +5,7 @@ import com.cf.imes.framework.es.core.valid.UpdateGroup;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static com.cf.imes.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
diff --git a/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/valid/CreateGroup.java b/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/valid/CreateGroup.java
index f5137a2db..ae844a622 100644
--- a/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/valid/CreateGroup.java
+++ b/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/valid/CreateGroup.java
@@ -1,6 +1,6 @@
package com.cf.imes.framework.es.core.valid;
-import javax.validation.groups.Default;
+import jakarta.validation.groups.Default;
/**
* @author there
diff --git a/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/valid/UpdateGroup.java b/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/valid/UpdateGroup.java
index 0b1f18380..83cd1609b 100644
--- a/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/valid/UpdateGroup.java
+++ b/cf-framework/cf-spring-boot-starter-elasticsearch/src/main/java/com/cf/imes/framework/es/core/valid/UpdateGroup.java
@@ -1,6 +1,6 @@
package com.cf.imes.framework.es.core.valid;
-import javax.validation.groups.Default;
+import jakarta.validation.groups.Default;
/**
* @author there
diff --git a/cf-framework/cf-spring-boot-starter-env/src/main/java/com/cf/imes/framework/env/core/util/EnvUtils.java b/cf-framework/cf-spring-boot-starter-env/src/main/java/com/cf/imes/framework/env/core/util/EnvUtils.java
index 2f5b82693..224dd3877 100644
--- a/cf-framework/cf-spring-boot-starter-env/src/main/java/com/cf/imes/framework/env/core/util/EnvUtils.java
+++ b/cf-framework/cf-spring-boot-starter-env/src/main/java/com/cf/imes/framework/env/core/util/EnvUtils.java
@@ -6,7 +6,7 @@ import lombok.SneakyThrows;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.core.env.Environment;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import java.net.InetAddress;
import java.util.Objects;
diff --git a/cf-framework/cf-spring-boot-starter-env/src/main/java/com/cf/imes/framework/env/core/web/EnvWebFilter.java b/cf-framework/cf-spring-boot-starter-env/src/main/java/com/cf/imes/framework/env/core/web/EnvWebFilter.java
index b181a441c..85124880b 100644
--- a/cf-framework/cf-spring-boot-starter-env/src/main/java/com/cf/imes/framework/env/core/web/EnvWebFilter.java
+++ b/cf-framework/cf-spring-boot-starter-env/src/main/java/com/cf/imes/framework/env/core/web/EnvWebFilter.java
@@ -5,10 +5,10 @@ import com.cf.imes.framework.env.core.context.EnvContextHolder;
import com.cf.imes.framework.env.core.util.EnvUtils;
import org.springframework.web.filter.OncePerRequestFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
diff --git a/cf-framework/cf-spring-boot-starter-excel/src/main/java/com/cf/imes/framework/excel/core/util/ExcelUtils.java b/cf-framework/cf-spring-boot-starter-excel/src/main/java/com/cf/imes/framework/excel/core/util/ExcelUtils.java
index 4141226c7..0b4dbdf06 100644
--- a/cf-framework/cf-spring-boot-starter-excel/src/main/java/com/cf/imes/framework/excel/core/util/ExcelUtils.java
+++ b/cf-framework/cf-spring-boot-starter-excel/src/main/java/com/cf/imes/framework/excel/core/util/ExcelUtils.java
@@ -5,7 +5,7 @@ import com.alibaba.excel.converters.longconverter.LongStringConverter;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import org.springframework.web.multipart.MultipartFile;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
diff --git a/cf-framework/cf-spring-boot-starter-flowable/pom.xml b/cf-framework/cf-spring-boot-starter-flowable/pom.xml
deleted file mode 100644
index 8f6a99458..000000000
--- a/cf-framework/cf-spring-boot-starter-flowable/pom.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
- cf-framework
- com.cf.imes
- ${revision}
-
- 4.0.0
-
- cf-spring-boot-starter-flowable
-
-
-
- com.cf.imes
- cf-common
-
-
-
-
- com.cf.imes
- cf-spring-boot-starter-security
-
-
-
-
- org.flowable
- flowable-spring-boot-starter-process
-
-
- org.flowable
- flowable-spring-boot-starter-actuator
-
-
-
-
diff --git a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/config/ChenfengFlowableConfiguration.java b/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/config/ChenfengFlowableConfiguration.java
deleted file mode 100644
index ed0dbb423..000000000
--- a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/config/ChenfengFlowableConfiguration.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.cf.imes.framework.flowable.config;
-
-import com.cf.imes.framework.common.enums.WebFilterOrderEnum;
-import com.cf.imes.framework.flowable.core.web.FlowableWebFilter;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.web.servlet.FilterRegistrationBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.core.task.AsyncListenableTaskExecutor;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
-
-@AutoConfiguration
-public class ChenfengFlowableConfiguration {
-
- /**
- * 参考 {@link org.flowable.spring.boot.FlowableJobConfiguration} 类,创建对应的 AsyncListenableTaskExecutor Bean
- *
- * 如果不创建,会导致项目启动时,Flowable 报错的问题
- */
- @Bean(name = "applicationTaskExecutor")
- @ConditionalOnMissingBean(name = "applicationTaskExecutor")
- public AsyncListenableTaskExecutor taskExecutor() {
- ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
- executor.setCorePoolSize(8);
- executor.setMaxPoolSize(8);
- executor.setQueueCapacity(100);
- executor.setThreadNamePrefix("flowable-task-Executor-");
- executor.setAwaitTerminationSeconds(30);
- executor.setWaitForTasksToCompleteOnShutdown(true);
- executor.setAllowCoreThreadTimeOut(true);
- executor.initialize();
- return executor;
- }
-
- /**
- * 配置 flowable Web 过滤器
- */
- @Bean
- public FilterRegistrationBean flowableWebFilter() {
- FilterRegistrationBean registrationBean = new FilterRegistrationBean<>();
- registrationBean.setFilter(new FlowableWebFilter());
- registrationBean.setOrder(WebFilterOrderEnum.FLOWABLE_FILTER);
- return registrationBean;
- }
-
-}
diff --git a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/package-info.java b/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/package-info.java
deleted file mode 100644
index ddb2be94a..000000000
--- a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/package-info.java
+++ /dev/null
@@ -1 +0,0 @@
-package com.cf.imes.framework.flowable.core;
diff --git a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/util/BpmnModelUtils.java b/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/util/BpmnModelUtils.java
deleted file mode 100644
index ad3fdbe57..000000000
--- a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/util/BpmnModelUtils.java
+++ /dev/null
@@ -1,309 +0,0 @@
-package com.cf.imes.framework.flowable.core.util;
-
-import cn.hutool.core.collection.CollUtil;
-import org.flowable.bpmn.converter.BpmnXMLConverter;
-import org.flowable.bpmn.model.Process;
-import org.flowable.bpmn.model.*;
-
-import java.util.*;
-
-/**
- * 流程模型转操作工具类
- */
-public class BpmnModelUtils {
-
- /**
- * 根据节点,获取入口连线
- *
- * @param source 起始节点
- * @return 入口连线列表
- */
- public static List getElementIncomingFlows(FlowElement source) {
- if (source instanceof FlowNode) {
- return ((FlowNode) source).getIncomingFlows();
- }
- return new ArrayList<>();
- }
-
- /**
- * 根据节点,获取出口连线
- *
- * @param source 起始节点
- * @return 出口连线列表
- */
- public static List getElementOutgoingFlows(FlowElement source) {
- if (source instanceof FlowNode) {
- return ((FlowNode) source).getOutgoingFlows();
- }
- return new ArrayList<>();
- }
-
- /**
- * 获取流程元素信息
- *
- * @param model bpmnModel 对象
- * @param flowElementId 元素 ID
- * @return 元素信息
- */
- public static FlowElement getFlowElementById(BpmnModel model, String flowElementId) {
- Process process = model.getMainProcess();
- return process.getFlowElement(flowElementId);
- }
-
- /**
- * 获得 BPMN 流程中,指定的元素们
- *
- * @param model
- * @param clazz 指定元素。例如说,{@link UserTask}、{@link Gateway} 等等
- * @return 元素们
- */
- public static List getBpmnModelElements(BpmnModel model, Class clazz) {
- List result = new ArrayList<>();
- model.getProcesses().forEach(process -> {
- process.getFlowElements().forEach(flowElement -> {
- if (flowElement.getClass().isAssignableFrom(clazz)) {
- result.add((T) flowElement);
- }
- });
- });
- return result;
- }
-
- /**
- * 比较 两个bpmnModel 是否相同
- * @param oldModel 老的bpmn model
- * @param newModel 新的bpmn model
- */
- public static boolean equals(BpmnModel oldModel, BpmnModel newModel) {
- // 由于 BpmnModel 未提供 equals 方法,所以只能转成字节数组,进行比较
- return Arrays.equals(getBpmnBytes(oldModel), getBpmnBytes(newModel));
- }
-
- /**
- * 把 bpmnModel 转换成 byte[]
- * @param model bpmnModel
- */
- public static byte[] getBpmnBytes(BpmnModel model) {
- if (model == null) {
- return new byte[0];
- }
- BpmnXMLConverter converter = new BpmnXMLConverter();
- return converter.convertToXML(model);
- }
-
- // ========== 遍历相关的方法 ==========
-
- /**
- * 找到 source 节点之前的所有用户任务节点
- *
- * @param source 起始节点
- * @param hasSequenceFlow 已经经过的连线的 ID,用于判断线路是否重复
- * @param userTaskList 已找到的用户任务节点
- * @return 用户任务节点 数组
- */
- public static List getPreviousUserTaskList(FlowElement source, Set hasSequenceFlow, List userTaskList) {
- userTaskList = userTaskList == null ? new ArrayList<>() : userTaskList;
- hasSequenceFlow = hasSequenceFlow == null ? new HashSet<>() : hasSequenceFlow;
- // 如果该节点为开始节点,且存在上级子节点,则顺着上级子节点继续迭代
- if (source instanceof StartEvent && source.getSubProcess() != null) {
- userTaskList = getPreviousUserTaskList(source.getSubProcess(), hasSequenceFlow, userTaskList);
- }
-
- // 根据类型,获取入口连线
- List sequenceFlows = getElementIncomingFlows(source);
- if (sequenceFlows == null) {
- return userTaskList;
- }
- // 循环找到目标元素
- for (SequenceFlow sequenceFlow : sequenceFlows) {
- // 如果发现连线重复,说明循环了,跳过这个循环
- if (hasSequenceFlow.contains(sequenceFlow.getId())) {
- continue;
- }
- // 添加已经走过的连线
- hasSequenceFlow.add(sequenceFlow.getId());
- // 类型为用户节点,则新增父级节点
- if (sequenceFlow.getSourceFlowElement() instanceof UserTask) {
- userTaskList.add((UserTask) sequenceFlow.getSourceFlowElement());
- }
- // 类型为子流程,则添加子流程开始节点出口处相连的节点
- if (sequenceFlow.getSourceFlowElement() instanceof SubProcess) {
- // 获取子流程用户任务节点
- List childUserTaskList = findChildProcessUserTaskList((StartEvent) ((SubProcess) sequenceFlow.getSourceFlowElement()).getFlowElements().toArray()[0], null, null);
- // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续
- if (CollUtil.isNotEmpty(childUserTaskList)) {
- userTaskList.addAll(childUserTaskList);
- }
- }
- // 继续迭代
- userTaskList = getPreviousUserTaskList(sequenceFlow.getSourceFlowElement(), hasSequenceFlow, userTaskList);
- }
- return userTaskList;
- }
-
- /**
- * 迭代获取子流程用户任务节点
- *
- * @param source 起始节点
- * @param hasSequenceFlow 已经经过的连线的 ID,用于判断线路是否重复
- * @param userTaskList 需要撤回的用户任务列表
- * @return 用户任务节点
- */
- public static List findChildProcessUserTaskList(FlowElement source, Set hasSequenceFlow, List userTaskList) {
- hasSequenceFlow = hasSequenceFlow == null ? new HashSet<>() : hasSequenceFlow;
- userTaskList = userTaskList == null ? new ArrayList<>() : userTaskList;
-
- // 根据类型,获取出口连线
- List sequenceFlows = getElementOutgoingFlows(source);
- if (sequenceFlows == null) {
- return userTaskList;
- }
- // 循环找到目标元素
- for (SequenceFlow sequenceFlow : sequenceFlows) {
- // 如果发现连线重复,说明循环了,跳过这个循环
- if (hasSequenceFlow.contains(sequenceFlow.getId())) {
- continue;
- }
- // 添加已经走过的连线
- hasSequenceFlow.add(sequenceFlow.getId());
- // 如果为用户任务类型,且任务节点的 Key 正在运行的任务中存在,添加
- if (sequenceFlow.getTargetFlowElement() instanceof UserTask) {
- userTaskList.add((UserTask) sequenceFlow.getTargetFlowElement());
- continue;
- }
- // 如果节点为子流程节点情况,则从节点中的第一个节点开始获取
- if (sequenceFlow.getTargetFlowElement() instanceof SubProcess) {
- List childUserTaskList = findChildProcessUserTaskList((FlowElement) (((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements().toArray()[0]), hasSequenceFlow, null);
- // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续
- if (CollUtil.isNotEmpty(childUserTaskList)) {
- userTaskList.addAll(childUserTaskList);
- continue;
- }
- }
- // 继续迭代
- userTaskList = findChildProcessUserTaskList(sequenceFlow.getTargetFlowElement(), hasSequenceFlow, userTaskList);
- }
- return userTaskList;
- }
-
-
- /**
- * 迭代从后向前扫描,判断目标节点相对于当前节点是否是串行
- * 不存在直接回退到子流程中的情况,但存在从子流程出去到父流程情况
- *
- * @param source 起始节点
- * @param target 目标节点
- * @param visitedElements 已经经过的连线的 ID,用于判断线路是否重复
- * @return 结果
- */
- public static boolean isSequentialReachable(FlowElement source, FlowElement target, Set visitedElements) {
- visitedElements = visitedElements == null ? new HashSet<>() : visitedElements;
- // 不能是开始事件和子流程
- if (source instanceof StartEvent && isInEventSubprocess(source)) {
- return false;
- }
-
- // 根据类型,获取入口连线
- List sequenceFlows = getElementIncomingFlows(source);
- if (CollUtil.isEmpty(sequenceFlows)) {
- return true;
- }
- // 循环找到目标元素
- for (SequenceFlow sequenceFlow : sequenceFlows) {
- // 如果发现连线重复,说明循环了,跳过这个循环
- if (visitedElements.contains(sequenceFlow.getId())) {
- continue;
- }
- // 添加已经走过的连线
- visitedElements.add(sequenceFlow.getId());
- // 这条线路存在目标节点,这条线路完成,进入下个线路
- FlowElement sourceFlowElement = sequenceFlow.getSourceFlowElement();
- if (target.getId().equals(sourceFlowElement.getId())) {
- continue;
- }
- // 如果目标节点为并行网关,则不继续
- if (sourceFlowElement instanceof ParallelGateway) {
- return false;
- }
- // 否则就继续迭代
- if (!isSequentialReachable(sourceFlowElement, target, visitedElements)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * 判断当前节点是否属于不同的子流程
- *
- * @param flowElement 被判断的节点
- * @return true 表示属于子流程
- */
- private static boolean isInEventSubprocess(FlowElement flowElement) {
- FlowElementsContainer flowElementsContainer = flowElement.getParentContainer();
- while (flowElementsContainer != null) {
- if (flowElementsContainer instanceof EventSubProcess) {
- return true;
- }
-
- if (flowElementsContainer instanceof FlowElement) {
- flowElementsContainer = ((FlowElement) flowElementsContainer).getParentContainer();
- } else {
- flowElementsContainer = null;
- }
- }
- return false;
- }
-
- /**
- * 根据正在运行的任务节点,迭代获取子级任务节点列表,向后找
- *
- * @param source 起始节点
- * @param runTaskKeyList 正在运行的任务 Key,用于校验任务节点是否是正在运行的节点
- * @param hasSequenceFlow 已经经过的连线的 ID,用于判断线路是否重复
- * @param userTaskList 需要撤回的用户任务列表
- * @return 子级任务节点列表
- */
- public static List iteratorFindChildUserTasks(FlowElement source, List runTaskKeyList,
- Set hasSequenceFlow, List userTaskList) {
- hasSequenceFlow = hasSequenceFlow == null ? new HashSet<>() : hasSequenceFlow;
- userTaskList = userTaskList == null ? new ArrayList<>() : userTaskList;
- // 如果该节点为开始节点,且存在上级子节点,则顺着上级子节点继续迭代
- if (source instanceof StartEvent && source.getSubProcess() != null) {
- userTaskList = iteratorFindChildUserTasks(source.getSubProcess(), runTaskKeyList, hasSequenceFlow, userTaskList);
- }
-
- // 根据类型,获取出口连线
- List sequenceFlows = getElementOutgoingFlows(source);
- if (sequenceFlows == null) {
- return userTaskList;
- }
- // 循环找到目标元素
- for (SequenceFlow sequenceFlow : sequenceFlows) {
- // 如果发现连线重复,说明循环了,跳过这个循环
- if (hasSequenceFlow.contains(sequenceFlow.getId())) {
- continue;
- }
- // 添加已经走过的连线
- hasSequenceFlow.add(sequenceFlow.getId());
- // 如果为用户任务类型,且任务节点的 Key 正在运行的任务中存在,添加
- if (sequenceFlow.getTargetFlowElement() instanceof UserTask && runTaskKeyList.contains((sequenceFlow.getTargetFlowElement()).getId())) {
- userTaskList.add((UserTask) sequenceFlow.getTargetFlowElement());
- continue;
- }
- // 如果节点为子流程节点情况,则从节点中的第一个节点开始获取
- if (sequenceFlow.getTargetFlowElement() instanceof SubProcess) {
- List childUserTaskList = iteratorFindChildUserTasks((FlowElement) (((SubProcess) sequenceFlow.getTargetFlowElement()).getFlowElements().toArray()[0]), runTaskKeyList, hasSequenceFlow, null);
- // 如果找到节点,则说明该线路找到节点,不继续向下找,反之继续
- if (CollUtil.isNotEmpty(childUserTaskList)) {
- userTaskList.addAll(childUserTaskList);
- continue;
- }
- }
- // 继续迭代
- userTaskList = iteratorFindChildUserTasks(sequenceFlow.getTargetFlowElement(), runTaskKeyList, hasSequenceFlow, userTaskList);
- }
- return userTaskList;
- }
-
-}
diff --git a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/util/FlowableUtils.java b/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/util/FlowableUtils.java
deleted file mode 100644
index 284d973ca..000000000
--- a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/util/FlowableUtils.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.cf.imes.framework.flowable.core.util;
-
-import org.flowable.common.engine.impl.identity.Authentication;
-
-/**
- * Flowable 相关的工具方法
- *
- * @author 晨丰科技
- */
-public class FlowableUtils {
-
- // ========== User 相关的工具方法 ==========
-
- public static void setAuthenticatedUserId(Long userId) {
- Authentication.setAuthenticatedUserId(String.valueOf(userId));
- }
-
- public static void clearAuthenticatedUserId() {
- Authentication.setAuthenticatedUserId(null);
- }
-
- // ========== Execution 相关的工具方法 ==========
-
- public static String formatCollectionVariable(String activityId) {
- return activityId + "_assignees";
- }
-
- public static String formatCollectionElementVariable(String activityId) {
- return activityId + "_assignee";
- }
-
-}
diff --git a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/web/FlowableWebFilter.java b/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/web/FlowableWebFilter.java
deleted file mode 100644
index e5d0df579..000000000
--- a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/core/web/FlowableWebFilter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.cf.imes.framework.flowable.core.web;
-
-import com.cf.imes.framework.flowable.core.util.FlowableUtils;
-import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
-import org.springframework.web.filter.OncePerRequestFilter;
-
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-/**
- * flowable Web 过滤器,将 userId 设置到 {@link org.flowable.common.engine.impl.identity.Authentication} 中
- *
- * @author jason
- */
-public class FlowableWebFilter extends OncePerRequestFilter {
-
- @Override
- protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
- throws ServletException, IOException {
- try {
- // 设置工作流的用户
- Long userId = SecurityFrameworkUtils.getLoginUserId();
- if (userId != null) {
- FlowableUtils.setAuthenticatedUserId(userId);
- }
- // 过滤
- chain.doFilter(request, response);
- } finally {
- // 清理
- FlowableUtils.clearAuthenticatedUserId();
- }
- }
-}
diff --git a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/package-info.java b/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/package-info.java
deleted file mode 100644
index 46923e86d..000000000
--- a/cf-framework/cf-spring-boot-starter-flowable/src/main/java/com/cf/imes/framework/flowable/package-info.java
+++ /dev/null
@@ -1 +0,0 @@
-package com.cf.imes.framework.flowable;
diff --git a/cf-framework/cf-spring-boot-starter-flowable/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cf-framework/cf-spring-boot-starter-flowable/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index 8355aa92a..000000000
--- a/cf-framework/cf-spring-boot-starter-flowable/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1 +0,0 @@
-com.cf.imes.framework.flowable.config.ChenfengFlowableConfiguration
diff --git a/cf-framework/cf-spring-boot-starter-job/src/main/java/com/cf/imes/framework/quartz/config/XxlJobProperties.java b/cf-framework/cf-spring-boot-starter-job/src/main/java/com/cf/imes/framework/quartz/config/XxlJobProperties.java
index a07c402fb..8154313a4 100644
--- a/cf-framework/cf-spring-boot-starter-job/src/main/java/com/cf/imes/framework/quartz/config/XxlJobProperties.java
+++ b/cf-framework/cf-spring-boot-starter-job/src/main/java/com/cf/imes/framework/quartz/config/XxlJobProperties.java
@@ -4,9 +4,9 @@ import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated;
-import javax.validation.Valid;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
/**
* XXL-Job 配置类
diff --git a/cf-framework/cf-spring-boot-starter-monitor/src/main/java/com/cf/imes/framework/tracer/config/ChenfengTracerAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-monitor/src/main/java/com/cf/imes/framework/tracer/config/ChenfengTracerAutoConfiguration.java
index 2566c30e4..4e87f9a52 100644
--- a/cf-framework/cf-spring-boot-starter-monitor/src/main/java/com/cf/imes/framework/tracer/config/ChenfengTracerAutoConfiguration.java
+++ b/cf-framework/cf-spring-boot-starter-monitor/src/main/java/com/cf/imes/framework/tracer/config/ChenfengTracerAutoConfiguration.java
@@ -16,7 +16,7 @@ import org.springframework.context.annotation.Bean;
* @author mashu
*/
@AutoConfiguration
-@ConditionalOnClass({BizTraceAspect.class})
+@ConditionalOnClass(value = {BizTraceAspect.class}, name = "jakarta.servlet.Filter")
@EnableConfigurationProperties(TracerProperties.class)
@ConditionalOnProperty(prefix = "chenfeng.tracer", value = "enable", matchIfMissing = true)
public class ChenfengTracerAutoConfiguration {
diff --git a/cf-framework/cf-spring-boot-starter-monitor/src/main/java/com/cf/imes/framework/tracer/core/filter/TraceFilter.java b/cf-framework/cf-spring-boot-starter-monitor/src/main/java/com/cf/imes/framework/tracer/core/filter/TraceFilter.java
index a488bf3db..ac27b96c0 100644
--- a/cf-framework/cf-spring-boot-starter-monitor/src/main/java/com/cf/imes/framework/tracer/core/filter/TraceFilter.java
+++ b/cf-framework/cf-spring-boot-starter-monitor/src/main/java/com/cf/imes/framework/tracer/core/filter/TraceFilter.java
@@ -3,10 +3,10 @@ package com.cf.imes.framework.tracer.core.filter;
import org.slf4j.MDC;
import org.springframework.web.filter.OncePerRequestFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.UUID;
diff --git a/cf-framework/cf-spring-boot-starter-mq/src/main/java/com/cf/imes/framework/mq/redis/config/ChenfengRedisMQConsumerAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-mq/src/main/java/com/cf/imes/framework/mq/redis/config/ChenfengRedisMQConsumerAutoConfiguration.java
index ad702edc0..5acda3eec 100644
--- a/cf-framework/cf-spring-boot-starter-mq/src/main/java/com/cf/imes/framework/mq/redis/config/ChenfengRedisMQConsumerAutoConfiguration.java
+++ b/cf-framework/cf-spring-boot-starter-mq/src/main/java/com/cf/imes/framework/mq/redis/config/ChenfengRedisMQConsumerAutoConfiguration.java
@@ -68,11 +68,11 @@ public class ChenfengRedisMQConsumerAutoConfiguration {
@Bean
@ConditionalOnBean(AbstractRedisSimpleMessageListener.class)
public RedisMessageListenerContainer redisDelListenerContainer(
- RedisTemplate redisTemplate, List listeners) {
+ RedisMQTemplate redisMQTemplate, List listeners) {
// 创建 RedisMessageListenerContainer 对象
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
// 设置 RedisConnection 工厂。
- container.setConnectionFactory(redisTemplate.getRequiredConnectionFactory());
+ container.setConnectionFactory(redisMQTemplate.getRedisTemplate().getRequiredConnectionFactory());
// 添加监听器
listeners.forEach(listener -> {
container.addMessageListener(listener, listener.getTopic());
diff --git a/cf-framework/cf-spring-boot-starter-mybatis/pom.xml b/cf-framework/cf-spring-boot-starter-mybatis/pom.xml
index 70cddc72b..63d2888d9 100644
--- a/cf-framework/cf-spring-boot-starter-mybatis/pom.xml
+++ b/cf-framework/cf-spring-boot-starter-mybatis/pom.xml
@@ -56,15 +56,25 @@
com.alibaba
- druid-spring-boot-starter
+ druid-spring-boot-3-starter
com.baomidou
- mybatis-plus-boot-starter
+ mybatis-plus-spring-boot3-starter
com.baomidou
- dynamic-datasource-spring-boot-starter
+ mybatis-plus-jsqlparser
+
+
+ com.baomidou
+ dynamic-datasource-spring-boot3-starter
+
+
+ org.springframework.boot
+ spring-boot-starter-undertow
+
+
diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/config/ChenfengDataSourceAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/config/ChenfengDataSourceAutoConfiguration.java
index 4762faf64..575bbd47e 100644
--- a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/config/ChenfengDataSourceAutoConfiguration.java
+++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/config/ChenfengDataSourceAutoConfiguration.java
@@ -1,7 +1,7 @@
package com.cf.imes.framework.datasource.config;
import com.cf.imes.framework.datasource.core.filter.DruidAdRemoveFilter;
-import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties;
+import com.alibaba.druid.spring.boot3.autoconfigure.properties.DruidStatProperties;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/config/ChenfengDataSourceEncryptConfiguration.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/config/ChenfengDataSourceEncryptConfiguration.java
index fe12fc47f..ad67cf61f 100644
--- a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/config/ChenfengDataSourceEncryptConfiguration.java
+++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/config/ChenfengDataSourceEncryptConfiguration.java
@@ -4,7 +4,6 @@ import com.baomidou.dynamic.datasource.event.DataSourceInitEvent;
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration;
import com.cf.imes.framework.mybatis.core.event.ChenfengDataSourceEncryptInitEvent;
import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
@@ -13,8 +12,7 @@ import org.springframework.context.annotation.Bean;
* @author Gqr
* @since 2024/8/26 18:20
*/
-@AutoConfiguration
-@AutoConfigureBefore(DynamicDataSourceAutoConfiguration.class)
+@AutoConfiguration(before = DynamicDataSourceAutoConfiguration.class)
@ConditionalOnProperty(name = "chenfeng.encrypt.enable", havingValue = "true")
public class ChenfengDataSourceEncryptConfiguration {
@Bean
diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/core/filter/DruidAdRemoveFilter.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/core/filter/DruidAdRemoveFilter.java
index fee3e975a..e9c41d672 100644
--- a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/core/filter/DruidAdRemoveFilter.java
+++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/datasource/core/filter/DruidAdRemoveFilter.java
@@ -3,10 +3,10 @@ package com.cf.imes.framework.datasource.core.filter;
import com.alibaba.druid.util.Utils;
import org.springframework.web.filter.OncePerRequestFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
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 5861bb53a..6725bc102 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
@@ -1,6 +1,7 @@
package com.cf.imes.framework.mybatis.config;
import cn.hutool.core.text.CharSequenceUtil;
+import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
@@ -25,7 +26,7 @@ import org.springframework.core.env.ConfigurableEnvironment;
*
* @author 晨丰科技
*/
-@AutoConfiguration
+@AutoConfiguration(before = MybatisPlusAutoConfiguration.class) // 目的:先于 MyBatis Plus 自动配置,避免 @MapperScan 可能扫描不到 Mapper 打印 warn 日志
@MapperScan(value = "${chenfeng.info.base-package}", annotationClass = Mapper.class,
lazyInitialization = "${mybatis.lazy-initialization:false}") // Mapper 懒加载,目前仅用于单元测试
public class ChenfengMybatisAutoConfiguration {
diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/handler/DefaultDBFieldHandler.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/handler/DefaultDBFieldHandler.java
index ff287fffb..9af10bbb4 100644
--- a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/handler/DefaultDBFieldHandler.java
+++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/handler/DefaultDBFieldHandler.java
@@ -13,8 +13,8 @@ import org.apache.ibatis.reflection.MetaObject;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.util.StringUtils;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/mapper/BaseMapperX.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/mapper/BaseMapperX.java
index 8f6c93f73..0724edf88 100644
--- a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/mapper/BaseMapperX.java
+++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/mapper/BaseMapperX.java
@@ -172,10 +172,6 @@ public interface BaseMapperX extends MPJBaseMapper {
return Db.updateBatchById(entities, size);
}
- default Boolean insertOrUpdate(T entity) {
- return Db.saveOrUpdate(entity);
- }
-
default Boolean insertOrUpdateBatch(Collection collection) {
return Db.saveOrUpdateBatch(collection);
}
diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/JsonLongSetTypeHandler.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/JsonLongSetTypeHandler.java
index 20a2da952..550bf90f9 100644
--- a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/JsonLongSetTypeHandler.java
+++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/type/JsonLongSetTypeHandler.java
@@ -4,6 +4,7 @@ import com.cf.imes.framework.common.util.json.JsonUtils;
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
import com.fasterxml.jackson.core.type.TypeReference;
+import java.lang.reflect.Field;
import java.util.Set;
/**
@@ -18,13 +19,21 @@ public class JsonLongSetTypeHandler extends AbstractJsonTypeHandler
-
- org.redisson
- redisson-spring-data-27
-
org.springframework.boot
diff --git a/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/config/ChenfengCacheAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/config/ChenfengCacheAutoConfiguration.java
index f8136ab2e..5ea00716b 100644
--- a/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/config/ChenfengCacheAutoConfiguration.java
+++ b/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/config/ChenfengCacheAutoConfiguration.java
@@ -81,7 +81,7 @@ public class ChenfengCacheAutoConfiguration {
}
@Bean
- public RedisLockUtil lockUtil(RedisTemplate redisTemplate) {
+ public RedisLockUtil lockUtil(RedisTemplate redisTemplate) {
return new RedisLockUtil(redisTemplate);
}
}
diff --git a/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/config/ChenfengRedisAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/config/ChenfengRedisAutoConfiguration.java
index 94952e909..48175158a 100644
--- a/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/config/ChenfengRedisAutoConfiguration.java
+++ b/cf-framework/cf-spring-boot-starter-redis/src/main/java/com/cf/imes/framework/redis/config/ChenfengRedisAutoConfiguration.java
@@ -3,6 +3,7 @@ package com.cf.imes.framework.redis.config;
import cn.hutool.core.util.ReflectUtil;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import org.redisson.spring.starter.RedissonAutoConfigurationV2;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.RedisConnectionFactory;
@@ -12,7 +13,7 @@ import org.springframework.data.redis.serializer.RedisSerializer;
/**
* Redis 配置类
*/
-@AutoConfiguration
+@AutoConfiguration(before = RedissonAutoConfigurationV2.class) // 目的:使用自己定义的 RedisTemplate Bean
public class ChenfengRedisAutoConfiguration {
/**
diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/operatelog/core/service/LogRecordServiceImpl.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/operatelog/core/service/LogRecordServiceImpl.java
index a5bcf53a3..1a9584d6f 100644
--- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/operatelog/core/service/LogRecordServiceImpl.java
+++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/operatelog/core/service/LogRecordServiceImpl.java
@@ -10,8 +10,8 @@ import com.mzt.logapi.beans.LogRecord;
import com.mzt.logapi.service.ILogRecordService;
import lombok.extern.slf4j.Slf4j;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
import java.util.List;
/**
diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/AuthorizeRequestsCustomizer.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/AuthorizeRequestsCustomizer.java
index a90f5c2a4..d484e01eb 100644
--- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/AuthorizeRequestsCustomizer.java
+++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/AuthorizeRequestsCustomizer.java
@@ -4,9 +4,9 @@ import com.cf.imes.framework.web.config.WebProperties;
import org.springframework.core.Ordered;
import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;
+import org.springframework.security.config.annotation.web.configurers.AuthorizeHttpRequestsConfigurer;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* 自定义的 URL 的安全配置
@@ -15,7 +15,7 @@ import javax.annotation.Resource;
* @author 晨丰科技
*/
public abstract class AuthorizeRequestsCustomizer
- implements Customizer.ExpressionInterceptUrlRegistry>, Ordered {
+ implements Customizer.AuthorizationManagerRequestMatcherRegistry>, Ordered {
@Resource
private WebProperties webProperties;
diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengSecurityAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengSecurityAutoConfiguration.java
index 70302c86e..6dde3d57b 100644
--- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengSecurityAutoConfiguration.java
+++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengSecurityAutoConfiguration.java
@@ -12,6 +12,7 @@ import com.cf.imes.module.system.api.oauth2.OAuth2TokenApi;
import com.cf.imes.module.system.api.permission.PermissionApi;
import org.springframework.beans.factory.config.MethodInvokingFactoryBean;
import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureOrder;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.security.core.context.SecurityContextHolder;
@@ -22,7 +23,7 @@ import org.springframework.security.web.access.AccessDeniedHandler;
import org.springframework.security.web.firewall.DefaultHttpFirewall;
import org.springframework.security.web.firewall.HttpFirewall;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* Spring Security 自动配置类,主要用于相关组件的配置
@@ -33,6 +34,7 @@ import javax.annotation.Resource;
* @author 晨丰科技
*/
@AutoConfiguration
+@AutoConfigureOrder(-1) // 目的:先于 Spring Security 自动配置,避免一键改包后,org.* 基础包无法生效
@EnableConfigurationProperties(SecurityProperties.class)
public class ChenfengSecurityAutoConfiguration {
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 020fe1869..3d242f49d 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
@@ -5,14 +5,19 @@ import com.cf.imes.framework.security.core.filter.TokenAuthenticationFilter;
import com.cf.imes.framework.web.config.WebProperties;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
+import jakarta.servlet.DispatcherType;
import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.boot.autoconfigure.AutoConfigureOrder;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.http.HttpMethod;
import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
+import org.springframework.security.config.annotation.web.configurers.HeadersConfigurer;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.security.web.SecurityFilterChain;
@@ -23,8 +28,8 @@ import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
-import javax.annotation.Resource;
-import javax.annotation.security.PermitAll;
+import jakarta.annotation.Resource;
+import jakarta.annotation.security.PermitAll;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -35,6 +40,7 @@ import java.util.Set;
* @author 晨丰科技
*/
@AutoConfiguration
+@AutoConfigureOrder(-1) // 目的:先于 Spring Security 自动配置,避免一键改包后,org.* 基础包无法生效
@EnableMethodSecurity(securedEnabled = true)
public class ChenfengWebSecurityConfigurerAdapter {
@@ -101,15 +107,15 @@ public class ChenfengWebSecurityConfigurerAdapter {
// 登出
httpSecurity
// 开启跨域
- .cors().and()
+ .cors(Customizer.withDefaults())
// CSRF 禁用,因为不使用 Session
- .csrf().disable()
+ .csrf(AbstractHttpConfigurer::disable)
// 基于 token 机制,所以不需要 Session
- .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
- .headers().frameOptions().disable().and()
+ .sessionManagement(c -> c.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
+ .headers(c -> c.frameOptions(HeadersConfigurer.FrameOptionsConfig::disable))
// 一堆自定义的 Spring Security 处理器
- .exceptionHandling().authenticationEntryPoint(authenticationEntryPoint)
- .accessDeniedHandler(accessDeniedHandler);
+ .exceptionHandling(c -> c.authenticationEntryPoint(authenticationEntryPoint)
+ .accessDeniedHandler(accessDeniedHandler));
// 登录、登录暂时不使用 Spring Security 的拓展点,主要考虑一方面拓展多用户、多种登录方式相对复杂,一方面用户的学习成本较高
// 获得 @PermitAll 带来的 URL 列表,免登录
@@ -117,25 +123,25 @@ public class ChenfengWebSecurityConfigurerAdapter {
// 设置每个请求的权限
httpSecurity
// ①:全局共享规则
- .authorizeRequests()
- // 1.1 静态资源,可匿名访问
- .antMatchers(HttpMethod.GET, "/*.html", "/**/*.html", "/**/*.css", "/**/*.js").permitAll()
- // 1.2 设置 @PermitAll 无需认证
- .antMatchers(HttpMethod.GET, permitAllUrls.get(HttpMethod.GET).toArray(new String[0])).permitAll()
- .antMatchers(HttpMethod.POST, permitAllUrls.get(HttpMethod.POST).toArray(new String[0])).permitAll()
- .antMatchers(HttpMethod.PUT, permitAllUrls.get(HttpMethod.PUT).toArray(new String[0])).permitAll()
- .antMatchers(HttpMethod.DELETE, permitAllUrls.get(HttpMethod.DELETE).toArray(new String[0])).permitAll()
- // 1.3 基于 chenfeng.security.permit-all-urls 无需认证
- .antMatchers(securityProperties.getPermitAllUrls().toArray(new String[0])).permitAll()
- // 1.4 设置 App API 无需认证
- .antMatchers(buildAppApi("/**")).permitAll()
+ .authorizeHttpRequests(c -> c
+ // 1.1 静态资源,可匿名访问
+ .requestMatchers(HttpMethod.GET, "/*.html", "/*.css", "/*.js").permitAll()
+ // 1.2 设置 @PermitAll 无需认证
+ .requestMatchers(HttpMethod.GET, permitAllUrls.get(HttpMethod.GET).toArray(new String[0])).permitAll()
+ .requestMatchers(HttpMethod.POST, permitAllUrls.get(HttpMethod.POST).toArray(new String[0])).permitAll()
+ .requestMatchers(HttpMethod.PUT, permitAllUrls.get(HttpMethod.PUT).toArray(new String[0])).permitAll()
+ .requestMatchers(HttpMethod.DELETE, permitAllUrls.get(HttpMethod.DELETE).toArray(new String[0])).permitAll()
+ .requestMatchers(HttpMethod.HEAD, permitAllUrls.get(HttpMethod.HEAD).toArray(new String[0])).permitAll()
+ .requestMatchers(HttpMethod.PATCH, permitAllUrls.get(HttpMethod.PATCH).toArray(new String[0])).permitAll()
+ // 1.3 基于 yudao.security.permit-all-urls 无需认证
+ .requestMatchers(securityProperties.getPermitAllUrls().toArray(new String[0])).permitAll()
+ )
// ②:每个项目的自定义规则
- .and().authorizeRequests(registry -> // 下面,循环设置自定义规则
- authorizeRequestsCustomizers.forEach(customizer -> customizer.customize(registry)))
+ .authorizeHttpRequests(c -> authorizeRequestsCustomizers.forEach(customizer -> customizer.customize(c)))
// ③:兜底规则,必须认证
- .authorizeRequests()
- .anyRequest().authenticated()
- ;
+ .authorizeHttpRequests(c -> c
+ .dispatcherTypeMatchers(DispatcherType.ASYNC).permitAll() // WebFlux 异步请求,无需认证,目的:SSE 场景
+ .anyRequest().authenticated());
// 添加 Token Filter
httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/SecurityProperties.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/SecurityProperties.java
index 341d08cb9..b321f3aaf 100644
--- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/SecurityProperties.java
+++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/SecurityProperties.java
@@ -4,8 +4,8 @@ import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import java.util.Collections;
import java.util.List;
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 68f295c0c..d5be20ccb 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
@@ -20,10 +20,10 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.web.filter.OncePerRequestFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/handler/AccessDeniedHandlerImpl.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/handler/AccessDeniedHandlerImpl.java
index 36dce8fe4..e843d84bc 100644
--- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/handler/AccessDeniedHandlerImpl.java
+++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/handler/AccessDeniedHandlerImpl.java
@@ -9,10 +9,10 @@ import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.web.access.AccessDeniedHandler;
import org.springframework.security.web.access.ExceptionTranslationFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.FORBIDDEN;
diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/handler/AuthenticationEntryPointImpl.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/handler/AuthenticationEntryPointImpl.java
index a193997fb..6f607d217 100644
--- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/handler/AuthenticationEntryPointImpl.java
+++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/handler/AuthenticationEntryPointImpl.java
@@ -8,9 +8,9 @@ import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.security.web.access.ExceptionTranslationFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.UNAUTHORIZED;
diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/util/SecurityFrameworkUtils.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/util/SecurityFrameworkUtils.java
index 32a9caa1e..07c8ee7d6 100644
--- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/util/SecurityFrameworkUtils.java
+++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/util/SecurityFrameworkUtils.java
@@ -13,7 +13,7 @@ import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
import org.springframework.util.StringUtils;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import java.util.Collections;
/**
diff --git a/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/ut/BaseDbAndRedisUnitTest.java b/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/ut/BaseDbAndRedisUnitTest.java
index c554ec178..4b321c201 100644
--- a/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/ut/BaseDbAndRedisUnitTest.java
+++ b/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/ut/BaseDbAndRedisUnitTest.java
@@ -5,7 +5,7 @@ import com.cf.imes.framework.mybatis.config.ChenfengMybatisAutoConfiguration;
import com.cf.imes.framework.redis.config.ChenfengRedisAutoConfiguration;
import com.cf.imes.framework.test.config.RedisTestConfiguration;
import com.cf.imes.framework.test.config.SqlInitializationTestConfiguration;
-import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
+import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import org.redisson.spring.starter.RedissonAutoConfiguration;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
diff --git a/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/ut/BaseDbUnitTest.java b/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/ut/BaseDbUnitTest.java
index cebe1ab5a..e928e704b 100644
--- a/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/ut/BaseDbUnitTest.java
+++ b/cf-framework/cf-spring-boot-starter-test/src/main/java/com/cf/imes/framework/test/core/ut/BaseDbUnitTest.java
@@ -3,7 +3,7 @@ package com.cf.imes.framework.test.core.ut;
import com.cf.imes.framework.datasource.config.ChenfengDataSourceAutoConfiguration;
import com.cf.imes.framework.mybatis.config.ChenfengMybatisAutoConfiguration;
import com.cf.imes.framework.test.config.SqlInitializationTestConfiguration;
-import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
+import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import com.github.yulichang.autoconfigure.MybatisPlusJoinAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
diff --git a/cf-framework/cf-spring-boot-starter-web/pom.xml b/cf-framework/cf-spring-boot-starter-web/pom.xml
index 43400ff80..909c83171 100644
--- a/cf-framework/cf-spring-boot-starter-web/pom.xml
+++ b/cf-framework/cf-spring-boot-starter-web/pom.xml
@@ -45,12 +45,13 @@
- com.github.xiaoymin
- knife4j-openapi3-spring-boot-starter
+ com.github.xingfudeshi
+ knife4j-openapi3-jakarta-spring-boot-starter
- org.springdoc
- springdoc-openapi-ui
+ org.springdoc
+ springdoc-openapi-starter-webmvc-api
+ provided
@@ -75,7 +76,7 @@
com.baomidou
- dynamic-datasource-spring-boot-starter
+ dynamic-datasource-spring-boot3-starter
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/apilog/config/ChenfengApiLogAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/apilog/config/ChenfengApiLogAutoConfiguration.java
index df5498d15..d0730b49c 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/apilog/config/ChenfengApiLogAutoConfiguration.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/apilog/config/ChenfengApiLogAutoConfiguration.java
@@ -11,7 +11,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
-import javax.servlet.Filter;
+import jakarta.servlet.Filter;
@AutoConfiguration(after = ChenfengWebAutoConfiguration.class)
public class ChenfengApiLogAutoConfiguration {
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/apilog/core/filter/ApiAccessLogFilter.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/apilog/core/filter/ApiAccessLogFilter.java
index fc2a9f5d2..27d49988f 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/apilog/core/filter/ApiAccessLogFilter.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/apilog/core/filter/ApiAccessLogFilter.java
@@ -14,10 +14,10 @@ import com.cf.imes.module.infra.api.logger.ApiAccessLogApi;
import com.cf.imes.module.infra.api.logger.dto.ApiAccessLogCreateReqDTO;
import lombok.extern.slf4j.Slf4j;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/config/ErrorCodeProperties.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/config/ErrorCodeProperties.java
index a3b3fb8e8..5fcda5c57 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/config/ErrorCodeProperties.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/errorcode/config/ErrorCodeProperties.java
@@ -4,7 +4,7 @@ import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.util.List;
/**
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/swagger/config/ChenfengSwaggerAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/swagger/config/ChenfengSwaggerAutoConfiguration.java
index 70b3a4db0..cf9eab12a 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/swagger/config/ChenfengSwaggerAutoConfiguration.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/swagger/config/ChenfengSwaggerAutoConfiguration.java
@@ -9,10 +9,14 @@ import io.swagger.v3.oas.models.media.StringSchema;
import io.swagger.v3.oas.models.parameters.Parameter;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
-import org.springdoc.core.*;
+import org.springdoc.core.models.GroupedOpenApi;
+import org.springdoc.core.properties.SpringDocConfigProperties;
+import org.springdoc.core.service.OpenAPIService;
+import org.springdoc.core.service.SecurityService;
import org.springdoc.core.customizers.OpenApiBuilderCustomizer;
import org.springdoc.core.customizers.ServerBaseUrlCustomizer;
import org.springdoc.core.providers.JavadocProvider;
+import org.springdoc.core.utils.PropertyResolverUtils;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/swagger/config/SwaggerProperties.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/swagger/config/SwaggerProperties.java
index a0c687777..32b1b3855 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/swagger/config/SwaggerProperties.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/swagger/config/SwaggerProperties.java
@@ -3,7 +3,7 @@ package com.cf.imes.framework.swagger.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotEmpty;
/**
* Swagger 配置属性
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/config/ChenfengWebAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/config/ChenfengWebAutoConfiguration.java
index bc0df4635..192f413e9 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/config/ChenfengWebAutoConfiguration.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/config/ChenfengWebAutoConfiguration.java
@@ -25,8 +25,8 @@ import org.springframework.web.filter.CorsFilter;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-import javax.annotation.Resource;
-import javax.servlet.Filter;
+import jakarta.annotation.Resource;
+import jakarta.servlet.Filter;
@AutoConfiguration
@EnableConfigurationProperties(WebProperties.class)
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/config/WebProperties.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/config/WebProperties.java
index e5db05c8d..22d005145 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/config/WebProperties.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/config/WebProperties.java
@@ -7,9 +7,9 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
-import javax.validation.Valid;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
@ConfigurationProperties(prefix = "chenfeng.web")
@Validated
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/ApiRequestFilter.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/ApiRequestFilter.java
index 11af97c96..72b8e60d3 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/ApiRequestFilter.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/ApiRequestFilter.java
@@ -5,7 +5,7 @@ import com.cf.imes.framework.web.config.WebProperties;
import lombok.RequiredArgsConstructor;
import org.springframework.web.filter.OncePerRequestFilter;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
/**
* 过滤 /admin-api、/app-api 等 API 请求的过滤器
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/CacheRequestBodyFilter.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/CacheRequestBodyFilter.java
index 339bbce16..0dae74683 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/CacheRequestBodyFilter.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/CacheRequestBodyFilter.java
@@ -3,10 +3,10 @@ package com.cf.imes.framework.web.core.filter;
import com.cf.imes.framework.common.util.servlet.ServletUtils;
import org.springframework.web.filter.OncePerRequestFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
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 58fb97187..0524bc011 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
@@ -2,10 +2,10 @@ package com.cf.imes.framework.web.core.filter;
import com.cf.imes.framework.common.util.servlet.ServletUtils;
-import javax.servlet.ReadListener;
-import javax.servlet.ServletInputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.ReadListener;
+import jakarta.servlet.ServletInputStream;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/DataSourceFilter.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/DataSourceFilter.java
index c7e6263fb..3f9a67663 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/DataSourceFilter.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/DataSourceFilter.java
@@ -8,10 +8,10 @@ import com.cf.imes.framework.common.util.servlet.ServletUtils;
import com.cf.imes.framework.web.config.WebProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.filter.OncePerRequestFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/DemoFilter.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/DemoFilter.java
index 71405780f..f6019abfc 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/DemoFilter.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/filter/DemoFilter.java
@@ -6,9 +6,9 @@ import com.cf.imes.framework.common.util.servlet.ServletUtils;
import com.cf.imes.framework.web.core.util.WebFrameworkUtils;
import org.springframework.web.filter.OncePerRequestFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.DEMO_DENY;
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 a6669623a..ac518306a 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
@@ -30,10 +30,10 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
import org.springframework.web.servlet.NoHandlerFoundException;
-import javax.servlet.http.HttpServletRequest;
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
-import javax.validation.ValidationException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.ValidationException;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.Map;
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/util/WebFrameworkUtils.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/util/WebFrameworkUtils.java
index a38f8ed11..91e1ce2bf 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/util/WebFrameworkUtils.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/web/core/util/WebFrameworkUtils.java
@@ -10,8 +10,8 @@ import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
-import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
/**
* 专属于 web 包的工具类
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/xss/core/filter/XssFilter.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/xss/core/filter/XssFilter.java
index 27734bc3e..be048f2e5 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/xss/core/filter/XssFilter.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/xss/core/filter/XssFilter.java
@@ -6,10 +6,10 @@ import lombok.AllArgsConstructor;
import org.springframework.util.PathMatcher;
import org.springframework.web.filter.OncePerRequestFilter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
diff --git a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/xss/core/filter/XssRequestWrapper.java b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/xss/core/filter/XssRequestWrapper.java
index 342519169..5e9c95071 100644
--- a/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/xss/core/filter/XssRequestWrapper.java
+++ b/cf-framework/cf-spring-boot-starter-web/src/main/java/com/cf/imes/framework/xss/core/filter/XssRequestWrapper.java
@@ -2,8 +2,8 @@ package com.cf.imes.framework.xss.core.filter;
import com.cf.imes.framework.xss.core.clean.XssCleaner;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
import java.util.LinkedHashMap;
import java.util.Map;
diff --git a/cf-framework/cf-spring-boot-starter-websocket/src/main/java/com/cf/imes/framework/websocket/config/WebSocketProperties.java b/cf-framework/cf-spring-boot-starter-websocket/src/main/java/com/cf/imes/framework/websocket/config/WebSocketProperties.java
index 9f12c4fed..e9062d65e 100644
--- a/cf-framework/cf-spring-boot-starter-websocket/src/main/java/com/cf/imes/framework/websocket/config/WebSocketProperties.java
+++ b/cf-framework/cf-spring-boot-starter-websocket/src/main/java/com/cf/imes/framework/websocket/config/WebSocketProperties.java
@@ -4,8 +4,8 @@ import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
/**
* WebSocket 配置项
diff --git a/cf-framework/cf-spring-boot-starter-websocket/src/main/java/com/cf/imes/framework/websocket/core/security/WebSocketAuthorizeRequestsCustomizer.java b/cf-framework/cf-spring-boot-starter-websocket/src/main/java/com/cf/imes/framework/websocket/core/security/WebSocketAuthorizeRequestsCustomizer.java
index 23c129f9f..734849422 100644
--- a/cf-framework/cf-spring-boot-starter-websocket/src/main/java/com/cf/imes/framework/websocket/core/security/WebSocketAuthorizeRequestsCustomizer.java
+++ b/cf-framework/cf-spring-boot-starter-websocket/src/main/java/com/cf/imes/framework/websocket/core/security/WebSocketAuthorizeRequestsCustomizer.java
@@ -4,6 +4,7 @@ import com.cf.imes.framework.security.config.AuthorizeRequestsCustomizer;
import com.cf.imes.framework.websocket.config.WebSocketProperties;
import lombok.RequiredArgsConstructor;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configurers.AuthorizeHttpRequestsConfigurer;
import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;
/**
@@ -17,8 +18,8 @@ public class WebSocketAuthorizeRequestsCustomizer extends AuthorizeRequestsCusto
private final WebSocketProperties webSocketProperties;
@Override
- public void customize(ExpressionUrlAuthorizationConfigurer.ExpressionInterceptUrlRegistry registry) {
- registry.antMatchers(webSocketProperties.getPath()).permitAll();
+ public void customize(AuthorizeHttpRequestsConfigurer.AuthorizationManagerRequestMatcherRegistry registry) {
+ registry.requestMatchers(webSocketProperties.getPath()).permitAll();
}
}
diff --git a/cf-framework/pom.xml b/cf-framework/pom.xml
index 8839548dd..dda3d847c 100644
--- a/cf-framework/pom.xml
+++ b/cf-framework/pom.xml
@@ -18,7 +18,6 @@
cf-spring-boot-starter-security
cf-spring-boot-starter-monitor
- cf-spring-boot-starter-protection
cf-spring-boot-starter-job
cf-spring-boot-starter-mq
@@ -35,7 +34,6 @@
cf-spring-boot-starter-biz-id
cf-spring-boot-starter-biz-ip
- cf-spring-boot-starter-flowable
cf-spring-boot-starter-websocket
cf-spring-boot-starter-elasticsearch
diff --git a/cf-gateway/pom.xml b/cf-gateway/pom.xml
index 65751ce0f..ce0565a98 100644
--- a/cf-gateway/pom.xml
+++ b/cf-gateway/pom.xml
@@ -15,12 +15,6 @@
API 服务网关,基于 Spring Cloud Gateway 实现
-
-
- org.springframework.cloud
- spring-cloud-starter-bootstrap
-
-
com.cf.imes
@@ -40,11 +34,6 @@
spring-cloud-starter-gateway
-
- javax.servlet
- javax.servlet-api
-
-
com.github.xiaoymin
knife4j-gateway-spring-boot-starter
diff --git a/cf-gateway/src/main/java/com/cf/imes/gateway/filter/logging/AccessLogFilter.java b/cf-gateway/src/main/java/com/cf/imes/gateway/filter/logging/AccessLogFilter.java
index 956991a9d..fd43ee361 100644
--- a/cf-gateway/src/main/java/com/cf/imes/gateway/filter/logging/AccessLogFilter.java
+++ b/cf-gateway/src/main/java/com/cf/imes/gateway/filter/logging/AccessLogFilter.java
@@ -23,6 +23,7 @@ import org.springframework.core.io.buffer.DataBufferFactory;
import org.springframework.core.io.buffer.DataBufferUtils;
import org.springframework.core.io.buffer.DefaultDataBufferFactory;
import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ReactiveHttpOutputMessage;
import org.springframework.http.codec.CodecConfigurer;
@@ -38,7 +39,7 @@ import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.List;
@@ -142,7 +143,7 @@ public class AccessLogFilter implements GlobalFilter, Ordered {
AccessLog gatewayLog = new AccessLog();
gatewayLog.setRoute(WebFrameworkUtils.getGatewayRoute(exchange));
gatewayLog.setSchema(request.getURI().getScheme());
- gatewayLog.setRequestMethod(request.getMethodValue());
+ gatewayLog.setRequestMethod(request.getMethod().name());
gatewayLog.setRequestUrl(request.getURI().getRawPath());
gatewayLog.setQueryParams(request.getQueryParams());
gatewayLog.setRequestHeaders(request.getHeaders());
@@ -220,7 +221,7 @@ public class AccessLogFilter implements GlobalFilter, Ordered {
// 设置其它字段
gatewayLog.setUserId(SecurityFrameworkUtils.getLoginUserId(exchange));
gatewayLog.setResponseHeaders(response.getHeaders());
- gatewayLog.setHttpStatus(response.getStatusCode());
+ gatewayLog.setHttpStatus((HttpStatus) response.getStatusCode());
// 获取响应类型,如果是 json 就打印
String originalResponseContentType = exchange.getAttribute(ServerWebExchangeUtils.ORIGINAL_RESPONSE_CONTENT_TYPE_ATTR);
diff --git a/cf-gateway/src/main/java/com/cf/imes/gateway/handler/GlobalExceptionHandler.java b/cf-gateway/src/main/java/com/cf/imes/gateway/handler/GlobalExceptionHandler.java
index 1c8a499c9..186cb94b4 100644
--- a/cf-gateway/src/main/java/com/cf/imes/gateway/handler/GlobalExceptionHandler.java
+++ b/cf-gateway/src/main/java/com/cf/imes/gateway/handler/GlobalExceptionHandler.java
@@ -59,7 +59,7 @@ public class GlobalExceptionHandler implements ErrorWebExceptionHandler {
// TODO 晨丰:这里要精细化翻译,默认返回用户是看不懂的
ServerHttpRequest request = exchange.getRequest();
log.error("[responseStatusExceptionHandler][uri({}/{}) 发生异常]", request.getURI(), request.getMethod(), ex);
- return CommonResult.error(ex.getRawStatusCode(), ex.getReason());
+ return CommonResult.error(ex.getStatusCode().value(), ex.getReason());
}
/**
diff --git a/cf-gateway/src/main/resources/application-dev.yaml b/cf-gateway/src/main/resources/application-dev.yaml
new file mode 100644
index 000000000..e143aed28
--- /dev/null
+++ b/cf-gateway/src/main/resources/application-dev.yaml
@@ -0,0 +1,21 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
+spring:
+ cloud:
+ nacos:
+ server-addr: 192.168.1.205:8848 # Nacos 服务器地址
+ username: # Nacos 账号
+ password: # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ config: # 【注册中心】配置项
+ namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+
+chenfeng:
+ gateway:
+ accessLogEnable: false
+ access-log-ignore-urls:
+ - /report/template
+ - /system/captcha/get
\ No newline at end of file
diff --git a/cf-gateway/src/main/resources/application-local.yaml b/cf-gateway/src/main/resources/application-local.yaml
index e69de29bb..7c90ad852 100644
--- a/cf-gateway/src/main/resources/application-local.yaml
+++ b/cf-gateway/src/main/resources/application-local.yaml
@@ -0,0 +1,27 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
+spring:
+ cloud:
+ nacos:
+ server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ username: # Nacos 账号
+ password: # Nacos 密码
+ discovery: # 【配置中心】配置项
+# namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ config: # 【注册中心】配置项
+# namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+
+# 日志文件配置
+logging:
+ level:
+ org.springframework.context.support.PostProcessorRegistrationDelegate: ERROR # TODO 芋艿:先禁用,Spring Boot 3.X 存在部分错误的 WARN 提示
+
+
+chenfeng:
+ gateway:
+ accessLogEnable: false
+ access-log-ignore-urls:
+ - /report/template
+ - /system/captcha/get
\ No newline at end of file
diff --git a/cf-gateway/src/main/resources/application-test.yaml b/cf-gateway/src/main/resources/application-test.yaml
index a8f81477f..42563ddb1 100644
--- a/cf-gateway/src/main/resources/application-test.yaml
+++ b/cf-gateway/src/main/resources/application-test.yaml
@@ -1,3 +1,14 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
spring:
- main:
- allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
\ No newline at end of file
+ cloud:
+ nacos:
+ server-addr: 192.168.1.204:8848 # Nacos 服务器地址
+ username: nacos # Nacos 账号
+ password: nacos # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: imes-test # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ config: # 【注册中心】配置项
+ namespace: imes-test # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
\ No newline at end of file
diff --git a/cf-gateway/src/main/resources/application.yaml b/cf-gateway/src/main/resources/application.yaml
index 20355c372..09f1c1b17 100644
--- a/cf-gateway/src/main/resources/application.yaml
+++ b/cf-gateway/src/main/resources/application.yaml
@@ -1,10 +1,21 @@
spring:
+ application:
+ name: gateway-server
+
+ profiles:
+ active: local
+
main:
allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
codec:
# getway请求大小限制10M:1024 * 1024 * 10
max-in-memory-size: 10485760
+ config:
+ import:
+ - optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置
+ - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置
+
cloud:
# Spring Cloud Gateway 配置项,对应 GatewayProperties 类
gateway:
@@ -79,6 +90,19 @@ spring:
x-forwarded:
prefix-enabled: false # 避免 Swagger 重复带上额外的 /admin-api/system 前缀
+server:
+ port: 48080
+ # 开启Gzip压缩,默认只压缩超过2048字节的数据
+ compression:
+ enabled: true
+ min-response-size: 2048
+ mime-types: application/json
+
+# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件
+logging:
+ file:
+ name: ${user.home}/logs/${spring.application.name} # 日志文件名,全路径
+
knife4j:
# 聚合 Swagger 文档,参考 https://doc.xiaominfo.com/docs/action/springcloud-gateway 文档
gateway:
@@ -101,11 +125,4 @@ knife4j:
url: /admin-api/plan/v3/api-docs
- name: report-server
service-name: report-server
- url: /admin-api/report/v3/api-docs
-
-chenfeng:
- gateway:
- accessLogEnable: false
- access-log-ignore-urls:
- - /report/template
- - /system/captcha/get
\ No newline at end of file
+ url: /admin-api/report/v3/api-docs
\ No newline at end of file
diff --git a/cf-gateway/src/main/resources/bootstrap-dev.yaml b/cf-gateway/src/main/resources/bootstrap-dev.yaml
deleted file mode 100644
index 323e8dade..000000000
--- a/cf-gateway/src/main/resources/bootstrap-dev.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 192.168.1.205:8848
- username: nacos
- password: nacos
- discovery:
- #namespace: dev # 命名空间。这里使用 dev 开发环境
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 192.168.1.205:8848 # Nacos 服务器地址
- namespace: dev # 命名空间。这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-gateway/src/main/resources/bootstrap-local.yaml b/cf-gateway/src/main/resources/bootstrap-local.yaml
deleted file mode 100644
index 94c95c7c8..000000000
--- a/cf-gateway/src/main/resources/bootstrap-local.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 127.0.0.1:8848
- discovery:
- #namespace: dev # 命名空间。这里使用 dev 开发环境
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
- namespace: dev # 命名空间。这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-gateway/src/main/resources/bootstrap-test.yaml b/cf-gateway/src/main/resources/bootstrap-test.yaml
deleted file mode 100644
index f1c6d822e..000000000
--- a/cf-gateway/src/main/resources/bootstrap-test.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 192.168.1.204:8848
- username: nacos
- password: nacos
- discovery:
- namespace: imes-test
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 192.168.1.204:8848 # Nacos 服务器地址
- namespace: imes-test # 命名空间。
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-gateway/src/main/resources/bootstrap.yaml b/cf-gateway/src/main/resources/bootstrap.yaml
deleted file mode 100644
index 5efe1e71f..000000000
--- a/cf-gateway/src/main/resources/bootstrap.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-spring:
- application:
- name: gateway-server
-
- profiles:
- active: local
-
-server:
- port: 48080
- # 开启Gzip压缩,默认只压缩超过2048字节的数据
- compression:
- enabled: true
- min-response-size: 2048
- mime-types: application/json
-
-# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件
-logging:
- file:
- name: ${user.home}/logs/${spring.application.name} # 日志文件名,全路径
diff --git a/cf-module-infra/cf-module-infra-api/pom.xml b/cf-module-infra/cf-module-infra-api/pom.xml
index 6c5e3bceb..c4aea45e0 100644
--- a/cf-module-infra/cf-module-infra-api/pom.xml
+++ b/cf-module-infra/cf-module-infra-api/pom.xml
@@ -24,8 +24,8 @@
- org.springdoc
- springdoc-openapi-ui
+ org.springdoc
+ springdoc-openapi-starter-webmvc-api
provided
diff --git a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/file/FileApi.java b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/file/FileApi.java
index 1d5618534..f88602000 100644
--- a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/file/FileApi.java
+++ b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/file/FileApi.java
@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
@FeignClient(name = ApiConstants.NAME) // TODO 晨丰:fallbackFactory =
@Tag(name = "RPC 服务 - 文件")
diff --git a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/file/dto/FileCreateReqDTO.java b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/file/dto/FileCreateReqDTO.java
index d5308ec7a..9f42fa1bb 100644
--- a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/file/dto/FileCreateReqDTO.java
+++ b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/file/dto/FileCreateReqDTO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.infra.api.file.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotEmpty;
@Schema(description = "RPC 服务 - 文件创建 Request DTO")
@Data
diff --git a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/ApiAccessLogApi.java b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/ApiAccessLogApi.java
index 678ea53d4..89fb5452d 100644
--- a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/ApiAccessLogApi.java
+++ b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/ApiAccessLogApi.java
@@ -10,7 +10,7 @@ import org.springframework.scheduling.annotation.Async;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
@FeignClient(name = ApiConstants.NAME) // TODO 晨丰:fallbackFactory =
@Tag(name = "RPC 服务 - API 访问日志")
diff --git a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/ApiErrorLogApi.java b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/ApiErrorLogApi.java
index 7568d25e0..a6c0e33fc 100644
--- a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/ApiErrorLogApi.java
+++ b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/ApiErrorLogApi.java
@@ -10,7 +10,7 @@ import org.springframework.scheduling.annotation.Async;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
@FeignClient(name = ApiConstants.NAME) // TODO 晨丰:fallbackFactory =
@Tag(name = "RPC 服务 - API 异常日志")
diff --git a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/dto/ApiAccessLogCreateReqDTO.java b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/dto/ApiAccessLogCreateReqDTO.java
index ca5e50e81..1622d841e 100644
--- a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/dto/ApiAccessLogCreateReqDTO.java
+++ b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/dto/ApiAccessLogCreateReqDTO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.infra.api.logger.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
@Schema(description = "RPC 服务 - API 访问日志创建 Request DTO")
diff --git a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/dto/ApiErrorLogCreateReqDTO.java b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/dto/ApiErrorLogCreateReqDTO.java
index 654d08a09..bb3366b6c 100644
--- a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/dto/ApiErrorLogCreateReqDTO.java
+++ b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/logger/dto/ApiErrorLogCreateReqDTO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.infra.api.logger.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
@Schema(description = "RPC 服务 - API 错误日志创建 Request DTO")
diff --git a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/websocket/WebSocketSenderApi.java b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/websocket/WebSocketSenderApi.java
index 944d8d54c..28494de5a 100644
--- a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/websocket/WebSocketSenderApi.java
+++ b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/websocket/WebSocketSenderApi.java
@@ -10,7 +10,7 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
@FeignClient(name = ApiConstants.NAME) // TODO 晨丰:fallbackFactory =
@Tag(name = "RPC 服务 - WebSocket 发送器的") // 对 WebSocketMessageSender 进行封装,提供给其它模块使用
diff --git a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/websocket/dto/WebSocketSendReqDTO.java b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/websocket/dto/WebSocketSendReqDTO.java
index bd9d9fa95..7e220fe31 100644
--- a/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/websocket/dto/WebSocketSendReqDTO.java
+++ b/cf-module-infra/cf-module-infra-api/src/main/java/com/cf/imes/module/infra/api/websocket/dto/WebSocketSendReqDTO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.infra.api.websocket.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotEmpty;
@Schema(description = "RPC 服务 - WebSocket 消息发送 Request DTO")
@Data
diff --git a/cf-module-infra/cf-module-infra-biz/pom.xml b/cf-module-infra/cf-module-infra-biz/pom.xml
index e3137af05..12c54e28c 100644
--- a/cf-module-infra/cf-module-infra-biz/pom.xml
+++ b/cf-module-infra/cf-module-infra-biz/pom.xml
@@ -19,12 +19,6 @@
-
-
- org.springframework.cloud
- spring-cloud-starter-bootstrap
-
-
com.cf.imes
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/file/FileApiImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/file/FileApiImpl.java
index 7f0368e8a..14135c36e 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/file/FileApiImpl.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/file/FileApiImpl.java
@@ -6,7 +6,7 @@ import com.cf.imes.module.infra.service.file.FileService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/logger/ApiAccessLogApiImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/logger/ApiAccessLogApiImpl.java
index f00e4714c..79107ec23 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/logger/ApiAccessLogApiImpl.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/logger/ApiAccessLogApiImpl.java
@@ -6,7 +6,7 @@ import com.cf.imes.module.infra.service.logger.ApiAccessLogService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/logger/ApiErrorLogApiImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/logger/ApiErrorLogApiImpl.java
index 9cf3077b4..25f3dbd6a 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/logger/ApiErrorLogApiImpl.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/api/logger/ApiErrorLogApiImpl.java
@@ -6,7 +6,7 @@ import com.cf.imes.module.infra.service.logger.ApiErrorLogService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
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 b76da8c4a..69523c2fa 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
@@ -7,7 +7,7 @@ import com.cf.imes.module.infra.api.websocket.dto.WebSocketSendReqDTO;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/CodegenController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/CodegenController.java
index 902a63039..f6bb6b8dc 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/CodegenController.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/CodegenController.java
@@ -25,9 +25,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java
index e8c74c649..fe08acc6c 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.infra.controller.admin.codegen.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.util.List;
@Schema(description = "管理后台 - 基于数据库的表结构,创建代码生成器的表和字段定义 Request VO")
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java
index 6d4d5cde0..58a96951c 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java
@@ -5,8 +5,8 @@ import com.cf.imes.module.infra.controller.admin.codegen.vo.table.CodegenTableSa
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
import java.util.List;
@Schema(description = "管理后台 - 代码生成表和字段的修改 Request VO")
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/column/CodegenColumnSaveReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/column/CodegenColumnSaveReqVO.java
index 7610b26c6..b84d471bf 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/column/CodegenColumnSaveReqVO.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/column/CodegenColumnSaveReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.infra.controller.admin.codegen.vo.column;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
@Schema(description = "管理后台 - 代码生成字段定义创建/修改 Request VO")
@Data
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/table/CodegenTableSaveReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/table/CodegenTableSaveReqVO.java
index 6c11fc52b..377d3b8b9 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/table/CodegenTableSaveReqVO.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/codegen/vo/table/CodegenTableSaveReqVO.java
@@ -7,8 +7,8 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.AssertTrue;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.AssertTrue;
+import jakarta.validation.constraints.NotNull;
@Schema(description = "管理后台 - 代码生成表定义创建/修改 Response VO")
@Data
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/config/ConfigController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/config/ConfigController.java
index e22741c8f..c624e7fd6 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/config/ConfigController.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/config/ConfigController.java
@@ -19,9 +19,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.IOException;
import java.util.List;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/config/vo/ConfigSaveReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/config/vo/ConfigSaveReqVO.java
index bee720718..75a8c8443 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/config/vo/ConfigSaveReqVO.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/config/vo/ConfigSaveReqVO.java
@@ -3,10 +3,10 @@ package com.cf.imes.module.infra.controller.admin.config.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
@Schema(description = "管理后台 - 参数配置创建/修改 Request VO")
@Data
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/DataSourceConfigController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/DataSourceConfigController.java
index c42b95b2d..a4df1a44c 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/DataSourceConfigController.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/DataSourceConfigController.java
@@ -13,8 +13,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
import java.util.List;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/DatabaseDocController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/DatabaseDocController.java
index 41344ceda..db7441f48 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/DatabaseDocController.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/DatabaseDocController.java
@@ -21,8 +21,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/vo/DataSourceConfigSaveReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/vo/DataSourceConfigSaveReqVO.java
index 64f32c7a4..eb0f44d24 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/vo/DataSourceConfigSaveReqVO.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/db/vo/DataSourceConfigSaveReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.infra.controller.admin.db.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
@Schema(description = "管理后台 - 数据源配置创建/修改 Request VO")
@Data
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/FileConfigController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/FileConfigController.java
index 33cd10009..7cc5992d2 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/FileConfigController.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/FileConfigController.java
@@ -15,8 +15,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
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 5400577a2..425483c7a 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
@@ -23,11 +23,11 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
-import javax.annotation.security.PermitAll;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.annotation.security.PermitAll;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/vo/config/FileConfigSaveReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/vo/config/FileConfigSaveReqVO.java
index 24cba7b5d..59e7ce44c 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/vo/config/FileConfigSaveReqVO.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/vo/config/FileConfigSaveReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.infra.controller.admin.file.vo.config;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.util.Map;
@Schema(description = "管理后台 - 文件配置创建/修改 Request VO")
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java
index a6b0e679b..2aab874a5 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java
@@ -4,7 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
@Schema(description = "管理后台 - 上传文件 Request VO")
@Data
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/health/HealthController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/health/HealthController.java
index f70233d09..e48206365 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/health/HealthController.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/health/HealthController.java
@@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.security.PermitAll;
+import jakarta.annotation.security.PermitAll;
/**
* @description: 健康检查
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/logger/ApiAccessLogController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/logger/ApiAccessLogController.java
index 56692b6bc..a84f35295 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/logger/ApiAccessLogController.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/logger/ApiAccessLogController.java
@@ -18,9 +18,9 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.IOException;
import java.util.List;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/logger/ApiErrorLogController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/logger/ApiErrorLogController.java
index c40fec756..3a9f3e933 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/logger/ApiErrorLogController.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/logger/ApiErrorLogController.java
@@ -18,9 +18,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.IOException;
import java.util.List;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/redis/RedisController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/redis/RedisController.java
index 9fe2af4ec..37ffe17a3 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/redis/RedisController.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/redis/RedisController.java
@@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.Properties;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/app/file/AppFileController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/app/file/AppFileController.java
index 3c6b3f9a1..15bba1752 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/app/file/AppFileController.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/app/file/AppFileController.java
@@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/app/file/vo/AppFileUploadReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/app/file/vo/AppFileUploadReqVO.java
index 571793495..f70326212 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/app/file/vo/AppFileUploadReqVO.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/app/file/vo/AppFileUploadReqVO.java
@@ -4,7 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
@Schema(description = "用户 App - 上传文件 Request VO")
@Data
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/file/FileContentDAOImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/file/FileContentDAOImpl.java
index 8f222c4b8..aa8262598 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/file/FileContentDAOImpl.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/file/FileContentDAOImpl.java
@@ -6,7 +6,7 @@ import com.cf.imes.module.infra.dal.dataobject.file.FileContentDO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.springframework.stereotype.Repository;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.List;
import java.util.Optional;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/codegen/config/CodegenProperties.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/codegen/config/CodegenProperties.java
index 20d6b4863..868d00b1f 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/codegen/config/CodegenProperties.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/codegen/config/CodegenProperties.java
@@ -5,8 +5,8 @@ import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import java.util.Collection;
@ConfigurationProperties(prefix = "chenfeng.codegen")
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/db/DBFileClientConfig.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/db/DBFileClientConfig.java
index abfd4b802..96099b792 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/db/DBFileClientConfig.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/db/DBFileClientConfig.java
@@ -4,7 +4,7 @@ import com.cf.imes.module.infra.framework.file.core.client.FileClientConfig;
import lombok.Data;
import org.hibernate.validator.constraints.URL;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotEmpty;
/**
* 基于 DB 存储的文件客户端的配置类
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/ftp/FtpFileClientConfig.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/ftp/FtpFileClientConfig.java
index d88037b4a..35923a4f1 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/ftp/FtpFileClientConfig.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/ftp/FtpFileClientConfig.java
@@ -4,8 +4,8 @@ import com.cf.imes.module.infra.framework.file.core.client.FileClientConfig;
import lombok.Data;
import org.hibernate.validator.constraints.URL;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
/**
* Ftp 文件客户端的配置类
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/local/LocalFileClientConfig.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/local/LocalFileClientConfig.java
index 9aae99e05..cc62b4004 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/local/LocalFileClientConfig.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/local/LocalFileClientConfig.java
@@ -4,7 +4,7 @@ import com.cf.imes.module.infra.framework.file.core.client.FileClientConfig;
import lombok.Data;
import org.hibernate.validator.constraints.URL;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotEmpty;
/**
* 本地文件客户端的配置类
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/s3/S3FileClientConfig.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/s3/S3FileClientConfig.java
index 6af58a7f5..9ef217db6 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/s3/S3FileClientConfig.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/s3/S3FileClientConfig.java
@@ -6,8 +6,8 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import org.hibernate.validator.constraints.URL;
-import javax.validation.constraints.AssertTrue;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.AssertTrue;
+import jakarta.validation.constraints.NotNull;
/**
* S3 文件客户端的配置类
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/sftp/SftpFileClientConfig.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/sftp/SftpFileClientConfig.java
index b719f9960..19a96a31d 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/sftp/SftpFileClientConfig.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/file/core/client/sftp/SftpFileClientConfig.java
@@ -4,8 +4,8 @@ import com.cf.imes.module.infra.framework.file.core.client.FileClientConfig;
import lombok.Data;
import org.hibernate.validator.constraints.URL;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
/**
* Sftp 文件客户端的配置类
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/security/config/SecurityConfiguration.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/security/config/SecurityConfiguration.java
index 9b2eba07d..5d9618183 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/security/config/SecurityConfiguration.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/framework/security/config/SecurityConfiguration.java
@@ -6,7 +6,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;
+import org.springframework.security.config.annotation.web.configurers.AuthorizeHttpRequestsConfigurer;
/**
* Infra 模块的 Security 配置
@@ -22,24 +22,26 @@ public class SecurityConfiguration {
return new AuthorizeRequestsCustomizer() {
@Override
- public void customize(ExpressionUrlAuthorizationConfigurer.ExpressionInterceptUrlRegistry registry) {
+ public void customize(AuthorizeHttpRequestsConfigurer.AuthorizationManagerRequestMatcherRegistry registry) {
// Swagger 接口文档
- registry.antMatchers("/v3/api-docs/**").permitAll() // 元数据
- .antMatchers("/swagger-ui.html").permitAll(); // Swagger UI
+ registry.requestMatchers("/v3/api-docs/**").permitAll()
+ .requestMatchers("/webjars/**").permitAll()
+ .requestMatchers("/swagger-ui").permitAll()
+ .requestMatchers("/swagger-ui/**").permitAll();
// Spring Boot Actuator 的安全配置
- registry.antMatchers("/actuator").anonymous()
- .antMatchers("/actuator/**").anonymous();
+ registry.requestMatchers("/actuator").permitAll()
+ .requestMatchers("/actuator/**").permitAll();
// Druid 监控
- registry.antMatchers("/druid/**").anonymous();
+ registry.requestMatchers("/druid/**").permitAll();
// Spring Boot Admin Server 的安全配置
- registry.antMatchers(adminSeverContextPath).anonymous()
- .antMatchers(adminSeverContextPath + "/**").anonymous();
+ registry.requestMatchers(adminSeverContextPath).permitAll()
+ .requestMatchers(adminSeverContextPath + "/**").permitAll();
// 文件读取
- registry.antMatchers(buildAdminApi("/infra/file/*/get/**")).permitAll();
+ registry.requestMatchers(buildAdminApi("/infra/file/*/get/**")).permitAll();
- // TODO 晨丰:这个每个项目都需要重复配置,得捉摸有没通用的方案
+ // TODO 芋艿:这个每个项目都需要重复配置,得捉摸有没通用的方案
// RPC 服务的安全配置
- registry.antMatchers(ApiConstants.PREFIX + "/**").permitAll();
+ registry.requestMatchers(ApiConstants.PREFIX + "/**").permitAll();
}
};
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/AccessLogCleanJob.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/AccessLogCleanJob.java
index 3aeaa8804..6d39bb51b 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/AccessLogCleanJob.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/AccessLogCleanJob.java
@@ -7,7 +7,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* 物理删除 N 天前的访问日志的 Job
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/ErrorLogCleanJob.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/ErrorLogCleanJob.java
index 9f4b2da2d..7852d2c8c 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/ErrorLogCleanJob.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/ErrorLogCleanJob.java
@@ -7,7 +7,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* 物理删除 N 天前的错误日志的 Job
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 1d2b06c9b..3810e0677 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
@@ -25,7 +25,7 @@ import com.google.common.annotations.VisibleForTesting;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.*;
import java.util.function.BiPredicate;
import java.util.stream.Collectors;
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 6bbd2c721..bfb410b8a 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
@@ -38,8 +38,8 @@ import com.google.common.collect.Table;
import lombok.Setter;
import org.springframework.stereotype.Component;
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.Resource;
import java.util.*;
import static cn.hutool.core.map.MapUtil.getStr;
@@ -171,7 +171,7 @@ public class CodegenEngine {
* 是否使用 jakarta 包,用于解决 Spring Boot 2.X 和 3.X 的兼容性问题
*
* true - 使用 jakarta.validation.constraints.*
- * false - 使用 javax.validation.constraints.*
+ * false - 使用 jakarta.validation.constraints.*
*/
@Setter // 允许设置的原因,是因为单测需要手动改变
private Boolean jakartaEnable;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/config/ConfigService.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/config/ConfigService.java
index 237d29c49..282c431f5 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/config/ConfigService.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/config/ConfigService.java
@@ -5,7 +5,7 @@ import com.cf.imes.module.infra.controller.admin.config.vo.ConfigPageReqVO;
import com.cf.imes.module.infra.controller.admin.config.vo.ConfigSaveReqVO;
import com.cf.imes.module.infra.dal.dataobject.config.ConfigDO;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
/**
* 参数配置 Service 接口
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/config/ConfigServiceImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/config/ConfigServiceImpl.java
index 9b43b68e8..69f793eb2 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/config/ConfigServiceImpl.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/config/ConfigServiceImpl.java
@@ -12,7 +12,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.module.infra.enums.ErrorCodeConstants.*;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DataSourceConfigService.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DataSourceConfigService.java
index c761c8679..d9ab029f9 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DataSourceConfigService.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DataSourceConfigService.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.infra.service.db;
import com.cf.imes.module.infra.controller.admin.db.vo.DataSourceConfigSaveReqVO;
import com.cf.imes.module.infra.dal.dataobject.db.DataSourceConfigDO;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
import java.util.List;
/**
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DataSourceConfigServiceImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DataSourceConfigServiceImpl.java
index 502937b2c..5ff50aa18 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DataSourceConfigServiceImpl.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/db/DataSourceConfigServiceImpl.java
@@ -12,7 +12,7 @@ import com.cf.imes.module.infra.enums.ErrorCodeConstants;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.List;
import java.util.Objects;
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 f68db3759..478baacef 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
@@ -12,7 +12,7 @@ import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileConfigService.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileConfigService.java
index 5b59dca82..4c320a568 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileConfigService.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileConfigService.java
@@ -6,7 +6,7 @@ import com.cf.imes.module.infra.controller.admin.file.vo.config.FileConfigPageRe
import com.cf.imes.module.infra.controller.admin.file.vo.config.FileConfigSaveReqVO;
import com.cf.imes.module.infra.dal.dataobject.file.FileConfigDO;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
/**
* 文件配置 Service 接口
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileConfigServiceImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileConfigServiceImpl.java
index 6ce3809b4..c7045bef3 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileConfigServiceImpl.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/file/FileConfigServiceImpl.java
@@ -22,8 +22,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
-import javax.validation.Validator;
+import jakarta.annotation.Resource;
+import jakarta.validation.Validator;
import java.time.Duration;
import java.util.Map;
import java.util.Objects;
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 a381729c2..0d6e5c10c 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
@@ -13,7 +13,7 @@ import com.cf.imes.module.infra.dal.mysql.file.FileMapper;
import lombok.SneakyThrows;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.Objects;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/logger/ApiAccessLogServiceImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/logger/ApiAccessLogServiceImpl.java
index 0066867ee..2acb2e58f 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/logger/ApiAccessLogServiceImpl.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/logger/ApiAccessLogServiceImpl.java
@@ -13,7 +13,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.LocalDateTime;
import static com.cf.imes.module.infra.dal.dataobject.logger.ApiAccessLogDO.REQUEST_PARAMS_MAX_LENGTH;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/logger/ApiErrorLogServiceImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/logger/ApiErrorLogServiceImpl.java
index 67b13914a..84c1d55f6 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/logger/ApiErrorLogServiceImpl.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/logger/ApiErrorLogServiceImpl.java
@@ -14,7 +14,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.LocalDateTime;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/websocket/DemoWebSocketMessageListener.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/websocket/DemoWebSocketMessageListener.java
index 87fad2a78..f8dc5f3bf 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/websocket/DemoWebSocketMessageListener.java
+++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/websocket/DemoWebSocketMessageListener.java
@@ -9,7 +9,7 @@ import com.cf.imes.module.infra.websocket.message.DemoSendMessage;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.WebSocketSession;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* WebSocket 示例:单发消息
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/resources/application-dev.yaml b/cf-module-infra/cf-module-infra-biz/src/main/resources/application-dev.yaml
index 07cf28e71..3b6e50656 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/resources/application-dev.yaml
+++ b/cf-module-infra/cf-module-infra-biz/src/main/resources/application-dev.yaml
@@ -1,3 +1,20 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
+spring:
+ cloud:
+ nacos:
+ server-addr: 192.168.1.205:8848 # Nacos 服务器地址
+ username: # Nacos 账号
+ password: # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ metadata:
+ version: 1.0.0 # 服务实例的版本号,可用于灰度发布
+ config: # 【注册中心】配置项
+ namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+
--- #################### 数据库相关配置 ####################
spring:
# 数据源配置项
@@ -108,8 +125,59 @@ spring:
# 晨丰配置项,设置当前项目所有自定义的配置
chenfeng:
+ info:
+ version: 1.0.0
+ base-package: com.cf.imes.module.infra
+ web:
+ admin-ui:
+ url: http://dashboard.chenfeng.iocoder.cn # Admin 管理后台 UI 的地址
+ websocket:
+ enable: true # websocket的开关
+ path: /infra/ws # 路径
+ sender-type: local # 消息发送的类型,可选值为 local、redis、rocketmq、kafka、rabbitmq
+ sender-rocketmq:
+ topic: ${spring.application.name}-websocket # 消息发送的 RocketMQ Topic
+ consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 RocketMQ Consumer Group
+ sender-rabbitmq:
+ exchange: ${spring.application.name}-websocket-exchange # 消息发送的 RabbitMQ Exchange
+ queue: ${spring.application.name}-websocket-queue # 消息发送的 RabbitMQ Queue
+ sender-kafka:
+ topic: ${spring.application.name}-websocket # 消息发送的 Kafka Topic
+ consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 Kafka Consumer Group
+ swagger:
+ title: 日志、文件存储、监控、定时任务、代码生成
+ description: 提供日志、文件存储、监控、定时任务、代码生成等功能
+ version: ${chenfeng.info.version}
+ base-package: ${chenfeng.info.base-package}
+ codegen:
+ base-package: com.cf.imes
+ db-schemas: ${spring.datasource.dynamic.datasource.master.name}
+ front-type: 10 # 前端模版的类型,参见 CodegenFrontTypeEnum 枚举类
+ error-code: # 错误码相关配置项
+ constants-class-list:
+ - com.cf.imes.module.infra.enums.ErrorCodeConstants
+ organ: # 多组织相关配置项
+ enable: true
+ ignore-urls:
+ - /admin-api/infra/file/*/get/** # 获取图片,和组织无关
+ ignore-tables:
+ - infra_codegen_column
+ - infra_codegen_table
+ - infra_test_demo
+ - infra_config
+ - infra_file_config
+ - infra_file
+ - infra_file_content
+ - infra_job
+ - infra_job_log
+ - infra_job_log
+ - infra_data_source_config
+
xss:
enable: false
exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系
- ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
- - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
\ No newline at end of file
+ - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
+ encrypt:
+ enable: false
+ publicKey: cfimes
\ No newline at end of file
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/resources/application-local.yaml b/cf-module-infra/cf-module-infra-biz/src/main/resources/application-local.yaml
index a5f921f38..1622952fd 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/resources/application-local.yaml
+++ b/cf-module-infra/cf-module-infra-biz/src/main/resources/application-local.yaml
@@ -1,3 +1,20 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
+spring:
+ cloud:
+ nacos:
+ server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ username: # Nacos 账号
+ password: # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ metadata:
+ version: 1.0.0 # 服务实例的版本号,可用于灰度发布
+ config: # 【注册中心】配置项
+ namespace: # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+
--- #################### 数据库相关配置 ####################
spring:
@@ -126,6 +143,55 @@ logging:
# 晨丰配置项,设置当前项目所有自定义的配置
chenfeng:
+ info:
+ version: 1.0.0
+ base-package: com.cf.imes.module.infra
+ web:
+ admin-ui:
+ url: http://dashboard.chenfeng.iocoder.cn # Admin 管理后台 UI 的地址
+ websocket:
+ enable: true # websocket的开关
+ path: /infra/ws # 路径
+ sender-type: local # 消息发送的类型,可选值为 local、redis、rocketmq、kafka、rabbitmq
+ sender-rocketmq:
+ topic: ${spring.application.name}-websocket # 消息发送的 RocketMQ Topic
+ consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 RocketMQ Consumer Group
+ sender-rabbitmq:
+ exchange: ${spring.application.name}-websocket-exchange # 消息发送的 RabbitMQ Exchange
+ queue: ${spring.application.name}-websocket-queue # 消息发送的 RabbitMQ Queue
+ sender-kafka:
+ topic: ${spring.application.name}-websocket # 消息发送的 Kafka Topic
+ consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 Kafka Consumer Group
+ swagger:
+ title: 日志、文件存储、监控、定时任务、代码生成
+ description: 提供日志、文件存储、监控、定时任务、代码生成等功能
+ version: ${chenfeng.info.version}
+ base-package: ${chenfeng.info.base-package}
+ codegen:
+ base-package: com.cf.imes
+ db-schemas: ${spring.datasource.dynamic.datasource.master.name}
+ front-type: 10 # 前端模版的类型,参见 CodegenFrontTypeEnum 枚举类
+ error-code: # 错误码相关配置项
+ enable: false
+ constants-class-list:
+ - com.cf.imes.module.infra.enums.ErrorCodeConstants
+ organ: # 多组织相关配置项
+ enable: true
+ ignore-urls:
+ - /admin-api/infra/file/*/get/** # 获取图片,和组织无关
+ ignore-tables:
+ - infra_codegen_column
+ - infra_codegen_table
+ - infra_test_demo
+ - infra_config
+ - infra_file_config
+ - infra_file
+ - infra_file_content
+ - infra_job
+ - infra_job_log
+ - infra_job_log
+ - infra_data_source_config
+
env: # 多环境的配置项
tag: ${HOSTNAME}
security:
@@ -137,5 +203,6 @@ chenfeng:
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
access-log: # 访问日志的配置项
enable: false
- error-code: # 错误码相关配置项
- enable: false
\ No newline at end of file
+ encrypt:
+ enable: false
+ publicKey: cfimes
\ No newline at end of file
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/resources/application-test.yaml b/cf-module-infra/cf-module-infra-biz/src/main/resources/application-test.yaml
index 110cf76c9..42563ddb1 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/resources/application-test.yaml
+++ b/cf-module-infra/cf-module-infra-biz/src/main/resources/application-test.yaml
@@ -1,4 +1,14 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
spring:
- main:
- allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
- allow-bean-definition-overriding: true # 允许 Bean 覆盖,例如说 Feign 等会存在重复定义的服务
\ No newline at end of file
+ cloud:
+ nacos:
+ server-addr: 192.168.1.204:8848 # Nacos 服务器地址
+ username: nacos # Nacos 账号
+ password: nacos # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: imes-test # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ config: # 【注册中心】配置项
+ namespace: imes-test # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
\ No newline at end of file
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/resources/application.yaml b/cf-module-infra/cf-module-infra-biz/src/main/resources/application.yaml
index 36f432686..bebf59fa6 100644
--- a/cf-module-infra/cf-module-infra-biz/src/main/resources/application.yaml
+++ b/cf-module-infra/cf-module-infra-biz/src/main/resources/application.yaml
@@ -1,8 +1,19 @@
spring:
+ application:
+ name: infra-server
+
+ profiles:
+ active: local
+
main:
allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
allow-bean-definition-overriding: true # 允许 Bean 覆盖,例如说 Feign 等会存在重复定义的服务
+ config:
+ import:
+ - optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置
+ - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置
+
# Servlet 配置
servlet:
# 文件上传相关配置项
@@ -27,6 +38,14 @@ spring:
redis:
time-to-live: 1h # 设置过期时间为 1 小时
+server:
+ port: 48082
+
+# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件
+logging:
+ file:
+ name: ${user.home}/logs/${spring.application.name} # 日志文件名,全路径
+
--- #################### 接口文档配置 ####################
springdoc:
@@ -68,95 +87,4 @@ spring:
data:
redis:
repositories:
- enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度
-
---- #################### RPC 远程调用相关配置 ####################
-
---- #################### 消息队列相关 ####################
-
-# rocketmq 配置项,对应 RocketMQProperties 配置类
-rocketmq:
- # Producer 配置项
- producer:
- group: ${spring.application.name}_PRODUCER # 生产者分组
-
-spring:
- # Kafka 配置项,对应 KafkaProperties 配置类
- kafka:
- # Kafka Producer 配置项
- producer:
- acks: 1 # 0-不应答。1-leader 应答。all-所有 leader 和 follower 应答。
- retries: 3 # 发送失败时,重试发送的次数
- value-serializer: org.springframework.kafka.support.serializer.JsonSerializer # 消息的 value 的序列化
- # Kafka Consumer 配置项
- consumer:
- auto-offset-reset: earliest # 设置消费者分组最初的消费进度为 earliest 。可参考博客 https://blog.csdn.net/lishuangzhe7047/article/details/74530417 理解
- value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
- properties:
- spring.json.trusted.packages: '*'
- # Kafka Consumer Listener 监听器配置
- listener:
- missing-topics-fatal: false # 消费监听接口监听的主题不存在时,默认会报错。所以通过设置为 false ,解决报错
-
---- #################### 定时任务相关配置 ####################
-
-xxl:
- job:
- executor:
- appname: ${spring.application.name} # 执行器 AppName
- logpath: ${user.home}/logs/xxl-job/${spring.application.name} # 执行器运行日志文件存储磁盘路径
- accessToken: default_token # 执行器通讯TOKEN
-
---- #################### 晨丰相关配置 ####################
-
-chenfeng:
- info:
- version: 1.0.0
- base-package: com.cf.imes.module.infra
- web:
- admin-ui:
- url: http://dashboard.chenfeng.iocoder.cn # Admin 管理后台 UI 的地址
- websocket:
- enable: true # websocket的开关
- path: /infra/ws # 路径
- sender-type: local # 消息发送的类型,可选值为 local、redis、rocketmq、kafka、rabbitmq
- sender-rocketmq:
- topic: ${spring.application.name}-websocket # 消息发送的 RocketMQ Topic
- consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 RocketMQ Consumer Group
- sender-rabbitmq:
- exchange: ${spring.application.name}-websocket-exchange # 消息发送的 RabbitMQ Exchange
- queue: ${spring.application.name}-websocket-queue # 消息发送的 RabbitMQ Queue
- sender-kafka:
- topic: ${spring.application.name}-websocket # 消息发送的 Kafka Topic
- consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 Kafka Consumer Group
- swagger:
- title: 日志、文件存储、监控、定时任务、代码生成
- description: 提供日志、文件存储、监控、定时任务、代码生成等功能
- version: ${chenfeng.info.version}
- base-package: ${chenfeng.info.base-package}
- codegen:
- base-package: com.cf.imes
- db-schemas: ${spring.datasource.dynamic.datasource.master.name}
- front-type: 10 # 前端模版的类型,参见 CodegenFrontTypeEnum 枚举类
- error-code: # 错误码相关配置项
- constants-class-list:
- - com.cf.imes.module.infra.enums.ErrorCodeConstants
- organ: # 多组织相关配置项
- enable: true
- ignore-urls:
- - /admin-api/infra/file/*/get/** # 获取图片,和组织无关
- ignore-tables:
- - infra_codegen_column
- - infra_codegen_table
- - infra_test_demo
- - infra_config
- - infra_file_config
- - infra_file
- - infra_file_content
- - infra_job
- - infra_job_log
- - infra_job_log
- - infra_data_source_config
- encrypt:
- enable: false
- publicKey: cfimes
\ No newline at end of file
+ enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度
\ No newline at end of file
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap-dev.yaml b/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap-dev.yaml
deleted file mode 100644
index eff6d09c7..000000000
--- a/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap-dev.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 192.168.1.205:8848
- username: nacos
- password: nacos
- discovery:
- #namespace: dev # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 192.168.1.205:8848 # Nacos 服务器地址
- namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap-local.yaml b/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap-local.yaml
deleted file mode 100644
index 8726d538c..000000000
--- a/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap-local.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 127.0.0.1:8848
- discovery:
- #namespace: dev # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
- namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap-test.yaml b/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap-test.yaml
deleted file mode 100644
index 805e8c69c..000000000
--- a/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap-test.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 192.168.1.204:8848
- username: nacos
- password: nacos
- discovery:
- namespace: imes-test # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 192.168.1.204:8848 # Nacos 服务器地址
- namespace: imes-test # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
\ No newline at end of file
diff --git a/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap.yaml b/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap.yaml
deleted file mode 100644
index 884c67dce..000000000
--- a/cf-module-infra/cf-module-infra-biz/src/main/resources/bootstrap.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-spring:
- application:
- name: infra-server
-
- profiles:
- active: local
-
-server:
- port: 48082
-
-# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件
-logging:
- file:
- name: ${user.home}/logs/${spring.application.name} # 日志文件名,全路径
diff --git a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/codegen/CodegenServiceImplTest.java b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/codegen/CodegenServiceImplTest.java
index 8faa2b7e0..36805f0ee 100644
--- a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/codegen/CodegenServiceImplTest.java
+++ b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/codegen/CodegenServiceImplTest.java
@@ -31,7 +31,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.Import;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
diff --git a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/config/ConfigServiceImplTest.java b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/config/ConfigServiceImplTest.java
index 7e470913a..8dc6d32ea 100644
--- a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/config/ConfigServiceImplTest.java
+++ b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/config/ConfigServiceImplTest.java
@@ -13,7 +13,7 @@ import com.cf.imes.module.infra.enums.ErrorCodeConstants;
import org.junit.jupiter.api.Test;
import org.springframework.context.annotation.Import;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.function.Consumer;
import static cn.hutool.core.util.RandomUtil.randomEle;
diff --git a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/db/DataSourceConfigServiceImplTest.java b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/db/DataSourceConfigServiceImplTest.java
index 9e3c5f40e..30ac5e15c 100644
--- a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/db/DataSourceConfigServiceImplTest.java
+++ b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/db/DataSourceConfigServiceImplTest.java
@@ -19,7 +19,7 @@ import org.mockito.stubbing.Answer;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.Import;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.List;
import static com.cf.imes.framework.test.core.util.AssertUtils.assertPojoEquals;
diff --git a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/db/DatabaseTableServiceImplTest.java b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/db/DatabaseTableServiceImplTest.java
index e0a03f34b..2aa9708e4 100644
--- a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/db/DatabaseTableServiceImplTest.java
+++ b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/db/DatabaseTableServiceImplTest.java
@@ -10,7 +10,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.Import;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.List;
import static com.cf.imes.framework.test.core.util.RandomUtils.randomLongId;
diff --git a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/file/FileConfigServiceImplTest.java b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/file/FileConfigServiceImplTest.java
index fc0f89b26..3429eabd4 100644
--- a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/file/FileConfigServiceImplTest.java
+++ b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/file/FileConfigServiceImplTest.java
@@ -22,8 +22,8 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.Import;
-import javax.annotation.Resource;
-import javax.validation.Validator;
+import jakarta.annotation.Resource;
+import jakarta.validation.Validator;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Map;
diff --git a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/file/FileServiceImplTest.java b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/file/FileServiceImplTest.java
index cc1bc5165..c2b4980a7 100644
--- a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/file/FileServiceImplTest.java
+++ b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/file/FileServiceImplTest.java
@@ -14,7 +14,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.Import;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.LocalDateTime;
import static com.cf.imes.framework.test.core.util.RandomUtils.*;
diff --git a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/logger/ApiAccessLogServiceImplTest.java b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/logger/ApiAccessLogServiceImplTest.java
index eb80121b3..c60037e13 100644
--- a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/logger/ApiAccessLogServiceImplTest.java
+++ b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/logger/ApiAccessLogServiceImplTest.java
@@ -11,7 +11,7 @@ import com.cf.imes.module.infra.dal.mysql.logger.ApiAccessLogMapper;
import org.junit.jupiter.api.Test;
import org.springframework.context.annotation.Import;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.Duration;
import java.util.List;
diff --git a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/logger/ApiErrorLogServiceImplTest.java b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/logger/ApiErrorLogServiceImplTest.java
index cb35f0b53..a8e36748d 100644
--- a/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/logger/ApiErrorLogServiceImplTest.java
+++ b/cf-module-infra/cf-module-infra-biz/src/test/java/com/cf/imes/module/infra/service/logger/ApiErrorLogServiceImplTest.java
@@ -12,7 +12,7 @@ import com.cf.imes.module.infra.enums.ErrorCodeConstants;
import org.junit.jupiter.api.Test;
import org.springframework.context.annotation.Import;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.Duration;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/pom.xml b/cf-module-prod-executor/cf-module-prod-executor-api/pom.xml
index 13c27af6e..a574c2406 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-api/pom.xml
+++ b/cf-module-prod-executor/cf-module-prod-executor-api/pom.xml
@@ -17,8 +17,8 @@
- org.springdoc
- springdoc-openapi-ui
+ org.springdoc
+ springdoc-openapi-starter-webmvc-api
provided
diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/customplateno/dto/CustomPlateNoRuleDTO.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/customplateno/dto/CustomPlateNoRuleDTO.java
index 7e0d578e4..0ae936d2d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/customplateno/dto/CustomPlateNoRuleDTO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/customplateno/dto/CustomPlateNoRuleDTO.java
@@ -2,7 +2,7 @@ package com.cf.imes.module.executor.api.customplateno.dto;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.io.Serializable;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/pom.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/pom.xml
index 7bec07920..3323347f1 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/pom.xml
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/pom.xml
@@ -13,11 +13,6 @@
UTF-8
-
-
- org.springframework.cloud
- spring-cloud-starter-bootstrap
-
com.cf.imes
@@ -119,10 +114,10 @@
0.10.2
compile
-
- org.codehaus.groovy
- groovy
-
+
+
+
+
com.cf.imes
cf-spring-boot-starter-biz-data-permission
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/customplateno/OrderCustomPlateNoApiImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/customplateno/OrderCustomPlateNoApiImpl.java
index edf434eae..946501d9b 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/customplateno/OrderCustomPlateNoApiImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/customplateno/OrderCustomPlateNoApiImpl.java
@@ -7,7 +7,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.List;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/funds/ExecutorFundsApiImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/funds/ExecutorFundsApiImpl.java
index 9a39118e1..be96c4140 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/funds/ExecutorFundsApiImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/funds/ExecutorFundsApiImpl.java
@@ -8,7 +8,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.math.BigDecimal;
@RestController // 提供 RESTful API 接口,给 Feign 调用
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/orderProcess/OrderProcessApiImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/orderProcess/OrderProcessApiImpl.java
index 36f6f70ae..0c727b9cf 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/orderProcess/OrderProcessApiImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/orderProcess/OrderProcessApiImpl.java
@@ -7,7 +7,7 @@ import com.cf.imes.module.executor.service.process.OrderProcessService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.List;
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 ec48630d6..d5fbadc23 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
@@ -39,7 +39,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/config/DataSourceInitializer.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/config/DataSourceInitializer.java
index ecfd18f92..25637296f 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/config/DataSourceInitializer.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/config/DataSourceInitializer.java
@@ -10,7 +10,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import javax.sql.DataSource;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/balancedetails/BalanceDetailsController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/balancedetails/BalanceDetailsController.java
index ed9a5fb14..84f69b50d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/balancedetails/BalanceDetailsController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/balancedetails/BalanceDetailsController.java
@@ -17,9 +17,9 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.IOException;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/bill/BillController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/bill/BillController.java
index f7ab55e31..f3f616d3d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/bill/BillController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/bill/BillController.java
@@ -16,9 +16,9 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.IOException;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/invoice/InvoiceController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/invoice/InvoiceController.java
index 62ef2a4b6..f52dbe74c 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/invoice/InvoiceController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/invoice/InvoiceController.java
@@ -13,9 +13,9 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.IMPORT;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/purchase/PurchaseController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/purchase/PurchaseController.java
index 6cfc67b74..2b7ec089a 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/purchase/PurchaseController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/funds/purchase/PurchaseController.java
@@ -16,9 +16,9 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.IOException;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/goods/GoodsController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/goods/GoodsController.java
index 8ec9b4e7c..974b6351c 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/goods/GoodsController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/goods/GoodsController.java
@@ -3,16 +3,16 @@ package com.cf.imes.module.executor.controller.admin.goods;
import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsImportRespVO;
import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsSaveReqVO;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
-import javax.validation.constraints.*;
-import javax.validation.*;
-import javax.servlet.http.*;
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/PackController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/PackController.java
index 0772ee049..ecb40734e 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/PackController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/PackController.java
@@ -16,8 +16,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
import java.util.List;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/prePack/PrePackOptimizeInfo.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/prePack/PrePackOptimizeInfo.java
index f72e3c91b..a85170328 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/prePack/PrePackOptimizeInfo.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/prePack/PrePackOptimizeInfo.java
@@ -5,7 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
import java.util.List;
@Schema(description = "预打包的优化结构")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/prePack/PrePackReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/prePack/PrePackReqVO.java
index a5211895a..31baf517a 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/prePack/PrePackReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/prePack/PrePackReqVO.java
@@ -5,8 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
@Schema(description = "管理后台 - 预打包保存优化信息")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/DeleteOtherPartsReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/DeleteOtherPartsReqVO.java
index 006bdc7f6..26f3ab0de 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/DeleteOtherPartsReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/DeleteOtherPartsReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
@Schema(description = "管理后台 - 删除其他配件 Request VO")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OrderPackReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OrderPackReqVO.java
index d58f05f3d..fec2d03f0 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OrderPackReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OrderPackReqVO.java
@@ -6,7 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.util.List;
@Schema(description = "管理后台 - 包裹新增 Request VO")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OrderPartsReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OrderPartsReqVO.java
index 7d958e987..40991cbc2 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OrderPartsReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OrderPartsReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.util.List;
@Schema(description = "管理后台 - 生产单模块表 Request VO")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OtherPackReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OtherPackReqVO.java
index f57d0e9db..a85b87d16 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OtherPackReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/OtherPackReqVO.java
@@ -6,9 +6,9 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
@Schema(description = "管理后台 - 新增外部配件 Request VO")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackDetailsReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackDetailsReqVO.java
index 6c5880945..60ac6c712 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackDetailsReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackDetailsReqVO.java
@@ -7,7 +7,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
@Schema(description = "管理后台 - 查看包裹详情")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackPageReqVO.java
index 782427013..60c0320bc 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackPageReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackPageReqVO.java
@@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;
-import javax.validation.constraints.Pattern;
+import jakarta.validation.constraints.Pattern;
@Schema(description = "管理后台 - 打包分页 Request VO")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackReqVO.java
index 620e71dd0..2efad7501 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
@Schema(description = "管理后台 - 删除订单包裹 Request VO")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackageDetailsReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackageDetailsReqVO.java
index 7f38639da..a2532139d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackageDetailsReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackageDetailsReqVO.java
@@ -7,7 +7,7 @@ import lombok.Data;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;
-import javax.validation.constraints.Pattern;
+import jakarta.validation.constraints.Pattern;
@Schema(description = "管理后台 - 查看生产单下对应的包裹信息")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackingReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackingReqVO.java
index cd827a5ed..88fa31b1c 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackingReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/pack/vo/PackingReqVO.java
@@ -5,7 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
@Schema(description = "管理后台 - 拆包")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/PartsController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/PartsController.java
index c561682ea..99a5f636f 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/PartsController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/PartsController.java
@@ -31,10 +31,10 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-import javax.validation.constraints.NotEmpty;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
import java.io.IOException;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsCadPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsCadPageReqVO.java
index 6a1ecb563..51a112ff7 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsCadPageReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsCadPageReqVO.java
@@ -7,7 +7,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.Size;
/**
* cad 传参
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsPageReqVO.java
index b1a2b9b12..d5afccc5d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsPageReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsPageReqVO.java
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.Size;
import java.time.LocalDateTime;
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsRespVO.java
index 1b13d2c87..9b6babca9 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsRespVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsRespVO.java
@@ -10,7 +10,7 @@ import com.cf.imes.module.executor.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.Size;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 配件 Response VO")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsSaveReqVO.java
index db70e8d7e..371bc729f 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/parts/vo/PartsSaveReqVO.java
@@ -5,8 +5,8 @@ import com.cf.imes.module.executor.validation.manage.parts.PartsCategoryValid;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.Size;
@Schema(description = "管理后台 - 配件 新增/修改 Request VO")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/PlateManageController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/PlateManageController.java
index cc4bad40f..bef9bbae4 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/PlateManageController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/PlateManageController.java
@@ -30,9 +30,9 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.IOException;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/RemainPlateManageController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/RemainPlateManageController.java
index dc09df222..a95e98661 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/RemainPlateManageController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/RemainPlateManageController.java
@@ -26,9 +26,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.IOException;
import java.util.List;
import java.util.Set;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlateImportExcelVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlateImportExcelVO.java
index c671463a5..53ef954f5 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlateImportExcelVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlateImportExcelVO.java
@@ -8,7 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotEmpty;
/**
* 用户 Excel 导入 VO
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlatePageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlatePageReqVO.java
index 20149a54f..e6f124dae 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlatePageReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlatePageReqVO.java
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.Size;
import java.time.LocalDateTime;
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlateSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlateSaveReqVO.java
index 5f06a8577..6c3df4801 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlateSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/plate/PlateSaveReqVO.java
@@ -4,9 +4,9 @@ import com.cf.imes.framework.common.validation.NumberValid;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
@Schema(description = "管理后台 - 板材信息表 plate_{N}新增/修改 Request VO")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlatePageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlatePageReqVO.java
index 5290d5aaa..1c94a627b 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlatePageReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlatePageReqVO.java
@@ -11,8 +11,8 @@ import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
import java.math.BigDecimal;
import java.time.LocalDateTime;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlateSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlateSaveReqVO.java
index d4cf7df07..c162d282b 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlateSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlateSaveReqVO.java
@@ -7,9 +7,9 @@ import com.cf.imes.module.executor.validation.manage.type.ValidTypeField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 生产单余料板表 Request VO")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlateUpSaveVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlateUpSaveVO.java
index fb9f6cb93..412d9b154 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlateUpSaveVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/vo/remain/RemainPlateUpSaveVO.java
@@ -5,9 +5,9 @@ import com.cf.imes.module.executor.validation.manage.placeStyle.ValidPlaceStyle;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
import java.math.BigDecimal;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/test/TestController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/test/TestController.java
index 960662b32..fce57b726 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/test/TestController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/test/TestController.java
@@ -12,8 +12,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import javax.annotation.security.PermitAll;
+import jakarta.annotation.Resource;
+import jakarta.annotation.security.PermitAll;
import java.io.File;
import java.util.List;
import java.util.Random;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/voice/VoiceController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/voice/VoiceController.java
index 5899912b9..b4c68d063 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/voice/VoiceController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/voice/VoiceController.java
@@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
@Tag(name = "管理后台 - 语音播报")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/module/ModuleController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/module/ModuleController.java
index ee02851c2..521883586 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/module/ModuleController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/module/ModuleController.java
@@ -1,16 +1,16 @@
package com.cf.imes.module.executor.controller.admin.module;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
-import javax.validation.constraints.*;
-import javax.validation.*;
-import javax.servlet.http.*;
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/module/vo/ModuleSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/module/vo/ModuleSaveReqVO.java
index 06dcfaa0a..e38da1cb6 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/module/vo/ModuleSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/module/vo/ModuleSaveReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.executor.controller.admin.module.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
-import javax.validation.constraints.*;
+import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 生产单模块新增/修改 Request VO")
@Data
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 2b97293c0..7e5292696 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
@@ -45,10 +45,10 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-import javax.validation.constraints.NotEmpty;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
import java.io.File;
import java.util.*;
import java.util.concurrent.CompletionException;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderStatisticsController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderStatisticsController.java
index d9fd07b07..f2d8b9549 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderStatisticsController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderStatisticsController.java
@@ -10,8 +10,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
import java.util.Map;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderSupStatisticsController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderSupStatisticsController.java
index a8e7337e0..fbfab7c49 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderSupStatisticsController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderSupStatisticsController.java
@@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
import java.util.List;
import java.util.Map;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java
index 277f8c541..d3919cf22 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderOverdueRespVO.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.executor.controller.admin.order.vo.order;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 生产单逾期列表")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java
index 527db3c91..ac38fd376 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java
@@ -8,7 +8,7 @@ import com.cf.imes.framework.common.pojo.PageParam;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
-import javax.validation.constraints.Pattern;
+import jakarta.validation.constraints.Pattern;
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java
index 87b5c0f3f..fe2e9cf5b 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java
@@ -6,7 +6,7 @@ import lombok.*;
import java.math.BigDecimal;
import java.util.*;
-import javax.validation.constraints.*;
+import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderImportTask/OrderImportTaskController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderImportTask/OrderImportTaskController.java
index 786bc3bcc..99951ec47 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderImportTask/OrderImportTaskController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderImportTask/OrderImportTaskController.java
@@ -11,8 +11,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
/**
* @author Gqr
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/OrderPartsController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/OrderPartsController.java
index 10674076b..08a990c86 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/OrderPartsController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/OrderPartsController.java
@@ -2,15 +2,15 @@ package com.cf.imes.module.executor.controller.admin.orderParts;
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateTermsPageReqVO;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
-import javax.validation.*;
-import javax.servlet.http.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/vo/OrderPartsSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/vo/OrderPartsSaveReqVO.java
index 12e83c790..52378dba2 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/vo/OrderPartsSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/vo/OrderPartsSaveReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.executor.controller.admin.orderParts.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
-import javax.validation.constraints.*;
+import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 生产单配件表 order_parts_{N}新增/修改 Request VO")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java
index e6e44e0de..c6132ec9b 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java
@@ -16,9 +16,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java
index 3dd452217..56013823a 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java
@@ -19,12 +19,12 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
import java.io.IOException;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/dto/HoleDetail.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/dto/HoleDetail.java
index a71ec0607..ef3ce11ae 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/dto/HoleDetail.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/dto/HoleDetail.java
@@ -3,8 +3,6 @@ package com.cf.imes.module.executor.controller.admin.plan.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.swing.*;
-
/**
* @projectName: cf_imes_server
* @author: 晨丰科技
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/CuttingStatusRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/CuttingStatusRespVO.java
index 8f9dfffa7..fbe4c6e29 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/CuttingStatusRespVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/CuttingStatusRespVO.java
@@ -4,7 +4,7 @@ package com.cf.imes.module.executor.controller.admin.plan.saveOptimize;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.util.List;
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/FilterDataPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/FilterDataPageReqVO.java
index 293c29b21..6d70e6b09 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/FilterDataPageReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/FilterDataPageReqVO.java
@@ -5,7 +5,7 @@ import com.cf.imes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.Size;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/NoPlanFilterPlateReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/NoPlanFilterPlateReqVO.java
index 38fbbbd50..f6c14e58f 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/NoPlanFilterPlateReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/NoPlanFilterPlateReqVO.java
@@ -4,8 +4,8 @@ package com.cf.imes.module.executor.controller.admin.plan.saveOptimize;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.Valid;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
import java.util.List;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/PlanProcessSchemeReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/PlanProcessSchemeReqVO.java
index 3b1a9f990..6a1cec5b8 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/PlanProcessSchemeReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/PlanProcessSchemeReqVO.java
@@ -4,7 +4,7 @@ package com.cf.imes.module.executor.controller.admin.plan.saveOptimize;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/SavePlanPlateResultReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/SavePlanPlateResultReqVO.java
index c4d50990e..fe53116e9 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/SavePlanPlateResultReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/SavePlanPlateResultReqVO.java
@@ -5,7 +5,7 @@ import com.cf.imes.module.executor.dal.dataobject.goods.OptimizeBoardModelDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotEmpty;
import java.util.List;
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/SaveProcessSchemeReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/SaveProcessSchemeReqVO.java
index bd677e387..19cd5e518 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/SaveProcessSchemeReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/saveOptimize/SaveProcessSchemeReqVO.java
@@ -4,8 +4,8 @@ package com.cf.imes.module.executor.controller.admin.plan.saveOptimize;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/AddPlateReq.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/AddPlateReq.java
index d815df117..4fddd44de 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/AddPlateReq.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/AddPlateReq.java
@@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NonNull;
-import javax.validation.Valid;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import java.util.List;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/AddRemainReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/AddRemainReqVO.java
index 1e97030f8..dd0169d4a 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/AddRemainReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/AddRemainReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.executor.controller.admin.plan.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/BranchingPlanSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/BranchingPlanSaveReqVO.java
index 4e3b673b7..8a13c41af 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/BranchingPlanSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/BranchingPlanSaveReqVO.java
@@ -6,8 +6,8 @@ import com.cf.imes.framework.es.core.valid.UpdateGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
import java.util.List;
@Schema(description = "智能分线创建排单")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/GetPlateByPlanIdVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/GetPlateByPlanIdVO.java
index 591d16f9d..2981e5c9f 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/GetPlateByPlanIdVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/GetPlateByPlanIdVO.java
@@ -6,8 +6,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/GetSourceDataReq.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/GetSourceDataReq.java
index 4cd155d49..885348951 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/GetSourceDataReq.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/GetSourceDataReq.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.executor.controller.admin.plan.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
/**
* @author Beal
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/NotPlanGoodsListPageVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/NotPlanGoodsListPageVO.java
index 6c8403eca..faf6d8af5 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/NotPlanGoodsListPageVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/NotPlanGoodsListPageVO.java
@@ -4,7 +4,7 @@ import com.cf.imes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
/**
* @author Beal
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderPageReqVOCopy.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderPageReqVOCopy.java
index b4295ae5a..33c4b27c1 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderPageReqVOCopy.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderPageReqVOCopy.java
@@ -7,7 +7,7 @@ import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
-import javax.validation.constraints.Pattern;
+import jakarta.validation.constraints.Pattern;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanOrderPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanOrderPageReqVO.java
index decb13ae4..26222f746 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanOrderPageReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanOrderPageReqVO.java
@@ -4,7 +4,7 @@ import com.cf.imes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
/**
* @author Beal
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanOrderRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanOrderRespVO.java
index bd26df5e7..60bd8a5c9 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanOrderRespVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanOrderRespVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.executor.controller.admin.plan.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanPageReqVO.java
index 92465507a..b571ad9a2 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanPageReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanPageReqVO.java
@@ -9,7 +9,7 @@ import lombok.ToString;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
-import javax.validation.constraints.Pattern;
+import jakarta.validation.constraints.Pattern;
import java.time.LocalDateTime;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanSaveReqVO.java
index 1f808691b..828857339 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanSaveReqVO.java
@@ -6,7 +6,7 @@ import com.cf.imes.module.executor.validation.plan.PlanStatusValid;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.Max;
+import jakarta.validation.constraints.Max;
import java.util.List;
@Schema(description = "管理后台 - 生产单开料排单新增/修改 Request VO")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateInfoVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateInfoVO.java
index f04c71dfb..c14c06fc1 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateInfoVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateInfoVO.java
@@ -7,7 +7,7 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SavePlanPlateList.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SavePlanPlateList.java
index e16ca96d8..b2da92339 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SavePlanPlateList.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SavePlanPlateList.java
@@ -5,8 +5,8 @@ import com.cf.imes.framework.es.core.valid.UpdateGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SortVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SortVO.java
index 1dd1122d7..10c57cda0 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SortVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SortVO.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.executor.controller.admin.plan.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
/**
* @author Beal
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java
index 30e0e2190..2d543315c 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java
@@ -19,11 +19,11 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import java.io.IOException;
import java.util.List;
import java.util.Set;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/NoPlanPlatePageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/NoPlanPlatePageReqVO.java
index 972c3f03e..8ca231189 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/NoPlanPlatePageReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/NoPlanPlatePageReqVO.java
@@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;
-import javax.validation.constraints.Pattern;
+import jakarta.validation.constraints.Pattern;
import java.math.BigDecimal;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/OptimizationSavePlateReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/OptimizationSavePlateReqVO.java
index 7290690fb..8a7420cd8 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/OptimizationSavePlateReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/OptimizationSavePlateReqVO.java
@@ -12,9 +12,9 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/PlateSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/PlateSaveReqVO.java
index 7d0b6990f..fd5a13476 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/PlateSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/PlateSaveReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.executor.controller.admin.plate.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
-import javax.validation.constraints.*;
+import jakarta.validation.constraints.*;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 生产单板件新增/修改 Request VO")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/PlateTermsPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/PlateTermsPageReqVO.java
index 30a1edb8c..2f10e5c74 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/PlateTermsPageReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/PlateTermsPageReqVO.java
@@ -4,7 +4,7 @@ import com.cf.imes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
/**
* @author:
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/process/OrderProcessController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/process/OrderProcessController.java
index b16ab1778..8549c9d07 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/process/OrderProcessController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/process/OrderProcessController.java
@@ -1,14 +1,14 @@
package com.cf.imes.module.executor.controller.admin.process;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
-import javax.validation.*;
+import jakarta.validation.*;
import com.cf.imes.framework.common.pojo.CommonResult;
import com.cf.imes.framework.common.util.object.BeanUtils;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/process/vo/OrderProcessSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/process/vo/OrderProcessSaveReqVO.java
index 0871b4d7a..ebaf6e3f5 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/process/vo/OrderProcessSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/process/vo/OrderProcessSaveReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.executor.controller.admin.process.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
-import javax.validation.constraints.*;
+import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 生产单工序新增/修改 Request VO")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/ProcessStepController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/ProcessStepController.java
index 69906c992..856d6d204 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/ProcessStepController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/ProcessStepController.java
@@ -1,16 +1,16 @@
package com.cf.imes.module.executor.controller.admin.processStep;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
-import javax.validation.constraints.*;
-import javax.validation.*;
-import javax.servlet.http.*;
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepSaveReqVO.java
index 3ed191a4e..9ecb30344 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepSaveReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.executor.controller.admin.processStep.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
-import javax.validation.constraints.*;
+import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/rawgoods/RawGoodsController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/rawgoods/RawGoodsController.java
index e1c723361..47bf653e7 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/rawgoods/RawGoodsController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/rawgoods/RawGoodsController.java
@@ -5,14 +5,14 @@ import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsPageReqV
import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsRespVO;
import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsSaveReqVO;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
-import javax.validation.*;
+import jakarta.validation.*;
import java.util.*;
import com.cf.imes.framework.common.pojo.PageResult;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/rawgoods/vo/RawGoodsSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/rawgoods/vo/RawGoodsSaveReqVO.java
index b1f7beb7d..ac36763ec 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/rawgoods/vo/RawGoodsSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/rawgoods/vo/RawGoodsSaveReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.executor.controller.admin.rawgoods.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
-import javax.validation.constraints.*;
+import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 生产单设计商品表 order_raw_goods_{N}新增/修改 Request VO")
@Data
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/remainplate/RemainPlateController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/remainplate/RemainPlateController.java
index 4e1c1086c..66124ad6a 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/remainplate/RemainPlateController.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/remainplate/RemainPlateController.java
@@ -2,15 +2,15 @@ package com.cf.imes.module.executor.controller.admin.remainplate;
import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
-import javax.validation.*;
-import javax.servlet.http.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/remainplate/vo/RemainPlateSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/remainplate/vo/RemainPlateSaveReqVO.java
index ffd9297a3..de69fad2c 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/remainplate/vo/RemainPlateSaveReqVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/remainplate/vo/RemainPlateSaveReqVO.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.executor.controller.admin.remainplate.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
-import javax.validation.constraints.*;
+import jakarta.validation.constraints.*;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 生产单余料板表 order_remain_plate_{N}新增/修改 Request VO")
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/framework/security/config/SecurityConfiguration.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/framework/security/config/SecurityConfiguration.java
index 8407a08aa..ec0de153d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/framework/security/config/SecurityConfiguration.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/framework/security/config/SecurityConfiguration.java
@@ -1,11 +1,12 @@
package com.cf.imes.module.executor.framework.security.config;
import com.cf.imes.framework.security.config.AuthorizeRequestsCustomizer;
+import com.cf.imes.module.system.enums.ApiConstants;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;
+import org.springframework.security.config.annotation.web.configurers.AuthorizeHttpRequestsConfigurer;
/**
* Infra 模块的 Security 配置
@@ -22,18 +23,20 @@ public class SecurityConfiguration {
return new AuthorizeRequestsCustomizer() {
@Override
- public void customize(ExpressionUrlAuthorizationConfigurer.ExpressionInterceptUrlRegistry registry) {
+ public void customize(AuthorizeHttpRequestsConfigurer.AuthorizationManagerRequestMatcherRegistry registry) {
+ // TODO 芋艿:这个每个项目都需要重复配置,得捉摸有没通用的方案
// Swagger 接口文档
- registry.antMatchers("/v3/api-docs/**").permitAll() // 元数据
- .antMatchers("/swagger-ui.html").permitAll(); // Swagger UI
- // Spring Boot Actuator 的安全配置
- registry.antMatchers("/actuator").anonymous()
- .antMatchers("/actuator/**").anonymous();
+ registry.requestMatchers("/v3/api-docs/**").permitAll()
+ .requestMatchers("/webjars/**").permitAll()
+ .requestMatchers("/swagger-ui").permitAll()
+ .requestMatchers("/swagger-ui/**").permitAll();
// Druid 监控
- registry.antMatchers("/druid/**").anonymous();
-
+ registry.requestMatchers("/druid/**").permitAll();
+ // Spring Boot Actuator 的安全配置
+ registry.requestMatchers("/actuator").permitAll()
+ .requestMatchers("/actuator/**").permitAll();
// RPC 服务的安全配置
- registry.antMatchers("/rpc-api/executor/**").permitAll();
+ registry.requestMatchers(ApiConstants.PREFIX + "/**").permitAll();
}
};
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplateno/CustomPlateNoGenerateServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplateno/CustomPlateNoGenerateServiceImpl.java
index bb6c2cd25..edb0d1e47 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplateno/CustomPlateNoGenerateServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplateno/CustomPlateNoGenerateServiceImpl.java
@@ -27,7 +27,7 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.StopWatch;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/BodyNoGenerateRuleServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/BodyNoGenerateRuleServiceImpl.java
index 25a90c2d4..13d5fb5ba 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/BodyNoGenerateRuleServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/BodyNoGenerateRuleServiceImpl.java
@@ -22,7 +22,7 @@ import com.cf.imes.module.system.enums.customplateno.CustomPlateNoRuleCodeEnum;
import com.cf.imes.module.system.enums.customplateno.ResetModeEnum;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/OrderNoGenerateRuleServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/OrderNoGenerateRuleServiceImpl.java
index a544116ac..9a7426998 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/OrderNoGenerateRuleServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/OrderNoGenerateRuleServiceImpl.java
@@ -19,7 +19,7 @@ import com.cf.imes.module.system.enums.customplateno.CustomPlateNoRuleCodeEnum;
import com.cf.imes.module.system.enums.customplateno.ResetModeEnum;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Optional;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/PlateNoGenerateRuleServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/PlateNoGenerateRuleServiceImpl.java
index f38e41885..83a226efb 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/PlateNoGenerateRuleServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/PlateNoGenerateRuleServiceImpl.java
@@ -22,7 +22,7 @@ import com.cf.imes.module.system.enums.customplateno.CustomPlateNoRuleCodeEnum;
import com.cf.imes.module.system.enums.customplateno.ResetModeEnum;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/RoomNoGenerateRuleServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/RoomNoGenerateRuleServiceImpl.java
index ffbf0cd00..2fdd1cb2d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/RoomNoGenerateRuleServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/customplatenorule/RoomNoGenerateRuleServiceImpl.java
@@ -19,7 +19,7 @@ import com.cf.imes.module.system.api.customplateno.dto.CustomPlateNoSeqDTO;
import com.cf.imes.module.system.enums.customplateno.CustomPlateNoRuleCodeEnum;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/balancedetails/BalanceDetailsServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/balancedetails/BalanceDetailsServiceImpl.java
index 29a188051..3fe9b2b7a 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/balancedetails/BalanceDetailsServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/balancedetails/BalanceDetailsServiceImpl.java
@@ -12,7 +12,7 @@ import com.cf.imes.module.executor.enums.amount.IncomeExpenseTypeEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* @author 组织余额明细接口 实现类
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/bill/BillServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/bill/BillServiceImpl.java
index 2c41e0dab..5c6dadf7c 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/bill/BillServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/bill/BillServiceImpl.java
@@ -13,7 +13,7 @@ import com.cf.imes.module.executor.enums.amount.TradeTypeEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* @author 账单/总额明细接口 实现类
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/invoice/InvoiceService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/invoice/InvoiceService.java
index 460c9f2bd..e352ce282 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/invoice/InvoiceService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/invoice/InvoiceService.java
@@ -5,7 +5,7 @@ import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.executor.controller.admin.funds.invoice.vo.*;
import org.springframework.web.multipart.MultipartFile;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
/**
* @author 发票管理接口
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/invoice/InvoiceServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/invoice/InvoiceServiceImpl.java
index 55fbc88c2..77c0323f1 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/invoice/InvoiceServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/invoice/InvoiceServiceImpl.java
@@ -34,8 +34,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.*;
import java.math.BigDecimal;
import java.net.URLEncoder;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/purchase/PurchaseServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/purchase/PurchaseServiceImpl.java
index b72b9d270..761eead76 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/purchase/PurchaseServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/funds/purchase/PurchaseServiceImpl.java
@@ -12,7 +12,7 @@ import com.cf.imes.module.executor.dal.mysql.funds.purchase.PurchaseRecordMapper
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.List;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/goods/GoodsService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/goods/GoodsService.java
index 7fc951de7..0e7561233 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/goods/GoodsService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/goods/GoodsService.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.service.goods;
import java.util.*;
-import javax.validation.*;
+import jakarta.validation.*;
import com.cf.imes.module.executor.controller.admin.goods.vo.*;
import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
import com.cf.imes.framework.common.pojo.PageResult;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/goods/GoodsServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/goods/GoodsServiceImpl.java
index bd7616248..51136b704 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/goods/GoodsServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/goods/GoodsServiceImpl.java
@@ -8,7 +8,7 @@ import com.cf.imes.module.executor.service.plate.PlateService;
import com.cf.imes.module.executor.service.rawgoods.RawGoodsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java
index 2c1d2d0fd..8f06fd521 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/pack/PackServiceImpl.java
@@ -40,7 +40,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/parts/PartsService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/parts/PartsService.java
index 01958b79e..bd16e1f98 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/parts/PartsService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/parts/PartsService.java
@@ -8,8 +8,8 @@ import com.cf.imes.module.executor.controller.admin.manage.parts.vo.PartsSaveReq
import com.cf.imes.module.executor.dal.dataobject.orderParts.PartsDO;
import org.springframework.boot.system.ApplicationHome;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.File;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/parts/PartsServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/parts/PartsServiceImpl.java
index b317b3197..edf7d5c34 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/parts/PartsServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/parts/PartsServiceImpl.java
@@ -31,8 +31,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/plate/PlateManageService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/plate/PlateManageService.java
index f021685d8..65a919fc6 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/plate/PlateManageService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/plate/PlateManageService.java
@@ -8,8 +8,8 @@ import com.cf.imes.module.executor.controller.admin.manage.plate.vo.plate.PlateS
import com.cf.imes.module.executor.dal.dataobject.plate.PlateGoodDO;
import org.springframework.boot.system.ApplicationHome;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.File;
import java.util.LinkedHashMap;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/plate/PlateManageServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/plate/PlateManageServiceImpl.java
index ee71d0ba7..8f588277b 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/plate/PlateManageServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/plate/PlateManageServiceImpl.java
@@ -26,8 +26,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/query/ProductionStatusServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/query/ProductionStatusServiceImpl.java
index dee04f629..7c00ee03e 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/query/ProductionStatusServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/query/ProductionStatusServiceImpl.java
@@ -13,7 +13,7 @@ import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.math.BigDecimal;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/remainplaten/RemainPlateManageService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/remainplaten/RemainPlateManageService.java
index 1cb891eae..e80c5ff05 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/remainplaten/RemainPlateManageService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/remainplaten/RemainPlateManageService.java
@@ -5,7 +5,7 @@ import com.cf.imes.module.executor.controller.admin.manage.plate.vo.remain.Remai
import com.cf.imes.module.executor.controller.admin.manage.plate.vo.remain.RemainPlateSaveReqVO;
import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
import java.util.Set;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/remainplaten/RemainPlateManageServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/remainplaten/RemainPlateManageServiceImpl.java
index 774638c62..bd2b24146 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/remainplaten/RemainPlateManageServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/remainplaten/RemainPlateManageServiceImpl.java
@@ -14,7 +14,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/voice/VoiceServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/voice/VoiceServiceImpl.java
index b7047f52a..55721eb49 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/voice/VoiceServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/manage/voice/VoiceServiceImpl.java
@@ -13,7 +13,7 @@ import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/module/ModuleService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/module/ModuleService.java
index d2c17bca0..774e9d643 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/module/ModuleService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/module/ModuleService.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.service.module;
import java.util.*;
-import javax.validation.*;
+import jakarta.validation.*;
import com.cf.imes.module.executor.controller.admin.module.vo.*;
import com.cf.imes.module.executor.dal.dataobject.module.ModuleDO;
import com.cf.imes.framework.common.pojo.PageResult;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/module/ModuleServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/module/ModuleServiceImpl.java
index e60abfbda..2e7b5c7d3 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/module/ModuleServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/module/ModuleServiceImpl.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.service.module;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
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 c9dc11456..527ed7d6e 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
@@ -79,7 +79,7 @@ import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
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 6b04ddd91..a4f68636d 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
@@ -34,7 +34,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java
index fad5723d6..8381f3676 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java
@@ -12,8 +12,8 @@ import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataT
import org.springframework.boot.system.ApplicationHome;
import org.springframework.web.multipart.MultipartFile;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.io.File;
import java.util.List;
import java.util.Map;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java
index 5b75d63d2..5fe46d085 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java
@@ -81,8 +81,8 @@ import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.*;
import java.math.BigDecimal;
import java.net.URLEncoder;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderStatisticsServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderStatisticsServiceImpl.java
index b4b56346b..f9fa580ff 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderStatisticsServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderStatisticsServiceImpl.java
@@ -34,7 +34,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.IOException;
import java.math.BigDecimal;
import java.time.LocalDate;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderSupStatisticsServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderSupStatisticsServiceImpl.java
index 71b52a095..3d396b67c 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderSupStatisticsServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderSupStatisticsServiceImpl.java
@@ -12,7 +12,7 @@ import com.cf.imes.module.system.api.organ.OrganApi;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/intervalometer/OrderScheduledImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/intervalometer/OrderScheduledImpl.java
index 8bb8e94e8..9b553f198 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/intervalometer/OrderScheduledImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/intervalometer/OrderScheduledImpl.java
@@ -15,7 +15,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.List;
import static com.cf.imes.module.executor.enums.EsIndexEnum.ORDER_PARTS_REMARK_MODEL;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/OrderImportTaskServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/OrderImportTaskServiceImpl.java
index 9c70528bf..d51241ae4 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/OrderImportTaskServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/OrderImportTaskServiceImpl.java
@@ -10,7 +10,7 @@ import com.cf.imes.module.executor.dal.dataobject.orderImport.OrderImportTaskDO;
import com.cf.imes.module.executor.dal.mysql.orderImport.OrderImportTaskMapper;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* @author Gqr
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/handler/excel/DefaultExcelOrderImportHandler.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/handler/excel/DefaultExcelOrderImportHandler.java
index 2d54f43b3..7b250a3f7 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/handler/excel/DefaultExcelOrderImportHandler.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/handler/excel/DefaultExcelOrderImportHandler.java
@@ -28,7 +28,7 @@ import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.InputStream;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/handler/xml/DefaultXmlOrderImportHandler.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/handler/xml/DefaultXmlOrderImportHandler.java
index 817807464..53c634b80 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/handler/xml/DefaultXmlOrderImportHandler.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderImport/handler/xml/DefaultXmlOrderImportHandler.java
@@ -25,7 +25,7 @@ import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.ORDER_IMPORT_FILE_ANALYZE_ERROR;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderParts/OrderPartsService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderParts/OrderPartsService.java
index c58a97613..2ba67de8d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderParts/OrderPartsService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderParts/OrderPartsService.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.service.orderParts;
import java.util.*;
-import javax.validation.*;
+import jakarta.validation.*;
import com.cf.imes.module.executor.controller.admin.orderParts.vo.*;
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO;
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateTermsPageReqVO;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderParts/OrderPartsServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderParts/OrderPartsServiceImpl.java
index 450bc2355..91bbfe211 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderParts/OrderPartsServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/orderParts/OrderPartsServiceImpl.java
@@ -14,7 +14,7 @@ import com.cf.imes.module.system.enums.ErrorCodeConstants;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java
index ccedbc789..2fdcfcc8b 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java
@@ -5,7 +5,7 @@ import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO;
import com.cf.imes.module.executor.controller.admin.plan.bo.OrderRoomBodyList;
import com.cf.imes.module.executor.controller.admin.plan.vo.*;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
import java.util.List;
/**
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 d440d1c11..471b90962 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
@@ -62,7 +62,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateService.java
index 4e2b379ba..cc5ef3671 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateService.java
@@ -7,7 +7,7 @@ import com.cf.imes.module.executor.controller.admin.plate.vo.*;
import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO;
import com.cf.imes.module.executor.dal.dataobject.plate.PlateGoodDO;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
import java.util.List;
import java.util.Set;
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 5bf9a33ae..5f878c5f8 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
@@ -51,7 +51,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessService.java
index 9ff9fdaeb..0e200a4a1 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessService.java
@@ -1,6 +1,6 @@
package com.cf.imes.module.executor.service.process;
-import javax.validation.*;
+import jakarta.validation.*;
import com.cf.imes.module.executor.controller.admin.process.vo.*;
import com.cf.imes.module.executor.dal.dataobject.process.OrderProcessDO;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessServiceImpl.java
index 4d7baeab5..1c510c1a6 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessServiceImpl.java
@@ -25,7 +25,7 @@ import com.cf.imes.module.system.api.process.dto.ProcessListReqDTO;
import com.cf.imes.module.system.api.process.dto.ProcessRespDTO;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/processStep/ProcessStepService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/processStep/ProcessStepService.java
index a8a745fd9..1c0afec72 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/processStep/ProcessStepService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/processStep/ProcessStepService.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.service.processStep;
import java.util.*;
-import javax.validation.*;
+import jakarta.validation.*;
import com.cf.imes.module.executor.controller.admin.processStep.vo.*;
import com.cf.imes.module.executor.dal.dataobject.processStep.ProcessStepDO;
import com.cf.imes.framework.common.pojo.PageResult;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/processStep/ProcessStepServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/processStep/ProcessStepServiceImpl.java
index 73e1370aa..a16237d2a 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/processStep/ProcessStepServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/processStep/ProcessStepServiceImpl.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.service.processStep;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/rawgoods/RawGoodsService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/rawgoods/RawGoodsService.java
index a3a37ba02..056e87617 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/rawgoods/RawGoodsService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/rawgoods/RawGoodsService.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.service.rawgoods;
import java.util.*;
-import javax.validation.*;
+import jakarta.validation.*;
import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsImportRespVO;
import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsPageReqVO;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/rawgoods/RawGoodsServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/rawgoods/RawGoodsServiceImpl.java
index 112f2dc68..7307c0f9c 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/rawgoods/RawGoodsServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/rawgoods/RawGoodsServiceImpl.java
@@ -8,7 +8,7 @@ import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsPageReqV
import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsSaveReqVO;
import com.cf.imes.module.system.enums.ErrorCodeConstants;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/remainplate/RemainPlateService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/remainplate/RemainPlateService.java
index def2ff853..8cee21007 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/remainplate/RemainPlateService.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/remainplate/RemainPlateService.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.service.remainplate;
import java.util.*;
-import javax.validation.*;
+import jakarta.validation.*;
import com.cf.imes.module.executor.controller.admin.remainplate.vo.*;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.pojo.PageParam;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/remainplate/RemainPlateServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/remainplate/RemainPlateServiceImpl.java
index 315281856..2ee9028c8 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/remainplate/RemainPlateServiceImpl.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/remainplate/RemainPlateServiceImpl.java
@@ -3,7 +3,7 @@ package com.cf.imes.module.executor.service.remainplate;
import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO;
import com.cf.imes.module.executor.dal.mysql.remainplaten.RemainPlateMapper;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
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 2c227eb00..d6fc67db4 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
@@ -10,8 +10,8 @@ import org.apache.commons.io.IOUtils;
import org.springframework.util.ResourceUtils;
import org.springframework.web.multipart.MultipartFile;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/elasticsearch/EsUtils.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/elasticsearch/EsUtils.java
index 31f08957d..48b21ecde 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/elasticsearch/EsUtils.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/elasticsearch/EsUtils.java
@@ -23,7 +23,7 @@ import com.cf.imes.framework.es.core.service.ESDocumentService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/file/FileHelperUtil.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/file/FileHelperUtil.java
index bb51dc6f6..0e56b6168 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/file/FileHelperUtil.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/file/FileHelperUtil.java
@@ -2,7 +2,7 @@ package com.cf.imes.module.executor.util.file;
import org.springframework.web.multipart.MultipartFile;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java
index 307ce75f7..f6f5ab016 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java
@@ -8,7 +8,7 @@ import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.AsyncResult;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java
index dbe244a39..48112b3b1 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java
@@ -20,7 +20,7 @@ import com.cf.imes.module.system.api.dict.DictDataApi;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
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/ExcelCheckListUtil.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelCheckListUtil.java
index 93d595ecd..4dcfec6a7 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelCheckListUtil.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelCheckListUtil.java
@@ -14,7 +14,7 @@ import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.time.LocalDate;
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/ExcelTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java
index 0c2e1769c..e8ebf4af6 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java
@@ -22,7 +22,7 @@ import com.cf.imes.module.executor.enums.DictTypeConstants;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
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/OrderPlateImportExcelVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/OrderPlateImportExcelVO.java
index 2d534d6bf..8da5af2eb 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/OrderPlateImportExcelVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/OrderPlateImportExcelVO.java
@@ -14,7 +14,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
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/PositionVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/PositionVO.java
index 2bf71b0fd..8316b7d48 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/PositionVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/PositionVO.java
@@ -6,7 +6,7 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlAttribute;
/**
* xml中房间、柜体、加工组的位置信息
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/VO/AccessoryXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AccessoryXmlVO.java
index 32f882221..82af31d9d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AccessoryXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AccessoryXmlVO.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Data
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/VO/AssemblieXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AssemblieXmlVOS.java
index 8ad89b437..a218dd366 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AssemblieXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AssemblieXmlVOS.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.util.List;
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/VO/AssemblyXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AssemblyXmlVO.java
index 7dbe33f2f..b83b9df71 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AssemblyXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AssemblyXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
@Data
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/VO/BlockXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BlockXmlVO.java
index d6c8b6706..0e179f3d4 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BlockXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BlockXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
@Data
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/VO/BlockXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BlockXmlVOS.java
index 74cac6261..b46090cb7 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BlockXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BlockXmlVOS.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/BoxXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BoxXmlVO.java
index e4ddfdd6a..a245a58ce 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BoxXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BoxXmlVO.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Data
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/VO/CorrelationXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/CorrelationXmlVO.java
index fea9be591..6b7246b3e 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/CorrelationXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/CorrelationXmlVO.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Data
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/VO/CorrelationXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/CorrelationXmlVOS.java
index 1d52e003c..93553d39d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/CorrelationXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/CorrelationXmlVOS.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/CuttingOutlineXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/CuttingOutlineXmlVO.java
index 955e8ff64..7a6aee916 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/CuttingOutlineXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/CuttingOutlineXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/EdgingXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/EdgingXmlVO.java
index 933a947e5..1e8efaf37 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/EdgingXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/EdgingXmlVO.java
@@ -5,7 +5,7 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
@Data
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/VO/EdgingXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/EdgingXmlVOS.java
index f8571dece..8a9ac617e 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/EdgingXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/EdgingXmlVOS.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.util.List;
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/VO/GrooveXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GrooveXmlVO.java
index c1a3338a3..47b1eb246 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GrooveXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GrooveXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
@Data
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/VO/GrooveXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GrooveXmlVOS.java
index 736d446ee..39f39342d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GrooveXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GrooveXmlVOS.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/GroupXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVO.java
index bf4de8884..941e42965 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVO.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Data
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/VO/GroupXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVOS.java
index 62f5ea78b..6e6fd905c 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVOS.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/HardwareXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HardwareXmlVO.java
index 9610dc403..edac8d597 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HardwareXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HardwareXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
@Data
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/VO/HardwareXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HardwareXmlVOS.java
index 8524b93f6..89b872ba1 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HardwareXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HardwareXmlVOS.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.util.List;
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/VO/HoleXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HoleXmlVO.java
index 61e29dbdd..22e848bc5 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HoleXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HoleXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
@Data
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/VO/HoleXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HoleXmlVOS.java
index b57295e6f..e4f691951 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HoleXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HoleXmlVOS.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/IsletXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/IsletXmlVO.java
index fba67021a..05409b4a7 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/IsletXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/IsletXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
@Data
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/VO/IsletXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/IsletXmlVOS.java
index 503f1f5e2..4f32a1dc6 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/IsletXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/IsletXmlVOS.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/MaterialXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/MaterialXmlVO.java
index e5f490e54..c07d57ad9 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/MaterialXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/MaterialXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
@Data
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/VO/ModuleXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVO.java
index 42a9aa11c..812055061 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
@Data
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/VO/ModuleXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVOS.java
index bee8aedbc..634b7d99a 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVOS.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/OffsetLineXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OffsetLineXmlVO.java
index 6d0f1ea9b..6f44d065e 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OffsetLineXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OffsetLineXmlVO.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Data
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/VO/OffsetLineXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OffsetLineXmlVOS.java
index 14189e2ff..f7ee20fdf 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OffsetLineXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OffsetLineXmlVOS.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/OrderXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OrderXmlVO.java
index 09165b9c3..9b2a6d028 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OrderXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OrderXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
@Data
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/VO/OutlineXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OutlineXmlVO.java
index 71f84330d..187531c3c 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OutlineXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/OutlineXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/PlateXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PlateXmlVO.java
index 2d4e48f12..68e4e8fca 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PlateXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PlateXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
@Data
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/VO/PlateXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PlateXmlVOS.java
index f69cff0f9..324d9124d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PlateXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PlateXmlVOS.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.util.List;
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/VO/PointBeginXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointBeginXmlVO.java
index 3f2109440..117f27472 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointBeginXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointBeginXmlVO.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Data
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/VO/PointEndXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointEndXmlVO.java
index 7dc2b91da..3edebf186 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointEndXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointEndXmlVO.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Data
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/VO/PointXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointXmlVO.java
index bf3f4c128..86c4a08a7 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointXmlVO.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Data
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/VO/PointXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointXmlVOS.java
index 379a48d97..092c0bb77 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/PointXmlVOS.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/RawOutlineXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RawOutlineXmlVO.java
index fc652b371..93a75f27a 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RawOutlineXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RawOutlineXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/RemarkXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RemarkXmlVO.java
index 0e1570ab2..bcac25747 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RemarkXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RemarkXmlVO.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Data
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/VO/RemarkXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RemarkXmlVOS.java
index fbc760ff1..13ae6180b 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RemarkXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RemarkXmlVOS.java
@@ -4,10 +4,10 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.util.List;
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/VO/RoomXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RoomXmlVO.java
index e953cea17..638c333cb 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RoomXmlVO.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RoomXmlVO.java
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/VO/RoomXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RoomXmlVOS.java
index b534f3635..e59dea170 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RoomXmlVOS.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/RoomXmlVOS.java
@@ -5,7 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.xml.bind.annotation.*;
+import jakarta.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
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/XMLUtil.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XMLUtil.java
index ec12aa8ad..e0a45040f 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XMLUtil.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XMLUtil.java
@@ -17,8 +17,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.*;
import java.math.BigDecimal;
import java.net.URLEncoder;
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/XmlBuilder.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XmlBuilder.java
index a4d691227..70aab2155 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XmlBuilder.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XmlBuilder.java
@@ -5,9 +5,9 @@ import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
/**
* xml 转换工具
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 326d21608..983e63539 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
@@ -26,7 +26,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.function.Consumer;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/common/CommonStatusValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/common/CommonStatusValidator.java
index 5f7c94cc4..c763e4440 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/common/CommonStatusValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/common/CommonStatusValidator.java
@@ -2,8 +2,8 @@ package com.cf.imes.module.executor.validation.manage.common;
import com.cf.imes.module.executor.enums.manage.remainPlate.RemainPlateStatusEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* 状态校验
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/common/ValidCommonStatus.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/common/ValidCommonStatus.java
index 2159e6e1c..9c897518f 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/common/ValidCommonStatus.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/common/ValidCommonStatus.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.validation.manage.common;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/OrderPackagedStatusValid.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/OrderPackagedStatusValid.java
index 5299328f0..f776027d6 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/OrderPackagedStatusValid.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/OrderPackagedStatusValid.java
@@ -1,8 +1,8 @@
package com.cf.imes.module.executor.validation.manage.pack;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/OrderPackagedValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/OrderPackagedValidator.java
index 7a00e9007..2e7a8779d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/OrderPackagedValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/OrderPackagedValidator.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.executor.validation.manage.pack;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.framework.common.enums.OrderPackageStatusEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* @author 打包状态校验器
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/PackTypeValid.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/PackTypeValid.java
index dfc99e782..5776c5446 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/PackTypeValid.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/PackTypeValid.java
@@ -1,8 +1,8 @@
package com.cf.imes.module.executor.validation.manage.pack;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/PackTypeValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/PackTypeValidator.java
index bd65ac67b..04b3099a4 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/PackTypeValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/pack/PackTypeValidator.java
@@ -4,8 +4,8 @@ package com.cf.imes.module.executor.validation.manage.pack;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.framework.common.enums.OrderPackageTypeEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* @author 包裹类型校验器
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsCategoryValid.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsCategoryValid.java
index 7dfa342a1..f1030f945 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsCategoryValid.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsCategoryValid.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.validation.manage.parts;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsCategoryValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsCategoryValidator.java
index 70ede9ea5..0476c94dd 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsCategoryValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsCategoryValidator.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.executor.validation.manage.parts;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.module.executor.enums.manage.parts.CategoryEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
import java.util.Objects;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsNumberValid.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsNumberValid.java
index 6d7b82c4e..b48545453 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsNumberValid.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsNumberValid.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.validation.manage.parts;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsNumberValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsNumberValidator.java
index 34870709c..92ad4ac75 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsNumberValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/parts/PartsNumberValidator.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.validation.manage.parts;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
import java.math.BigDecimal;
import java.text.DecimalFormat;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/placeStyle/PlaceStyleValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/placeStyle/PlaceStyleValidator.java
index c51745c65..c67788074 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/placeStyle/PlaceStyleValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/placeStyle/PlaceStyleValidator.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.executor.validation.manage.placeStyle;
import com.cf.imes.module.executor.enums.manage.remainPlate.RemainPlatePlaceStyleEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* 放置样式校验
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/placeStyle/ValidPlaceStyle.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/placeStyle/ValidPlaceStyle.java
index ced18e264..ef4e7789f 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/placeStyle/ValidPlaceStyle.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/placeStyle/ValidPlaceStyle.java
@@ -1,8 +1,8 @@
package com.cf.imes.module.executor.validation.manage.placeStyle;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/type/TypeFieldValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/type/TypeFieldValidator.java
index 9ece4393c..a9d0b64c0 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/type/TypeFieldValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/type/TypeFieldValidator.java
@@ -2,8 +2,8 @@ package com.cf.imes.module.executor.validation.manage.type;
import com.cf.imes.module.executor.enums.manage.remainPlate.RemainPlateUseTypeEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* 使用类型校验
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/type/ValidTypeField.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/type/ValidTypeField.java
index b4f7d2bf1..22e88d223 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/type/ValidTypeField.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/manage/type/ValidTypeField.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.validation.manage.type;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatisticsUnitInEnum.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatisticsUnitInEnum.java
index b151c2a1a..f5c9600a2 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatisticsUnitInEnum.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatisticsUnitInEnum.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.validation.order;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatisticsUnitInEnumValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatisticsUnitInEnumValidator.java
index 6fe1288dc..736146de4 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatisticsUnitInEnumValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatisticsUnitInEnumValidator.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.executor.validation.order;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.module.executor.enums.OrderStatisticsUnit;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* 生产单统计维度单位入参校验器
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValid.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValid.java
index d353f46a7..053f064a3 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValid.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValid.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.executor.validation.order;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValidator.java
index 6370a9afc..91d4f5d18 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValidator.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.executor.validation.order;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.module.executor.enums.OrderStatusEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
import java.util.Objects;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanStatusValid.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanStatusValid.java
index e768318b8..5eaec0cf7 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanStatusValid.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanStatusValid.java
@@ -1,8 +1,8 @@
package com.cf.imes.module.executor.validation.plan;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.*;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanStatusValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanStatusValidator.java
index fe7367e34..bd2301012 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanStatusValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanStatusValidator.java
@@ -4,8 +4,8 @@ package com.cf.imes.module.executor.validation.plan;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.framework.common.enums.PlanStatusEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanTypeValid.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanTypeValid.java
index a968012cd..6663d612c 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanTypeValid.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanTypeValid.java
@@ -1,8 +1,8 @@
package com.cf.imes.module.executor.validation.plan;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.*;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanTypeValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanTypeValidator.java
index 0ce26b3c3..ebd9b224b 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanTypeValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plan/PlanTypeValidator.java
@@ -4,8 +4,8 @@ package com.cf.imes.module.executor.validation.plan;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.framework.common.enums.PlanTypeEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* @author 排单类型校验器
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlatePlaceHoleValid.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlatePlaceHoleValid.java
index 7ccc68d37..c421945ae 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlatePlaceHoleValid.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlatePlaceHoleValid.java
@@ -1,8 +1,8 @@
package com.cf.imes.module.executor.validation.plate;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.*;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlatePlaceHoleValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlatePlaceHoleValidator.java
index 5453c6564..fc91d2dd9 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlatePlaceHoleValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlatePlaceHoleValidator.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.executor.validation.plate;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.framework.common.enums.PlatePlaceHoleEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTextureValid.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTextureValid.java
index 1ffaf9c4e..c4aee85b7 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTextureValid.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTextureValid.java
@@ -1,8 +1,8 @@
package com.cf.imes.module.executor.validation.plate;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.*;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTextureValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTextureValidator.java
index 17c66bebd..372180ac7 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTextureValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTextureValidator.java
@@ -4,8 +4,8 @@ package com.cf.imes.module.executor.validation.plate;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.framework.common.enums.PlateTextureEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* @author 板材纹路校验器
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTypeValid.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTypeValid.java
index 4c411dc9e..217ab42ce 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTypeValid.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTypeValid.java
@@ -1,8 +1,8 @@
package com.cf.imes.module.executor.validation.plate;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.*;
/**
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTypeValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTypeValidator.java
index 3d72d2924..09a6946a0 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTypeValidator.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/plate/PlateTypeValidator.java
@@ -4,8 +4,8 @@ package com.cf.imes.module.executor.validation.plate;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.framework.common.enums.OrderPlateTypeEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* @author 板材类型校验器
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-dev.yaml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-dev.yaml
index 370fac806..90e572c1d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-dev.yaml
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-dev.yaml
@@ -1,3 +1,20 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
+spring:
+ cloud:
+ nacos:
+ server-addr: 192.168.1.205:8848 # Nacos 服务器地址
+ username: # Nacos 账号
+ password: # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ metadata:
+ version: 1.0.0 # 服务实例的版本号,可用于灰度发布
+ config: # 【注册中心】配置项
+ namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+
--- #################### 数据库相关配置 ####################
spring:
# 数据源配置项
@@ -108,75 +125,49 @@ spring:
# Spring Boot Admin Server 服务端的相关配置
context-path: /admin # 配置 Spring
---- #################### 微信公众号、小程序相关配置 ####################
-wx:
- mp: # 公众号配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-mp-spring-boot-starter/README.md 文档
- # app-id: wx041349c6f39b268b
- # secret: 5abee519483bc9f8cb37ce280e814bd0
- app-id: wx5b23ba7a5589ecbb # 测试号
- secret: 2a7b3b20c537e52e74afd395eb85f61f
- # 存储配置,解决 AccessToken 的跨节点的共享
- config-storage:
- type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取
- key-prefix: wx # Redis Key 的前缀
- http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台
- miniapp: # 小程序配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md 文档
- # appid: wx62056c0d5e8db250
- # secret: 333ae72f41552af1e998fe1f54e1584a
- appid: wx63c280fe3248a3e7 # wenhualian的接口测试号
- secret: 6f270509224a7ae1296bbf1c8cb97aed
- config-storage:
- type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取
- key-prefix: wa # Redis Key 的前缀
- http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台
-
--- #################### 晨丰相关配置 ####################
# 晨丰配置项,设置当前项目所有自定义的配置
chenfeng:
+ dynamicDataSource:
+ enabled: true
+ info:
+ version: 1.0.0
+ base-package: com.cf.imes.module.executor
+ web:
+ admin-ui:
+ url: http://dashboard.chenfeng.iocoder.cn # Admin 管理后台 UI 的地址
+ swagger:
+ title: 生产单执行
+ description: 提供生产单执行所有功能
+ version: ${chenfeng.info.version}
+ base-package: ${chenfeng.info.base-package}
+ captcha:
+ enable: true # 验证码的开关,默认为 true;
+ error-code: # 错误码相关配置项
+ constants-class-list:
+ - com.cf.imes.module.executor.enums.ErrorCodeConstants
+ organ: # 多组织相关配置项
+ enable: true
+ superadmin-prod-org-ignore-enable: false
+ ignore-urls:
+ - /rpc-api/**
+ ignore-tables:
+
xss:
enable: false
exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系
- ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
- pay:
- pay-notify-url: http://niubi.natapp1.cc/api/pay/order/notify
- pay-return-url: http://niubi.natapp1.cc/api/pay/order/return
- refund-notify-url: http://niubi.natapp1.cc/api/pay/refund/notify
-
-justauth:
- enabled: true
- type:
- DINGTALK: # 钉钉
- client-id: dingvrnreaje3yqvzhxg
- client-secret: i8E6iZyDvZj51JIb0tYsYfVQYOks9Cq1lgryEjFRqC79P3iJcrxEwT6Qk2QvLrLI
- ignore-check-redirect-uri: true
- WECHAT_ENTERPRISE: # 企业微信
- client-id: wwd411c69a39ad2e54
- client-secret: 1wTb7hYxnpT2TUbIeHGXGo7T0odav1ic10mLdyyATOw
- agent-id: 1000004
- ignore-check-redirect-uri: true
- WECHAT_MINI_APP: # 微信小程序
- client-id: ${wx.miniapp.appid}
- client-secret: ${wx.miniapp.secret}
- ignore-check-redirect-uri: true
- ignore-check-state: true # 微信小程序,不会使用到 state,所以不进行校验
- WECHAT_MP: # 微信公众号
- client-id: ${wx.mp.app-id}
- client-secret: ${wx.mp.secret}
- ignore-check-redirect-uri: true
- ignore-check-state: true # 微信公众号,未调用后端的 getSocialAuthorizeUrl 方法,所以无法进行 state 校验 TODO 芋艿:后续考虑支持
- cache:
- type: REDIS
- prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
- timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
+ encrypt:
+ enable: false
+ publicKey: cfimes
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
-
--- #################### 生产接口url配置 ####################
api:
order:
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-local.yaml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-local.yaml
index b8fa52973..930e3938e 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-local.yaml
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-local.yaml
@@ -1,3 +1,20 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
+spring:
+ cloud:
+ nacos:
+ server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ username: # Nacos 账号
+ password: # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ metadata:
+ version: 1.0.0 # 服务实例的版本号,可用于灰度发布
+ config: # 【注册中心】配置项
+ namespace: # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+
--- #################### 数据库相关配置 ####################
spring:
@@ -144,6 +161,32 @@ logging:
# 晨丰配置项,设置当前项目所有自定义的配置
chenfeng:
+ dynamicDataSource:
+ enabled: true
+ info:
+ version: 1.0.0
+ base-package: com.cf.imes.module.executor
+ web:
+ admin-ui:
+ url: http://dashboard.chenfeng.iocoder.cn # Admin 管理后台 UI 的地址
+ swagger:
+ title: 生产单执行
+ description: 提供生产单执行所有功能
+ version: ${chenfeng.info.version}
+ base-package: ${chenfeng.info.base-package}
+ captcha:
+ enable: true # 验证码的开关,默认为 true;
+ error-code: # 错误码相关配置项
+ enable: false
+ constants-class-list:
+ - com.cf.imes.module.executor.enums.ErrorCodeConstants
+ organ: # 多组织相关配置项
+ enable: true
+ superadmin-prod-org-ignore-enable: false
+ ignore-urls:
+ - /rpc-api/**
+ ignore-tables:
+
env: # 多环境的配置项
tag: ${HOSTNAME}
security:
@@ -155,8 +198,9 @@ chenfeng:
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
access-log: # 访问日志的配置项
enable: false
- error-code: # 错误码相关配置项
+ encrypt:
enable: false
+ publicKey: cfimes
mybatis-plus:
configuration:
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-test.yaml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-test.yaml
index 110cf76c9..42563ddb1 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-test.yaml
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application-test.yaml
@@ -1,4 +1,14 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
spring:
- main:
- allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
- allow-bean-definition-overriding: true # 允许 Bean 覆盖,例如说 Feign 等会存在重复定义的服务
\ No newline at end of file
+ cloud:
+ nacos:
+ server-addr: 192.168.1.204:8848 # Nacos 服务器地址
+ username: nacos # Nacos 账号
+ password: nacos # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: imes-test # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ config: # 【注册中心】配置项
+ namespace: imes-test # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
\ No newline at end of file
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application.yaml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application.yaml
index 8d0bb2b1c..0b95a985e 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application.yaml
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/application.yaml
@@ -1,8 +1,19 @@
spring:
+ application:
+ name: executor-server
+
+ profiles:
+ active: local
+
main:
allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
allow-bean-definition-overriding: true # 允许 Bean 覆盖,例如说 Feign 等会存在重复定义的服务
+ config:
+ import:
+ - optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置
+ - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置
+
# Servlet 配置
servlet:
# 文件上传相关配置项
@@ -27,6 +38,14 @@ spring:
redis:
time-to-live: 1h # 设置过期时间为 1 小时
+server:
+ port: 48084
+
+# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件
+logging:
+ file:
+ name: ${user.home}/logs/${spring.application.name} # 日志文件名,全路径
+
--- #################### 接口文档配置 ####################
springdoc:
@@ -69,91 +88,4 @@ spring:
data:
redis:
repositories:
- enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度
-
---- #################### RPC 远程调用相关配置 ####################
-
---- #################### 消息队列相关 ####################
-
-# rocketmq 配置项,对应 RocketMQProperties 配置类
-rocketmq:
- # Producer 配置项
- producer:
- group: ${spring.application.name}_PRODUCER # 生产者分组
-
-spring:
- # Kafka 配置项,对应 KafkaProperties 配置类
- kafka:
- # Kafka Producer 配置项
- producer:
- acks: 1 # 0-不应答。1-leader 应答。all-所有 leader 和 follower 应答。
- retries: 3 # 发送失败时,重试发送的次数
- value-serializer: org.springframework.kafka.support.serializer.JsonSerializer # 消息的 value 的序列化
- # Kafka Consumer 配置项
- consumer:
- auto-offset-reset: earliest # 设置消费者分组最初的消费进度为 earliest 。可参考博客 https://blog.csdn.net/lishuangzhe7047/article/details/74530417 理解
- value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
- properties:
- spring.json.trusted.packages: '*'
- # Kafka Consumer Listener 监听器配置
- listener:
- missing-topics-fatal: false # 消费监听接口监听的主题不存在时,默认会报错。所以通过设置为 false ,解决报错
-
---- #################### 定时任务相关配置 ####################
-
-xxl:
- job:
- executor:
- appname: ${spring.application.name} # 执行器 AppName
- logpath: ${user.home}/logs/xxl-job/${spring.application.name} # 执行器运行日志文件存储磁盘路径
- accessToken: default_token # 执行器通讯TOKEN
-
---- #################### 验证码相关配置 ####################
-
-aj:
- captcha:
- jigsaw: classpath:images/jigsaw # 滑动验证,底图路径,不配置将使用默认图片;以 classpath: 开头,取 resource 目录下路径
- pic-click: classpath:images/pic-click # 滑动验证,底图路径,不配置将使用默认图片;以 classpath: 开头,取 resource 目录下路径
- cache-type: redis # 缓存 local/redis...
- cache-number: 1000 # local 缓存的阈值,达到这个值,清除缓存
- timing-clear: 180 # local定时清除过期缓存(单位秒),设置为0代表不执行
- type: blockPuzzle # 验证码类型 default两种都实例化。 blockPuzzle 滑块拼图 clickWord 文字点选
- water-mark: 晨丰科技 # 右下角水印文字(我的水印),可使用 https://tool.chinaz.com/tools/unicode.aspx 中文转 Unicode,Linux 可能需要转 unicode
- interference-options: 0 # 滑动干扰项(0/1/2)
- req-frequency-limit-enable: false # 接口请求次数一分钟限制是否开启 true|false
- req-get-lock-limit: 5 # 验证失败5次,get接口锁定
- req-get-lock-seconds: 10 # 验证失败后,锁定时间间隔
- req-get-minute-limit: 30 # get 接口一分钟内请求数限制
- req-check-minute-limit: 60 # check 接口一分钟内请求数限制
- req-verify-minute-limit: 60 # verify 接口一分钟内请求数限制
-
---- #################### 晨丰相关配置 ####################
-
-chenfeng:
- dynamicDataSource:
- enabled: true
- info:
- version: 1.0.0
- base-package: com.cf.imes.module.executor
- web:
- admin-ui:
- url: http://dashboard.chenfeng.iocoder.cn # Admin 管理后台 UI 的地址
- swagger:
- title: 生产单执行
- description: 提供生产单执行所有功能
- version: ${chenfeng.info.version}
- base-package: ${chenfeng.info.base-package}
- captcha:
- enable: true # 验证码的开关,默认为 true;
- error-code: # 错误码相关配置项
- constants-class-list:
- - com.cf.imes.module.executor.enums.ErrorCodeConstants
- organ: # 多组织相关配置项
- enable: true
- superadmin-prod-org-ignore-enable: false
- ignore-urls:
- - /rpc-api/**
- ignore-tables:
- encrypt:
- enable: false
- publicKey: cfimes
\ No newline at end of file
+ enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度
\ No newline at end of file
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap-dev.yaml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap-dev.yaml
deleted file mode 100644
index eff6d09c7..000000000
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap-dev.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 192.168.1.205:8848
- username: nacos
- password: nacos
- discovery:
- #namespace: dev # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 192.168.1.205:8848 # Nacos 服务器地址
- namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap-local.yaml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap-local.yaml
deleted file mode 100644
index 8726d538c..000000000
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap-local.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 127.0.0.1:8848
- discovery:
- #namespace: dev # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
- namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap-test.yaml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap-test.yaml
deleted file mode 100644
index 7ea73df48..000000000
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap-test.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 192.168.1.204:8848
- username: nacos
- password: nacos
- discovery:
- namespace: imes-test # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 192.168.1.204:8848 # Nacos 服务器地址
- namespace: imes-test # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap.yaml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap.yaml
deleted file mode 100644
index a89d78d3c..000000000
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/bootstrap.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-spring:
- application:
- name: executor-server
-
- profiles:
- active: local
-
-server:
- port: 48084
-
-# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件
-logging:
- file:
- name: ${user.home}/logs/${spring.application.name} # 日志文件名,全路径
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/goods/GoodsServiceImplTest.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/goods/GoodsServiceImplTest.java
index c5fb74b31..75bf9f2d5 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/goods/GoodsServiceImplTest.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/goods/GoodsServiceImplTest.java
@@ -4,7 +4,7 @@ import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import com.cf.imes.framework.test.core.ut.BaseDbUnitTest;
@@ -13,7 +13,7 @@ import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
import com.cf.imes.module.executor.dal.mysql.goods.GoodsMapper;
import com.cf.imes.framework.common.pojo.PageResult;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import org.springframework.context.annotation.Import;
import java.util.*;
import java.time.LocalDateTime;
diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/plan/PlanServiceImplTest.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/plan/PlanServiceImplTest.java
index 041f2bd2c..79ac6346d 100644
--- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/plan/PlanServiceImplTest.java
+++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/plan/PlanServiceImplTest.java
@@ -2,7 +2,7 @@ package com.cf.imes.module.executor.service.plan;
import org.junit.jupiter.api.Test;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import com.cf.imes.framework.test.core.ut.BaseDbUnitTest;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-api/pom.xml b/cf-module-prod-plan/cf-module-prod-plan-api/pom.xml
index 9e263f8a2..aa6b70b16 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-api/pom.xml
+++ b/cf-module-prod-plan/cf-module-prod-plan-api/pom.xml
@@ -17,8 +17,8 @@
- org.springdoc
- springdoc-openapi-ui
+ org.springdoc
+ springdoc-openapi-starter-webmvc-api
provided
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/pom.xml b/cf-module-prod-plan/cf-module-prod-plan-biz/pom.xml
index 44bc4267b..dac42cd19 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/pom.xml
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/pom.xml
@@ -18,12 +18,6 @@
-
-
- org.springframework.cloud
- spring-cloud-starter-bootstrap
-
-
com.cf.imes
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/config/DataSourceInitializer.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/config/DataSourceInitializer.java
index d55941175..5f1c41607 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/config/DataSourceInitializer.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/config/DataSourceInitializer.java
@@ -10,7 +10,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import javax.sql.DataSource;
import java.util.List;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/OrderImportController.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/OrderImportController.java
index d155f3665..fdf6fa3a1 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/OrderImportController.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/OrderImportController.java
@@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.IMPORT;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/vo/OrderPlateImportExcelVO.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/vo/OrderPlateImportExcelVO.java
index 332d61a8c..6cd5926d4 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/vo/OrderPlateImportExcelVO.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/vo/OrderPlateImportExcelVO.java
@@ -9,7 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
/**
* 生产单 Excel 导入 VO
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java
index 5094655d8..964d37db5 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java
@@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.validation.Valid;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
import java.util.ArrayList;
import java.util.List;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataDoubleRoomTreeReqVO.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataDoubleRoomTreeReqVO.java
index 4ed87ad9c..814bde003 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataDoubleRoomTreeReqVO.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataDoubleRoomTreeReqVO.java
@@ -3,11 +3,11 @@ package com.cf.imes.module.plan.controller.admin.orderImport.webcad.vo;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.validation.Valid;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
import java.util.List;
/**
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataOrderReqVO.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataOrderReqVO.java
index 5371bc4dc..9a13238de 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataOrderReqVO.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataOrderReqVO.java
@@ -4,8 +4,8 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
/**
* @author Gqr
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataPartsReqVO.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataPartsReqVO.java
index d48598f4f..54aa50471 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataPartsReqVO.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataPartsReqVO.java
@@ -5,8 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
import java.util.ArrayList;
import java.util.List;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataProcessGroupReqVO.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataProcessGroupReqVO.java
index 3f02c8fe0..5ed2c4da5 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataProcessGroupReqVO.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataProcessGroupReqVO.java
@@ -4,9 +4,9 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.validation.Valid;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
import java.util.List;
/**
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataReqVO.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataReqVO.java
index 6406377af..dbf74008a 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataReqVO.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataReqVO.java
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
import java.util.List;
/**
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/framework/security/config/SecurityConfiguration.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/framework/security/config/SecurityConfiguration.java
index d81f85949..745b54bde 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/framework/security/config/SecurityConfiguration.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/framework/security/config/SecurityConfiguration.java
@@ -1,11 +1,12 @@
package com.cf.imes.module.plan.framework.security.config;
import com.cf.imes.framework.security.config.AuthorizeRequestsCustomizer;
+import com.cf.imes.module.system.enums.ApiConstants;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;
+import org.springframework.security.config.annotation.web.configurers.AuthorizeHttpRequestsConfigurer;
/**
* Infra 模块的 Security 配置
@@ -22,18 +23,20 @@ public class SecurityConfiguration {
return new AuthorizeRequestsCustomizer() {
@Override
- public void customize(ExpressionUrlAuthorizationConfigurer.ExpressionInterceptUrlRegistry registry) {
+ public void customize(AuthorizeHttpRequestsConfigurer.AuthorizationManagerRequestMatcherRegistry registry) {
+ // TODO 芋艿:这个每个项目都需要重复配置,得捉摸有没通用的方案
// Swagger 接口文档
- registry.antMatchers("/v3/api-docs/**").permitAll() // 元数据
- .antMatchers("/swagger-ui.html").permitAll(); // Swagger UI
- // Spring Boot Actuator 的安全配置
- registry.antMatchers("/actuator").anonymous()
- .antMatchers("/actuator/**").anonymous();
+ registry.requestMatchers("/v3/api-docs/**").permitAll()
+ .requestMatchers("/webjars/**").permitAll()
+ .requestMatchers("/swagger-ui").permitAll()
+ .requestMatchers("/swagger-ui/**").permitAll();
// Druid 监控
- registry.antMatchers("/druid/**").anonymous();
-
+ registry.requestMatchers("/druid/**").permitAll();
+ // Spring Boot Actuator 的安全配置
+ registry.requestMatchers("/actuator").permitAll()
+ .requestMatchers("/actuator/**").permitAll();
// RPC 服务的安全配置
- registry.antMatchers("/rpc-api/plan/**").permitAll();
+ registry.requestMatchers(ApiConstants.PREFIX + "/**").permitAll();
}
};
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplateno/CustomPlateNoGenerateServiceImpl.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplateno/CustomPlateNoGenerateServiceImpl.java
index a5f6ae9f1..834249c17 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplateno/CustomPlateNoGenerateServiceImpl.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplateno/CustomPlateNoGenerateServiceImpl.java
@@ -25,7 +25,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/BodyNoGenerateRuleServiceImpl.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/BodyNoGenerateRuleServiceImpl.java
index cd532b50e..7eed37b8f 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/BodyNoGenerateRuleServiceImpl.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/BodyNoGenerateRuleServiceImpl.java
@@ -22,7 +22,7 @@ import com.cf.imes.module.system.enums.customplateno.CustomPlateNoRuleCodeEnum;
import com.cf.imes.module.system.enums.customplateno.ResetModeEnum;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/OrderNoGenerateRuleServiceImpl.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/OrderNoGenerateRuleServiceImpl.java
index 9d00e61bc..720f1bd5e 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/OrderNoGenerateRuleServiceImpl.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/OrderNoGenerateRuleServiceImpl.java
@@ -19,7 +19,7 @@ import com.cf.imes.module.system.enums.customplateno.CustomPlateNoRuleCodeEnum;
import com.cf.imes.module.system.enums.customplateno.ResetModeEnum;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Optional;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/PlateNoGenerateRuleServiceImpl.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/PlateNoGenerateRuleServiceImpl.java
index 7108f4c42..1f22b3d00 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/PlateNoGenerateRuleServiceImpl.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/PlateNoGenerateRuleServiceImpl.java
@@ -22,7 +22,7 @@ import com.cf.imes.module.system.enums.customplateno.CustomPlateNoRuleCodeEnum;
import com.cf.imes.module.system.enums.customplateno.ResetModeEnum;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/RoomNoGenerateRuleServiceImpl.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/RoomNoGenerateRuleServiceImpl.java
index 412ef8a8e..23abca187 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/RoomNoGenerateRuleServiceImpl.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/customplatenorule/RoomNoGenerateRuleServiceImpl.java
@@ -19,7 +19,7 @@ import com.cf.imes.module.system.api.customplateno.dto.CustomPlateNoSeqDTO;
import com.cf.imes.module.system.enums.customplateno.CustomPlateNoRuleCodeEnum;
import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/order/OrderInputProcessor.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/order/OrderInputProcessor.java
index 8b2eda8cf..4ed2f12d0 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/order/OrderInputProcessor.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/order/OrderInputProcessor.java
@@ -21,7 +21,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/OrderImportTaskServiceImpl.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/OrderImportTaskServiceImpl.java
index 409f5dd8c..0c2ed1853 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/OrderImportTaskServiceImpl.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/OrderImportTaskServiceImpl.java
@@ -9,7 +9,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import static com.cf.imes.module.plan.enums.ErrorCodeConstants.ORDER_IMPORT_FAIL;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java
index 991b704a0..d784a3f76 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java
@@ -55,7 +55,7 @@ import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.File;
import java.io.IOException;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/DefaultExcelOrderImportConsumer.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/DefaultExcelOrderImportConsumer.java
index 51c1bcaae..1349564e2 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/DefaultExcelOrderImportConsumer.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/DefaultExcelOrderImportConsumer.java
@@ -45,7 +45,7 @@ import org.springframework.messaging.handler.annotation.Header;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.LocalDate;
import java.util.Objects;
import java.util.Optional;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/DefaultXmlOrderImportConsumer.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/DefaultXmlOrderImportConsumer.java
index 6163817e2..f73093e69 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/DefaultXmlOrderImportConsumer.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/DefaultXmlOrderImportConsumer.java
@@ -44,7 +44,7 @@ import org.springframework.messaging.handler.annotation.Header;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.LocalDate;
import java.util.Objects;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/OrderImportDeadLetterConsumer.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/OrderImportDeadLetterConsumer.java
index 45d8c01b9..416c6fc2d 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/OrderImportDeadLetterConsumer.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/OrderImportDeadLetterConsumer.java
@@ -19,7 +19,7 @@ import org.springframework.messaging.handler.annotation.Header;
import org.springframework.stereotype.Component;
import org.thymeleaf.util.StringUtils;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.IOException;
import java.util.List;
import java.util.Map;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/WebCadOrderImportConsumer.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/WebCadOrderImportConsumer.java
index 72e962c8c..dce6797b3 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/WebCadOrderImportConsumer.java
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/consumer/WebCadOrderImportConsumer.java
@@ -40,7 +40,7 @@ import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.thymeleaf.util.StringUtils;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import static com.cf.imes.module.plan.enums.ErrorCodeConstants.ORDER_IMPORT_FAIL;
import static com.cf.imes.module.plan.enums.ErrorCodeConstants.ORDER_IMPORT_ORGANID_NOT_EXISTS;
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-dev.yaml b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-dev.yaml
index eafa852fc..971dab8e4 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-dev.yaml
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-dev.yaml
@@ -1,3 +1,20 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
+spring:
+ cloud:
+ nacos:
+ server-addr: 192.168.1.205:8848 # Nacos 服务器地址
+ username: # Nacos 账号
+ password: # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ metadata:
+ version: 1.0.0 # 服务实例的版本号,可用于灰度发布
+ config: # 【注册中心】配置项
+ namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+
--- #################### 数据库相关配置 ####################
spring:
# 数据源配置项
@@ -108,68 +125,50 @@ spring:
# Spring Boot Admin Server 服务端的相关配置
context-path: /admin # 配置 Spring
---- #################### 微信公众号、小程序相关配置 ####################
-wx:
- mp: # 公众号配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-mp-spring-boot-starter/README.md 文档
- # app-id: wx041349c6f39b268b
- # secret: 5abee519483bc9f8cb37ce280e814bd0
- app-id: wx5b23ba7a5589ecbb # 测试号
- secret: 2a7b3b20c537e52e74afd395eb85f61f
- # 存储配置,解决 AccessToken 的跨节点的共享
- config-storage:
- type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取
- key-prefix: wx # Redis Key 的前缀
- http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台
- miniapp: # 小程序配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md 文档
- # appid: wx62056c0d5e8db250
- # secret: 333ae72f41552af1e998fe1f54e1584a
- appid: wx63c280fe3248a3e7 # wenhualian的接口测试号
- secret: 6f270509224a7ae1296bbf1c8cb97aed
- config-storage:
- type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取
- key-prefix: wa # Redis Key 的前缀
- http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台
-
--- #################### 晨丰相关配置 ####################
# 晨丰配置项,设置当前项目所有自定义的配置
chenfeng:
+ dynamicDataSource:
+ enabled: true
+ info:
+ version: 1.0.0
+ base-package: com.cf.imes.module.plan
+ web:
+ admin-ui:
+ url: http://dashboard.chenfeng.iocoder.cn # Admin 管理后台 UI 的地址
+ swagger:
+ title: 生产单计划
+ description: 提供生产单计划的所有功能
+ version: ${chenfeng.info.version}
+ base-package: ${chenfeng.info.base-package}
+ captcha:
+ enable: true # 验证码的开关,默认为 true;
+ error-code: # 错误码相关配置项
+ constants-class-list:
+ - com.cf.imes.module.plan.enums.ErrorCodeConstants
+ organ: # 多组织相关配置项
+ enable: true
+ superadmin-prod-org-ignore-enable: false
+ ignore-urls:
+ - /rpc-api/**
+ ignore-tables:
+
xss:
enable: false
exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系
- ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
- pay:
- pay-notify-url: http://niubi.natapp1.cc/api/pay/order/notify
- pay-return-url: http://niubi.natapp1.cc/api/pay/order/return
- refund-notify-url: http://niubi.natapp1.cc/api/pay/refund/notify
-
-justauth:
- enabled: true
- type:
- DINGTALK: # 钉钉
- client-id: dingvrnreaje3yqvzhxg
- client-secret: i8E6iZyDvZj51JIb0tYsYfVQYOks9Cq1lgryEjFRqC79P3iJcrxEwT6Qk2QvLrLI
- ignore-check-redirect-uri: true
- WECHAT_ENTERPRISE: # 企业微信
- client-id: wwd411c69a39ad2e54
- client-secret: 1wTb7hYxnpT2TUbIeHGXGo7T0odav1ic10mLdyyATOw
- agent-id: 1000004
- ignore-check-redirect-uri: true
- WECHAT_MINI_APP: # 微信小程序
- client-id: ${wx.miniapp.appid}
- client-secret: ${wx.miniapp.secret}
- ignore-check-redirect-uri: true
- ignore-check-state: true # 微信小程序,不会使用到 state,所以不进行校验
- WECHAT_MP: # 微信公众号
- client-id: ${wx.mp.app-id}
- client-secret: ${wx.mp.secret}
- ignore-check-redirect-uri: true
- ignore-check-state: true # 微信公众号,未调用后端的 getSocialAuthorizeUrl 方法,所以无法进行 state 校验 TODO 芋艿:后续考虑支持
- cache:
- type: REDIS
- prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
- timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
+ encrypt:
+ enable: false
+ publicKey: cfimes
+ plan:
+ webcad:
+ import:
+ node: 1
+ async-plate-threshold: 5000
+ cadImportPlateNumThreshold: 20000
+ temp-file-path: /data/imes-server/cf-prod-plan/local
mybatis-plus:
configuration:
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-local.yaml b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-local.yaml
index 06fb0e8dc..cc4f28de8 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-local.yaml
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-local.yaml
@@ -1,3 +1,20 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
+spring:
+ cloud:
+ nacos:
+ server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ username: # Nacos 账号
+ password: # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ metadata:
+ version: 1.0.0 # 服务实例的版本号,可用于灰度发布
+ config: # 【注册中心】配置项
+ namespace: # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+
--- #################### 数据库相关配置 ####################
spring:
@@ -133,6 +150,32 @@ logging:
# 晨丰配置项,设置当前项目所有自定义的配置
chenfeng:
+ dynamicDataSource:
+ enabled: true
+ info:
+ version: 1.0.0
+ base-package: com.cf.imes.module.plan
+ web:
+ admin-ui:
+ url: http://dashboard.chenfeng.iocoder.cn # Admin 管理后台 UI 的地址
+ swagger:
+ title: 生产单计划
+ description: 提供生产单计划的所有功能
+ version: ${chenfeng.info.version}
+ base-package: ${chenfeng.info.base-package}
+ captcha:
+ enable: true # 验证码的开关,默认为 true;
+ error-code: # 错误码相关配置项
+ enable: false
+ constants-class-list:
+ - com.cf.imes.module.plan.enums.ErrorCodeConstants
+ organ: # 多组织相关配置项
+ enable: true
+ superadmin-prod-org-ignore-enable: false
+ ignore-urls:
+ - /rpc-api/**
+ ignore-tables:
+
env: # 多环境的配置项
tag: ${HOSTNAME}
security:
@@ -144,8 +187,16 @@ chenfeng:
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
access-log: # 访问日志的配置项
enable: false
- error-code: # 错误码相关配置项
+ encrypt:
enable: false
+ publicKey: cfimes
+ plan:
+ webcad:
+ import:
+ node: 1
+ async-plate-threshold: 5000
+ cadImportPlateNumThreshold: 20000
+ temp-file-path: /data/imes-server/cf-prod-plan/local
mybatis-plus:
configuration:
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-test.yaml b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-test.yaml
index 110cf76c9..42563ddb1 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-test.yaml
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application-test.yaml
@@ -1,4 +1,14 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
spring:
- main:
- allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
- allow-bean-definition-overriding: true # 允许 Bean 覆盖,例如说 Feign 等会存在重复定义的服务
\ No newline at end of file
+ cloud:
+ nacos:
+ server-addr: 192.168.1.204:8848 # Nacos 服务器地址
+ username: nacos # Nacos 账号
+ password: nacos # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: imes-test # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ config: # 【注册中心】配置项
+ namespace: imes-test # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
\ No newline at end of file
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application.yaml b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application.yaml
index 191b1c9c6..fc9d195b6 100644
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application.yaml
+++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/application.yaml
@@ -1,8 +1,19 @@
spring:
+ application:
+ name: plan-server
+
+ profiles:
+ active: local
+
main:
allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
allow-bean-definition-overriding: true # 允许 Bean 覆盖,例如说 Feign 等会存在重复定义的服务
+ config:
+ import:
+ - optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置
+ - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置
+
# Servlet 配置
servlet:
# 文件上传相关配置项
@@ -27,6 +38,14 @@ spring:
redis:
time-to-live: 1h # 设置过期时间为 1 小时
+server:
+ port: 48085
+
+# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件
+logging:
+ file:
+ name: ${user.home}/logs/${spring.application.name} # 日志文件名,全路径
+
--- #################### 接口文档配置 ####################
springdoc:
@@ -69,114 +88,4 @@ spring:
data:
redis:
repositories:
- enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度
-
---- #################### RPC 远程调用相关配置 ####################
-
---- #################### 消息队列相关 ####################
-
-# rocketmq 配置项,对应 RocketMQProperties 配置类
-rocketmq:
- # Producer 配置项
- producer:
- group: ${spring.application.name}_PRODUCER # 生产者分组
-
-spring:
- # Kafka 配置项,对应 KafkaProperties 配置类
- kafka:
- # Kafka Producer 配置项
- producer:
- acks: 1 # 0-不应答。1-leader 应答。all-所有 leader 和 follower 应答。
- retries: 3 # 发送失败时,重试发送的次数
- value-serializer: org.springframework.kafka.support.serializer.JsonSerializer # 消息的 value 的序列化
- # Kafka Consumer 配置项
- consumer:
- auto-offset-reset: earliest # 设置消费者分组最初的消费进度为 earliest 。可参考博客 https://blog.csdn.net/lishuangzhe7047/article/details/74530417 理解
- value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
- properties:
- spring.json.trusted.packages: '*'
- # Kafka Consumer Listener 监听器配置
- listener:
- missing-topics-fatal: false # 消费监听接口监听的主题不存在时,默认会报错。所以通过设置为 false ,解决报错
-
---- #################### 定时任务相关配置 ####################
-
-xxl:
- job:
- executor:
- appname: ${spring.application.name} # 执行器 AppName
- logpath: ${user.home}/logs/xxl-job/${spring.application.name} # 执行器运行日志文件存储磁盘路径
- accessToken: default_token # 执行器通讯TOKEN
-
---- #################### 验证码相关配置 ####################
-
-aj:
- captcha:
- jigsaw: classpath:images/jigsaw # 滑动验证,底图路径,不配置将使用默认图片;以 classpath: 开头,取 resource 目录下路径
- pic-click: classpath:images/pic-click # 滑动验证,底图路径,不配置将使用默认图片;以 classpath: 开头,取 resource 目录下路径
- cache-type: redis # 缓存 local/redis...
- cache-number: 1000 # local 缓存的阈值,达到这个值,清除缓存
- timing-clear: 180 # local定时清除过期缓存(单位秒),设置为0代表不执行
- type: blockPuzzle # 验证码类型 default两种都实例化。 blockPuzzle 滑块拼图 clickWord 文字点选
- water-mark: 晨丰科技 # 右下角水印文字(我的水印),可使用 https://tool.chinaz.com/tools/unicode.aspx 中文转 Unicode,Linux 可能需要转 unicode
- interference-options: 0 # 滑动干扰项(0/1/2)
- req-frequency-limit-enable: false # 接口请求次数一分钟限制是否开启 true|false
- req-get-lock-limit: 5 # 验证失败5次,get接口锁定
- req-get-lock-seconds: 10 # 验证失败后,锁定时间间隔
- req-get-minute-limit: 30 # get 接口一分钟内请求数限制
- req-check-minute-limit: 60 # check 接口一分钟内请求数限制
- req-verify-minute-limit: 60 # verify 接口一分钟内请求数限制
-
-
---- #################### 线程相关配置 ####################
-
-# 异步线程配置 自定义使用参数
-async:
- executor:
- thread:
- core_pool_size: 26 # 配置核心线程数 默认8个 核数*2+2
- max_pool_size: 100 # 配置最大线程数
- queue_capacity: 99988 # 配置队列大小
- keep_alive_seconds: 20 #设置线程空闲等待时间秒s
- name:
- prefix: async-thread- # 配置线程池中的线程的名称前缀
-
-
-
---- #################### 晨丰相关配置 ####################
-
-chenfeng:
- dynamicDataSource:
- enabled: true
- info:
- version: 1.0.0
- base-package: com.cf.imes.module.plan
- web:
- admin-ui:
- url: http://dashboard.chenfeng.iocoder.cn # Admin 管理后台 UI 的地址
- swagger:
- title: 生产单计划
- description: 提供生产单计划的所有功能
- version: ${chenfeng.info.version}
- base-package: ${chenfeng.info.base-package}
- captcha:
- enable: true # 验证码的开关,默认为 true;
- error-code: # 错误码相关配置项
- constants-class-list:
- - com.cf.imes.module.plan.enums.ErrorCodeConstants
- organ: # 多组织相关配置项
- enable: true
- superadmin-prod-org-ignore-enable: false
- ignore-urls:
- - /rpc-api/**
- ignore-tables:
- encrypt:
- enable: false
- publicKey: cfimes
- plan:
- webcad:
- import:
- node: 1
- async-plate-threshold: 5000
- cadImportPlateNumThreshold: 20000
- temp-file-path: /data/imes-server/cf-prod-plan/local
\ No newline at end of file
+ enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度
\ No newline at end of file
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap-dev.yaml b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap-dev.yaml
deleted file mode 100644
index eff6d09c7..000000000
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap-dev.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 192.168.1.205:8848
- username: nacos
- password: nacos
- discovery:
- #namespace: dev # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 192.168.1.205:8848 # Nacos 服务器地址
- namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap-local.yaml b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap-local.yaml
deleted file mode 100644
index 8726d538c..000000000
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap-local.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 127.0.0.1:8848
- discovery:
- #namespace: dev # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
- namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap-test.yaml b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap-test.yaml
deleted file mode 100644
index 805e8c69c..000000000
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap-test.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 192.168.1.204:8848
- username: nacos
- password: nacos
- discovery:
- namespace: imes-test # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 192.168.1.204:8848 # Nacos 服务器地址
- namespace: imes-test # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
\ No newline at end of file
diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap.yaml b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap.yaml
deleted file mode 100644
index d2b120af8..000000000
--- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/resources/bootstrap.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-spring:
- application:
- name: plan-server
-
- profiles:
- active: local
-
-server:
- port: 48085
-
-# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件
-logging:
- file:
- name: ${user.home}/logs/${spring.application.name} # 日志文件名,全路径
diff --git a/cf-module-report/cf-module-report-api/pom.xml b/cf-module-report/cf-module-report-api/pom.xml
index 78758b2bd..f6b4c4599 100644
--- a/cf-module-report/cf-module-report-api/pom.xml
+++ b/cf-module-report/cf-module-report-api/pom.xml
@@ -25,8 +25,8 @@
- org.springdoc
- springdoc-openapi-ui
+ org.springdoc
+ springdoc-openapi-starter-webmvc-api
provided
diff --git a/cf-module-report/cf-module-report-biz/pom.xml b/cf-module-report/cf-module-report-biz/pom.xml
index f61696c1c..c709a10a0 100644
--- a/cf-module-report/cf-module-report-biz/pom.xml
+++ b/cf-module-report/cf-module-report-biz/pom.xml
@@ -17,12 +17,6 @@
report 模块,主要实现数据可视化报表等功能
-
-
- org.springframework.cloud
- spring-cloud-starter-bootstrap
-
-
com.cf.imes
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/config/DataSourceInitializer.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/config/DataSourceInitializer.java
index 43865b4ef..93bcc6a52 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/config/DataSourceInitializer.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/config/DataSourceInitializer.java
@@ -10,7 +10,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import javax.sql.DataSource;
import java.util.List;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/ReportDatasetController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/ReportDatasetController.java
index 211f87427..7810da12f 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/ReportDatasetController.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/ReportDatasetController.java
@@ -15,8 +15,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
import java.util.List;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetFieldVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetFieldVO.java
index 6133e0e95..5c3d2a801 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetFieldVO.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetFieldVO.java
@@ -5,7 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
import java.io.Serial;
import java.io.Serializable;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetParameterVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetParameterVO.java
index 8191490d5..26685ccd7 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetParameterVO.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetParameterVO.java
@@ -6,7 +6,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
import java.io.Serial;
import java.io.Serializable;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetSaveReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetSaveReqVO.java
index bb15f22fe..b6873a334 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetSaveReqVO.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/vo/ReportDatasetSaveReqVO.java
@@ -8,10 +8,10 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
-import javax.validation.Valid;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/ReportDatasourceController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/ReportDatasourceController.java
index ef6271c68..54b5e83a7 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/ReportDatasourceController.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/ReportDatasourceController.java
@@ -18,10 +18,10 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import javax.validation.Valid;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.Size;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.Size;
import java.util.List;
import java.util.Map;
import java.util.Objects;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceParameterVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceParameterVO.java
index b58233370..c8de3d9f1 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceParameterVO.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceParameterVO.java
@@ -6,7 +6,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
import java.io.Serial;
import java.io.Serializable;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourcePreviewReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourcePreviewReqVO.java
index 9ff4a8a3c..167555116 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourcePreviewReqVO.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourcePreviewReqVO.java
@@ -7,10 +7,10 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.validation.Valid;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
import java.util.List;
/**
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceSaveReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceSaveReqVO.java
index 9013593a9..5b2491ff3 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceSaveReqVO.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceSaveReqVO.java
@@ -9,8 +9,8 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Size;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceTestConnReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceTestConnReqVO.java
index 0bbb512a1..8e3317fd4 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceTestConnReqVO.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/vo/ReportDatasourceTestConnReqVO.java
@@ -6,7 +6,7 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
/**
* @author Gqr
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java
index a9f02a35d..fff72a8e5 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java
@@ -29,12 +29,12 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.Size;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.Size;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateCommonPreviewReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateCommonPreviewReqVO.java
index f1f94fd03..efeeffea6 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateCommonPreviewReqVO.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateCommonPreviewReqVO.java
@@ -3,9 +3,9 @@ package com.cf.imes.module.report.controller.admin.template.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
import java.util.Map;
/**
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplatePreviewReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplatePreviewReqVO.java
index 019377c35..591477bb0 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplatePreviewReqVO.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplatePreviewReqVO.java
@@ -3,9 +3,9 @@ package com.cf.imes.module.report.controller.admin.template.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
import java.util.Map;
/**
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java
index 040973973..e89bea013 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateSaveReqVO.java
@@ -7,8 +7,8 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Size;
import java.util.Set;
/**
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/security/config/SecurityConfiguration.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/security/config/SecurityConfiguration.java
index 3a2272f3e..0752bcb39 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/security/config/SecurityConfiguration.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/security/config/SecurityConfiguration.java
@@ -4,7 +4,7 @@ import com.cf.imes.framework.security.config.AuthorizeRequestsCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;
+import org.springframework.security.config.annotation.web.configurers.AuthorizeHttpRequestsConfigurer;
/**
* Report 模块的 Security 配置
@@ -17,17 +17,22 @@ public class SecurityConfiguration {
return new AuthorizeRequestsCustomizer() {
@Override
- public void customize(ExpressionUrlAuthorizationConfigurer.ExpressionInterceptUrlRegistry registry) {
+ public void customize(AuthorizeHttpRequestsConfigurer.AuthorizationManagerRequestMatcherRegistry registry) {
// Swagger 接口文档
- registry.antMatchers("/v3/api-docs/**").permitAll() // 元数据
- .antMatchers("/swagger-ui.html").permitAll(); // Swagger UI
+ registry.requestMatchers("/v3/api-docs/**").permitAll()
+ .requestMatchers("/webjars/**").permitAll()
+ .requestMatchers("/swagger-ui").permitAll()
+ .requestMatchers("/swagger-ui/**").permitAll();
// Spring Boot Actuator 的安全配置
- registry.antMatchers("/actuator").anonymous()
- .antMatchers("/actuator/**").anonymous();
+ registry.requestMatchers("/actuator").permitAll()
+ .requestMatchers("/actuator/**").permitAll();
// Druid 监控
- registry.antMatchers("/druid/**").anonymous();
+ registry.requestMatchers("/druid/**").permitAll();
// 积木报表
- registry.antMatchers("/jmreport/**").permitAll();
+ registry.requestMatchers("/jmreport/**").permitAll();
+ // 积木仪表盘
+ registry.requestMatchers("/drag/**").permitAll();
+ registry.requestMatchers("/jimubi/**").permitAll();
}
};
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetService.java
index d8eb00519..fd474b37b 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetService.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetService.java
@@ -4,7 +4,7 @@ import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetReqVO;
import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetSaveReqVO;
import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
import java.util.List;
/**
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetServiceImpl.java
index 4cc7e6091..7dcee2870 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetServiceImpl.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/dataset/ReportDatasetServiceImpl.java
@@ -15,7 +15,7 @@ import com.cf.imes.module.report.enums.template.ReportTemplateTypeEnum;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.List;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceService.java
index ac7c93b0d..42e81025d 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceService.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceService.java
@@ -6,7 +6,7 @@ import com.cf.imes.module.report.controller.admin.datasource.vo.ReportBeanDataso
import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceSaveReqVO;
import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
import java.util.List;
/**
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java
index 52c1c1275..1a001eaa0 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java
@@ -43,7 +43,7 @@ import org.springframework.jdbc.support.JdbcUtils;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import javax.sql.DataSource;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java
index 2fe7aaf81..21d5f2cd1 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java
@@ -10,8 +10,8 @@ import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateSave
import com.cf.imes.module.report.dal.dataobject.template.ReportTemplateDO;
import org.springframework.web.multipart.MultipartFile;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
import java.util.List;
/**
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java
index 915ba6942..ae7f373a6 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java
@@ -70,8 +70,8 @@ import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.multipart.MultipartFile;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/utils/TenantParamsUtils.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/utils/TenantParamsUtils.java
index 8493278ac..f2ea196bc 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/utils/TenantParamsUtils.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/utils/TenantParamsUtils.java
@@ -16,7 +16,7 @@ import com.cf.imes.module.report.dal.mysql.datasource.ReportDatasourceMapper;
import com.cf.imes.module.report.enums.template.ReportTemplateTypeEnum;
import org.springframework.stereotype.Component;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/ReportDatasourceTypeInEnum.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/ReportDatasourceTypeInEnum.java
index c90178ab2..d186ecf2a 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/ReportDatasourceTypeInEnum.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/ReportDatasourceTypeInEnum.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.report.validation.datasource;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/ReportDatasourceTypeInEnumValidator.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/ReportDatasourceTypeInEnumValidator.java
index cc6c291d9..9c02b1c89 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/ReportDatasourceTypeInEnumValidator.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/ReportDatasourceTypeInEnumValidator.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.report.validation.datasource;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.module.report.enums.datasource.ReportDatasourceTypeEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* 自定义报表数据源类型入参校验器
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlIllegalValid.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlIllegalValid.java
index f73404f1b..c98223aa4 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlIllegalValid.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlIllegalValid.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.report.validation.datasource;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlIllegalValidator.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlIllegalValidator.java
index c0dc29a31..9ff792578 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlIllegalValidator.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlIllegalValidator.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.report.validation.datasource;
import cn.hutool.core.util.ObjectUtil;
import org.apache.commons.lang3.StringUtils;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlParamInjectionValid.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlParamInjectionValid.java
index 4d8a1932f..85b40fba9 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlParamInjectionValid.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlParamInjectionValid.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.report.validation.datasource;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlParamInjectionValidator.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlParamInjectionValidator.java
index 2879502f3..539732542 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlParamInjectionValidator.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/datasource/SqlParamInjectionValidator.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.report.validation.datasource;
import com.baomidou.mybatisplus.core.toolkit.sql.SqlInjectionUtils;
import org.apache.commons.lang3.StringUtils;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* sql参数注入攻击校验器
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateProducerTypeInEnum.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateProducerTypeInEnum.java
index 23b6ba28f..2c5fcf5d5 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateProducerTypeInEnum.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateProducerTypeInEnum.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.report.validation.template;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateProducerTypeInEnumValidator.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateProducerTypeInEnumValidator.java
index def7fc78e..d6a130cd1 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateProducerTypeInEnumValidator.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateProducerTypeInEnumValidator.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.report.validation.template;
import com.bstek.ureport.export.ProducerEnum;
import org.apache.commons.lang3.StringUtils;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
import java.util.Objects;
/**
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateTypeInEnum.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateTypeInEnum.java
index df4844e52..bfd460a2e 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateTypeInEnum.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateTypeInEnum.java
@@ -1,7 +1,7 @@
package com.cf.imes.module.report.validation.template;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateTypeInEnumValidator.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateTypeInEnumValidator.java
index 2fc8b796c..eca90cca4 100644
--- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateTypeInEnumValidator.java
+++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/validation/template/ReportTemplateTypeInEnumValidator.java
@@ -3,8 +3,8 @@ package com.cf.imes.module.report.validation.template;
import cn.hutool.core.util.ObjectUtil;
import com.cf.imes.module.report.enums.template.ReportTemplateTypeEnum;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* 自定义报表模板类型入参校验器
diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/application-dev.yaml b/cf-module-report/cf-module-report-biz/src/main/resources/application-dev.yaml
index 05bc5e0cd..65f6a70f3 100644
--- a/cf-module-report/cf-module-report-biz/src/main/resources/application-dev.yaml
+++ b/cf-module-report/cf-module-report-biz/src/main/resources/application-dev.yaml
@@ -1,3 +1,20 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
+spring:
+ cloud:
+ nacos:
+ server-addr: 192.168.1.205:8848 # Nacos 服务器地址
+ username: # Nacos 账号
+ password: # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ metadata:
+ version: 1.0.0 # 服务实例的版本号,可用于灰度发布
+ config: # 【注册中心】配置项
+ namespace: dev # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+
--- #################### 数据库相关配置 ####################
spring:
# 数据源配置项
@@ -87,8 +104,48 @@ spring:
# 晨丰配置项,设置当前项目所有自定义的配置
chenfeng:
+ dynamicDataSource:
+ enabled: true
+ info:
+ version: 1.0.0
+ base-package: com.cf.imes.module.report
+ web:
+ admin-ui:
+ url: http://dashboard.cf.iocoder.cn # Admin 管理后台 UI 的地址
+ swagger:
+ title: 管理后台
+ description: 提供管理员管理的所有功能
+ version: ${chenfeng.info.version}
+ base-package: ${chenfeng.info.base-package}
+ error-code: # 错误码相关配置项
+ constants-class-list:
+ - com.cf.imes.module.report.enums.ErrorCodeConstants
+ organ: # 多租户相关配置项
+ enable: true
+ ignore-tables:
+
xss:
enable: false
exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系
- ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
+ encrypt:
+ enable: false
+ publicKey: cfimes
+ report:
+ tenant-table-names:
+ - system_dept
+ - system_user
+ - system_organization
+ - order_body
+ - order_goods
+ - order_group
+ - order_item
+ - order_parts
+ - order_plan
+ - order_plan_item
+ - order_plate
+ - order_prepackaged
+ - order_remain_plate
+ - orders
+ - plate
diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/application-local.yaml b/cf-module-report/cf-module-report-biz/src/main/resources/application-local.yaml
index 44cd14b4c..736ace149 100644
--- a/cf-module-report/cf-module-report-biz/src/main/resources/application-local.yaml
+++ b/cf-module-report/cf-module-report-biz/src/main/resources/application-local.yaml
@@ -1,3 +1,20 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
+spring:
+ cloud:
+ nacos:
+ server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+ username: # Nacos 账号
+ password: # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ metadata:
+ version: 1.0.0 # 服务实例的版本号,可用于灰度发布
+ config: # 【注册中心】配置项
+ namespace: # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+
--- #################### 数据库相关配置 ####################
spring:
@@ -100,6 +117,27 @@ logging:
# 晨丰配置项,设置当前项目所有自定义的配置
chenfeng:
+ dynamicDataSource:
+ enabled: true
+ info:
+ version: 1.0.0
+ base-package: com.cf.imes.module.report
+ web:
+ admin-ui:
+ url: http://dashboard.cf.iocoder.cn # Admin 管理后台 UI 的地址
+ swagger:
+ title: 管理后台
+ description: 提供管理员管理的所有功能
+ version: ${chenfeng.info.version}
+ base-package: ${chenfeng.info.base-package}
+ error-code: # 错误码相关配置项
+ enable: false
+ constants-class-list:
+ - com.cf.imes.module.report.enums.ErrorCodeConstants
+ organ: # 多租户相关配置项
+ enable: true
+ ignore-tables:
+
env: # 多环境的配置项
tag: ${HOSTNAME}
security:
@@ -111,5 +149,23 @@ chenfeng:
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
access-log: # 访问日志的配置项
enable: false
- error-code: # 错误码相关配置项
- enable: false
\ No newline at end of file
+ encrypt:
+ enable: false
+ publicKey: cfimes
+ report:
+ tenant-table-names:
+ - system_dept
+ - system_user
+ - system_organization
+ - order_body
+ - order_goods
+ - order_group
+ - order_item
+ - order_parts
+ - order_plan
+ - order_plan_item
+ - order_plate
+ - order_prepackaged
+ - order_remain_plate
+ - orders
+ - plate
\ No newline at end of file
diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/application-test.yaml b/cf-module-report/cf-module-report-biz/src/main/resources/application-test.yaml
index 110cf76c9..42563ddb1 100644
--- a/cf-module-report/cf-module-report-biz/src/main/resources/application-test.yaml
+++ b/cf-module-report/cf-module-report-biz/src/main/resources/application-test.yaml
@@ -1,4 +1,14 @@
+--- #################### 注册中心 + 配置中心相关配置 ####################
+
spring:
- main:
- allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
- allow-bean-definition-overriding: true # 允许 Bean 覆盖,例如说 Feign 等会存在重复定义的服务
\ No newline at end of file
+ cloud:
+ nacos:
+ server-addr: 192.168.1.204:8848 # Nacos 服务器地址
+ username: nacos # Nacos 账号
+ password: nacos # Nacos 密码
+ discovery: # 【配置中心】配置项
+ namespace: imes-test # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
+ config: # 【注册中心】配置项
+ namespace: imes-test # 命名空间。这里使用 dev 开发环境
+ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
\ No newline at end of file
diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/application.yaml b/cf-module-report/cf-module-report-biz/src/main/resources/application.yaml
index 3c26170a4..6fbfbfe6e 100644
--- a/cf-module-report/cf-module-report-biz/src/main/resources/application.yaml
+++ b/cf-module-report/cf-module-report-biz/src/main/resources/application.yaml
@@ -1,8 +1,19 @@
spring:
+ application:
+ name: report-server
+
+ profiles:
+ active: test
+
main:
allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
allow-bean-definition-overriding: true # 允许 Bean 覆盖,例如说 Feign 等会存在重复定义的服务
+ config:
+ import:
+ - optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置
+ - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置
+
# Servlet 配置
servlet:
# 文件上传相关配置项
@@ -72,56 +83,7 @@ spring:
repositories:
enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度
---- #################### RPC 远程调用相关配置 ####################
-
---- #################### MQ 消息队列相关配置 ####################
-
---- #################### 定时任务相关配置 ####################
-
# 积木报表配置
jeecg:
jmreport:
- saas-mode: organ
-
---- #################### 晨丰相关配置 ####################
-
-chenfeng:
- dynamicDataSource:
- enabled: true
- info:
- version: 1.0.0
- base-package: com.cf.imes.module.report
- web:
- admin-ui:
- url: http://dashboard.cf.iocoder.cn # Admin 管理后台 UI 的地址
- swagger:
- title: 管理后台
- description: 提供管理员管理的所有功能
- version: ${chenfeng.info.version}
- base-package: ${chenfeng.info.base-package}
- error-code: # 错误码相关配置项
- constants-class-list:
- - com.cf.imes.module.report.enums.ErrorCodeConstants
- organ: # 多租户相关配置项
- enable: true
- ignore-tables:
- encrypt:
- enable: false
- publicKey: cfimes
- report:
- tenant-table-names:
- - system_dept
- - system_user
- - system_organization
- - order_body
- - order_goods
- - order_group
- - order_item
- - order_parts
- - order_plan
- - order_plan_item
- - order_plate
- - order_prepackaged
- - order_remain_plate
- - orders
- - plate
\ No newline at end of file
+ saas-mode: organ
\ No newline at end of file
diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap-dev.yaml b/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap-dev.yaml
deleted file mode 100644
index eff6d09c7..000000000
--- a/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap-dev.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 192.168.1.205:8848
- username: nacos
- password: nacos
- discovery:
- #namespace: dev # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 192.168.1.205:8848 # Nacos 服务器地址
- namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap-local.yaml b/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap-local.yaml
deleted file mode 100644
index 8726d538c..000000000
--- a/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap-local.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 127.0.0.1:8848
- discovery:
- #namespace: dev # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 127.0.0.1:8848 # Nacos 服务器地址
- namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap-test.yaml b/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap-test.yaml
deleted file mode 100644
index 805e8c69c..000000000
--- a/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap-test.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
---- #################### 注册中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- server-addr: 192.168.1.204:8848
- username: nacos
- password: nacos
- discovery:
- namespace: imes-test # 命名空间。这里使用 dev 开发环境
- metadata:
- version: 1.0.0 # 服务实例的版本号,可用于灰度发布
-
---- #################### 配置中心相关配置 ####################
-
-spring:
- cloud:
- nacos:
- # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
- config:
- server-addr: 192.168.1.204:8848 # Nacos 服务器地址
- namespace: imes-test # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境
- group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
- name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
- file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
\ No newline at end of file
diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap.yaml b/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap.yaml
deleted file mode 100644
index 913218884..000000000
--- a/cf-module-report/cf-module-report-biz/src/main/resources/bootstrap.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-spring:
- application:
- name: report-server
-
- profiles:
- active: local
-
-server:
- port: 48086
-
-# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件
-logging:
- file:
- name: ${user.home}/logs/${spring.application.name} # 日志文件名,全路径
diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar b/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar
index 376bf0eaa5b86db336185e993da930c3402fcb23..ae5c83e90a1de7e9a1fc156efcdccda2a2c948eb 100644
GIT binary patch
delta 107698
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