src/main/java/org/springblade/common/handler/JsonStringArrayTypeHandler.java
New file @@ -0,0 +1,58 @@ package org.springblade.common.handler; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.ibatis.type.BaseTypeHandler; import org.apache.ibatis.type.JdbcType; import org.apache.ibatis.type.MappedJdbcTypes; import java.sql.CallableStatement; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @MappedJdbcTypes({JdbcType.VARCHAR}) public class JsonStringArrayTypeHandler extends BaseTypeHandler<Object[]> { private static final ObjectMapper mapper = new ObjectMapper(); @Override public void setNonNullParameter(PreparedStatement ps, int i, Object[] parameter, JdbcType jdbcType) throws SQLException { ps.setObject(i, toJson(parameter)); } @Override public Object[] getNullableResult(ResultSet rs, String columnName) throws SQLException { return this.toObject(rs.getString(columnName)); } @Override public Object[] getNullableResult(ResultSet rs, int columnIndex) throws SQLException { return this.toObject(rs.getString(columnIndex)); } @Override public Object[] getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { return this.toObject(cs.getString(columnIndex)); } private String toJson(Object[] params) { try { return mapper.writeValueAsString(params); } catch (Exception e) { e.printStackTrace(); } return "[]"; } private Object[] toObject(String content) { if (content != null && !content.isEmpty()) { try { return (Object[]) mapper.readValue(content, Object[].class); } catch (Exception e) { throw new RuntimeException(e); } } else { return null; } } } src/main/java/org/springblade/modules/eventgm/entity/EventgmEntity.java
@@ -16,12 +16,15 @@ */ package org.springblade.modules.eventgm.entity; import com.alibaba.fastjson.annotation.JSONType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; import lombok.EqualsAndHashCode; import org.springblade.common.handler.JsonStringArrayTypeHandler; import org.springblade.core.tenant.mp.TenantEntity; /** @@ -31,7 +34,7 @@ * @since 2022-09-13 */ @Data @TableName("ins_eventgm") @TableName(value = "ins_eventgm",autoResultMap = true) @ApiModel(value = "Eventgm对象", description = "事件管理") @EqualsAndHashCode(callSuper = true) public class EventgmEntity extends TenantEntity { @@ -77,5 +80,11 @@ */ @ApiModelProperty(value = "备注") private String remark; /** * 图片数组 */ @TableField(value = "pic_urls",typeHandler = JsonStringArrayTypeHandler.class) @ApiModelProperty(value = "图片数组") private Object[] picUrls; } src/main/java/org/springblade/modules/eventgm/mapper/EventgmMapper.xml
@@ -20,6 +20,7 @@ <result column="is_deleted" property="isDeleted"/> <result column="tenant_id" property="tenantId"/> <result column="create_dept" property="createDept"/> <result column="pic_urls" property="picUrls" typeHandler="org.springblade.common.handler.JsonStringArrayTypeHandler"/> </resultMap> src/main/java/org/springblade/modules/repairsorder/entity/RepairsorderEntity.java
@@ -17,6 +17,7 @@ package org.springblade.modules.repairsorder.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -24,6 +25,7 @@ import io.swagger.annotations.ApiModelProperty; import java.util.Date; import lombok.EqualsAndHashCode; import org.springblade.common.handler.JsonStringArrayTypeHandler; import org.springblade.core.tenant.mp.TenantEntity; /** @@ -33,7 +35,7 @@ * @since 2022-09-14 */ @Data @TableName("ins_repairsorder") @TableName(value = "ins_repairsorder",autoResultMap = true) @ApiModel(value = "Repairsorder对象", description = "维修工单") @EqualsAndHashCode(callSuper = true) public class RepairsorderEntity extends TenantEntity { @@ -74,4 +76,7 @@ @ApiModelProperty(value = "维修人员") private Long toUserId; @TableField(value = "pic_urls",typeHandler = JsonStringArrayTypeHandler.class) @ApiModelProperty(value = "图片数组") private Object[] picUrls; } src/main/java/org/springblade/modules/repairsorder/mapper/RepairsorderMapper.xml
@@ -20,6 +20,7 @@ <result column="is_deleted" property="isDeleted"/> <result column="tenant_id" property="tenantId"/> <result column="create_dept" property="createDept"/> <result column="pic_urls" property="picUrls" typeHandler="org.springblade.common.handler.JsonStringArrayTypeHandler"/> </resultMap> src/main/java/org/springblade/modules/taskinfo/mapper/TaskInfoMapper.xml
@@ -40,7 +40,7 @@ </if> </select> <!--自定义新增农场围栏数据--> <!--自定义新增数据--> <insert id="saveTask"> INSERT INTO ins_taskinfo (id, title, start_time, end_time, content,to_user_id, <if test="taskInfo.routeRange!=null and taskInfo.routeRange!=''">