drone-common/src/main/java/org/sxkj/common/handler/StringToIntegerTypeHandler.java
New file @@ -0,0 +1,44 @@ package org.sxkj.common.handler; import org.apache.ibatis.type.BaseTypeHandler; import org.apache.ibatis.type.JdbcType; import org.apache.ibatis.type.MappedJdbcTypes; import org.apache.ibatis.type.MappedTypes; import java.sql.CallableStatement; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * String 与 smallint/int 的类型转换处理器 * 用于 Java 字段为 String 但数据库列为 smallint/int 的场景 * 写入时将 String 转为 Integer,读取时将 Integer 转为 String */ @MappedTypes(String.class) @MappedJdbcTypes(JdbcType.SMALLINT) public class StringToIntegerTypeHandler extends BaseTypeHandler<String> { @Override public void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException { ps.setInt(i, Integer.parseInt(parameter)); } @Override public String getNullableResult(ResultSet rs, String columnName) throws SQLException { Object value = rs.getObject(columnName); return value == null ? null : value.toString(); } @Override public String getNullableResult(ResultSet rs, int columnIndex) throws SQLException { Object value = rs.getObject(columnIndex); return value == null ? null : value.toString(); } @Override public String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { Object value = cs.getObject(columnIndex); return value == null ? null : value.toString(); } } drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/entity/GdPatrolTaskEntity.java
@@ -16,12 +16,15 @@ */ package org.sxkj.gd.workorder.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.mp.base.BaseEntity; import org.sxkj.common.handler.StringToIntegerTypeHandler; import java.util.Date; @@ -92,6 +95,7 @@ * 状态:0待签收、1拒绝签收、2已撤回、3待审核、4审核驳回、5审核通过、6待验收、7拒绝验收、8验收通过 */ @ApiModelProperty(value = "状态:0待签收、1拒绝签收、2已撤回、3待审核、4审核驳回、5审核通过、6待验收、7拒绝验收、8验收通过") @TableField(typeHandler = StringToIntegerTypeHandler.class) private String taskStatus; /** * 区域编码 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -365,13 +365,12 @@ targetStatus = PatrolTaskStatusEnum.PENDING_AUDIT; break; default: // 其他状态,保持原有状态 targetStatus = PatrolTaskStatusEnum.getByValue(currentStatus); // 如果无法获取枚举,使用待签收作为默认状态 if (targetStatus == null) { targetStatus = PatrolTaskStatusEnum.PENDING_SIGNING; } break; // 其他状态,保持原有状态 targetStatus = PatrolTaskStatusEnum.getByValue(currentStatus); // 如果无法获取枚举,使用待签收作为默认状态 if (targetStatus == null) { targetStatus = PatrolTaskStatusEnum.PENDING_SIGNING; } } // 3. 设置任务状态:使用枚举设置任务状态