From f574055ed80a64cbccd601b200afc437a87b52eb Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期六, 07 二月 2026 16:03:39 +0800
Subject: [PATCH] RCS入库流程优化
---
rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 54 insertions(+), 1 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java
index 7d2360c..c3eb876 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java
@@ -320,8 +320,10 @@
// column, temp[0], cls != null ? cls.getSimpleName() : "null", requestInfo);
continue;
}
+ // 妫�鏌ュ疄浣撶被瀛楁鐨� @TableField 娉ㄨВ锛屽鏋滃瓧娈垫槸淇濈暀鍏抽敭瀛楋紝浣跨敤娉ㄨВ涓寚瀹氱殑鍒楀悕锛堝甫鍙嶅紩鍙凤級
+ String dbColumn = getDbColumnName(column);
boolean asc = temp.length == 1 || !temp[temp.length - 1].toLowerCase().equals(ORDER_DESC_VALUE);
- orders.add(new OrderItem(column, asc));
+ orders.add(new OrderItem(dbColumn, asc));
}
}
}
@@ -329,6 +331,57 @@
}
/**
+ * 鑾峰彇鏁版嵁搴撳垪鍚嶏紝濡傛灉鏄繚鐣欏叧閿瓧鍒欐坊鍔犲弽寮曞彿
+ * @param fieldName 瀛楁鍚嶏紙涓嬪垝绾挎牸寮忥級
+ * @return 鏁版嵁搴撳垪鍚�
+ */
+ private String getDbColumnName(String fieldName) {
+ if (cls == null) {
+ // 濡傛灉娌℃湁瀹炰綋绫伙紝妫�鏌ユ槸鍚︽槸甯歌鐨勪繚鐣欏叧閿瓧
+ return wrapReservedKeyword(fieldName);
+ }
+
+ // 鏌ユ壘瀹炰綋绫讳腑瀵瑰簲鐨勫瓧娈�
+ for (Field field : Cools.getAllFields(cls)) {
+ String column = Utils.toSymbolCase(field.getName(), '_');
+ if (column.equals(fieldName)) {
+ // 妫�鏌ユ槸鍚︽湁 @TableField 娉ㄨВ
+ if (field.isAnnotationPresent(TableField.class)) {
+ TableField annotation = field.getAnnotation(TableField.class);
+ String value = annotation.value();
+ // 濡傛灉娉ㄨВ鍊间笉涓虹┖锛屼娇鐢ㄦ敞瑙e�硷紙鍙兘宸茬粡鍖呭惈鍙嶅紩鍙凤級
+ if (!Cools.isEmpty(value) && !value.equals(fieldName)) {
+ return value;
+ }
+ }
+ // 濡傛灉娌℃湁娉ㄨВ鎴栨敞瑙e�间负绌猴紝妫�鏌ユ槸鍚︽槸淇濈暀鍏抽敭瀛�
+ return wrapReservedKeyword(fieldName);
+ }
+ }
+
+ // 濡傛灉鎵句笉鍒板瓧娈碉紝妫�鏌ユ槸鍚︽槸淇濈暀鍏抽敭瀛�
+ return wrapReservedKeyword(fieldName);
+ }
+
+ /**
+ * 濡傛灉鏄� MySQL 淇濈暀鍏抽敭瀛楋紝鍒欐坊鍔犲弽寮曞彿
+ * @param column 鍒楀悕
+ * @return 澶勭悊鍚庣殑鍒楀悕
+ */
+ private String wrapReservedKeyword(String column) {
+ // MySQL 甯歌淇濈暀鍏抽敭瀛楀垪琛�
+ Set<String> reservedKeywords = new HashSet<>(Arrays.asList(
+ "row", "type", "length", "channel", "status", "order", "group", "key", "index",
+ "table", "database", "user", "select", "insert", "update", "delete", "from", "where"
+ ));
+
+ if (reservedKeywords.contains(column.toLowerCase())) {
+ return "`" + column + "`";
+ }
+ return column;
+ }
+
+ /**
* 鑾峰彇褰撳墠璇锋眰淇℃伅锛堣矾寰勫拰鏂规硶锛�
* @return 璇锋眰淇℃伅瀛楃涓诧紝鏍煎紡锛欻TTP鏂规硶 璇锋眰璺緞
*/
--
Gitblit v1.9.1