guoshilong
2022-09-26 f0dfe3619b3a4a5843cef3edb9948f96fa778572
上传字段picUrls进行字段处理
5 files modified
1 files added
80 ■■■■■ changed files
src/main/java/org/springblade/common/handler/JsonStringArrayTypeHandler.java 58 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eventgm/entity/EventgmEntity.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eventgm/mapper/EventgmMapper.xml 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/repairsorder/entity/RepairsorderEntity.java 7 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/repairsorder/mapper/RepairsorderMapper.xml 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/taskinfo/mapper/TaskInfoMapper.xml 2 ●●● patch | view | raw | blame | history
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!=''">