diff --git a/WEB-INF/prop/jclRecruit.properties b/WEB-INF/prop/jclRecruit.properties
index ccb5d66..b0aa3dd 100644
--- a/WEB-INF/prop/jclRecruit.properties
+++ b/WEB-INF/prop/jclRecruit.properties
@@ -1,10 +1,15 @@
+#\u805A\u624D\u6797\u62DB\u8058\u6D88\u606F\u63D0\u9192\uFF0C\u6D88\u606F\u6765\u6E90
+RECRUIT_MESSAGE_TYPE=2022061063
#\u9762\u8BD5\u76F8\u5173\u6D88\u606F\u63D0\u9192\uFF0C\u6D88\u606F\u6765\u6E90
-INTERVIEW_MESSAGE_TYPE=85
-#\u6DFB\u52A0\u9762\u8BD5\u6D88\u606F\u63D0\u9192\u8868\u5F1F
+INTERVIEW_MESSAGE_TYPE=2022061063
+#\u6DFB\u52A0\u9762\u8BD5\u6D88\u606F\u63D0\u9192\u6807\u9898
INTERVIEW_ADD_MESSAGE_TITLE=\u9762\u8BD5\u5B89\u6392\u63D0\u9192
-#\u53D6\u6D88\u9762\u8BD5\u6D88\u606F\u63D0\u9192\u8868\u5F1F
+#\u53D6\u6D88\u9762\u8BD5\u6D88\u606F\u63D0\u9192\u6807\u9898
INTERVIEW_CANCEL_MESSAGE_TITLE=\u53D6\u6D88\u9762\u8BD5\u63D0\u9192
-
+#\u9762\u8BD5\u8BC4\u4EF7\u6D88\u606F\u63D0\u9192\u6807\u9898
+INTERVIEW_EVALUATE_MESSAGE_TITLE=\u9762\u8BD5\u8BC4\u4EF7\u63D0\u9192
+#\u4EBA\u624D\u9ED1\u540D\u5355\u901A\u77E5
+JOIN_BLACKLIST_MESSAGE_TITLE=\u4EBA\u624D\u9ED1\u540D\u5355\u901A\u77E5
#\u5E94\u8058\u8005\u7B80\u5386\u5B58\u653E\u76EE\u5F55ID
APPLICANTS_RESUMES_CATEGORY=110
\ No newline at end of file
diff --git a/src/com/engine/recruit/conn/RecruitDataMap.java b/src/com/engine/recruit/conn/RecruitDataMap.java
new file mode 100644
index 0000000..a369b56
--- /dev/null
+++ b/src/com/engine/recruit/conn/RecruitDataMap.java
@@ -0,0 +1,29 @@
+package com.engine.recruit.conn;
+
+import java.util.HashMap;
+
+/**
+ * 聚才林数据集合
+ *
+ * key忽略大小写
+ *
+ * @author:dxfeng
+ * @createTime: 2023/10/19
+ * @version: 1.0
+ */
+public class RecruitDataMap extends HashMap {
+ @Override
+ public V get(Object key) {
+ if (key instanceof String) {
+ // 将键转为小写形式再进行查找
+ return super.get(((String) key).toLowerCase());
+ }
+ return null;
+ }
+
+ @Override
+ public V put(String key, V value) {
+ // 将键转为小写形式后作为真正的键
+ return super.put(key.toLowerCase(), value);
+ }
+}
diff --git a/src/com/engine/recruit/conn/RecruitRecordSet.java b/src/com/engine/recruit/conn/RecruitRecordSet.java
new file mode 100644
index 0000000..69a2037
--- /dev/null
+++ b/src/com/engine/recruit/conn/RecruitRecordSet.java
@@ -0,0 +1,73 @@
+package com.engine.recruit.conn;
+
+import org.apache.commons.lang3.StringUtils;
+import weaver.common.DateUtil;
+import weaver.conn.RecordSet;
+import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2023/10/19
+ * @version: 1.0
+ */
+public class RecruitRecordSet {
+
+ /**
+ * 获取单个记录映射
+ *
+ * @param rs RecordSet
+ * @return
+ */
+ public static Map getSingleRecordMap(RecordSet rs) {
+ Map dataMap = new RecruitDataMap<>();
+ if (rs.next()) {
+ String[] columnNames = rs.getColumnName();
+ for (String columnName : columnNames) {
+ dataMap.put(columnName.toLowerCase(), RecruitModeUtil.parseBlankToNull(rs.getString(columnName)));
+ }
+ }
+ return dataMap;
+ }
+
+ /**
+ * 插入数据
+ *
+ * @param dataMap 数据集合
+ * @param tableName 表名
+ */
+ public static void insertData(Map dataMap, String tableName) {
+ List fieldList = new ArrayList<>();
+ List