From 9337373a74743824938368b69fcc10f6b277aa64 Mon Sep 17 00:00:00 2001
From: huangjiayang <5265313@qq.com>
Date: 星期三, 23 四月 2025 15:11:20 +0800
Subject: [PATCH] 【UPDATE】修改日历内容jsonB字段适配代码
---
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWorkCalendar.java | 6 +++---
aps-modules/aps-core/src/main/java/com/aps/core/typeHandler/JsonTypeHandler.java | 42 ++++++++++++++++++++++++++++++++++++++++++
aps-modules/aps-core/src/main/resources/mapper/core/ApsWorkCalendarMapper.xml | 4 ++--
3 files changed, 47 insertions(+), 5 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWorkCalendar.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWorkCalendar.java
index 5387157..7064fa4 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWorkCalendar.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWorkCalendar.java
@@ -41,7 +41,7 @@
/** 鏃ュ巻鍐呭 */
@Excel(name = "鏃ュ巻鍐呭")
- private String content;
+ private Object content;
/** 閫傜敤宸ュ巶 */
@Excel(name = "閫傜敤宸ュ巶")
@@ -105,12 +105,12 @@
return expiringDate;
}
- public void setContent(String content)
+ public void setContent(Object content)
{
this.content = content;
}
- public String getContent()
+ public Object getContent()
{
return content;
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/typeHandler/JsonTypeHandler.java b/aps-modules/aps-core/src/main/java/com/aps/core/typeHandler/JsonTypeHandler.java
new file mode 100644
index 0000000..fdc8b20
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/typeHandler/JsonTypeHandler.java
@@ -0,0 +1,42 @@
+package com.aps.core.typeHandler;
+
+import com.alibaba.fastjson2.JSON;
+import org.apache.ibatis.type.BaseTypeHandler;
+import org.apache.ibatis.type.JdbcType;
+import org.apache.ibatis.type.MappedTypes;
+import org.postgresql.util.PGobject;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+@MappedTypes({Object.class})
+public class JsonTypeHandler extends BaseTypeHandler<Object> {
+
+ private static final PGobject jsonObject = new PGobject();
+
+ @Override
+ public void setNonNullParameter(PreparedStatement preparedStatement, int i, Object o, JdbcType jdbcType) throws SQLException {
+ jsonObject.setType("jsonb");
+ jsonObject.setValue(JSON.toJSONString(o));
+ preparedStatement.setObject(i, jsonObject);
+ }
+
+ @Override
+ public Object getNullableResult(ResultSet resultSet, String s) throws SQLException {
+ return resultSet.getString(s);
+ }
+
+ @Override
+ public Object getNullableResult(ResultSet resultSet, int i) throws SQLException {
+ return resultSet.getString(i);
+ }
+
+ @Override
+ public Object getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
+ return callableStatement.getString(i);
+ }
+}
+
+
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsWorkCalendarMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsWorkCalendarMapper.xml
index e491501..d6cd2e3 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsWorkCalendarMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsWorkCalendarMapper.xml
@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.aps.core.mapper.ApsWorkCalendarMapper">
-
+
<resultMap type="ApsWorkCalendar" id="ApsWorkCalendarResult">
<result property="id" column="id" />
<result property="description" column="description" />
@@ -66,7 +66,7 @@
<if test="type != null">#{type},</if>
<if test="effectiveDate != null">#{effectiveDate},</if>
<if test="expiringDate != null">#{expiringDate},</if>
- <if test="content != null">#{content},</if>
+ <if test="content != null">#{content, typeHandler=com.aps.core.typeHandler.JsonTypeHandler, jdbcType=OTHER},</if>
<if test="applicableFactory != null">#{applicableFactory},</if>
<if test="applicableWorkshop != null">#{applicableWorkshop},</if>
<if test="applicableProcess != null">#{applicableProcess},</if>
--
Gitblit v1.9.3