Browse Source

fix(service): 修改积分包新增字段drug_producer与实体字段的转换

lixuesong 4 years ago
parent
commit
d5ebf20679

+ 56 - 0
hnqz-common/hnqz-common-data/src/main/java/com/qunzhixinxi/hnqz/common/data/handler/ListToStringTypeHandler.java

@@ -0,0 +1,56 @@
+package com.qunzhixinxi.hnqz.common.data.handler;
+
+import org.apache.ibatis.type.JdbcType;
+import org.apache.ibatis.type.TypeHandler;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * mybatis list与varchar之间转换处理类
+ * @author lixuesong
+ * @date 2021年07月15日 17:10
+ */
+public class ListToStringTypeHandler implements TypeHandler<List<String>> {
+
+	@Override
+	public void setParameter(PreparedStatement preparedStatement, int i, List<String> strings, JdbcType jdbcType) throws SQLException {
+		StringBuffer sb = new StringBuffer();
+		for (String s : strings) {
+			sb.append(s).append(",");
+		}
+		preparedStatement.setString(i, sb.toString().substring(0, sb.toString().length() - 1));
+	}
+
+	@Override
+	public List<String> getResult(ResultSet resultSet, String s) throws SQLException {
+		if (resultSet.getString(s) == null) {
+			return new ArrayList<>();
+		}
+		String[] arr = resultSet.getString(s).split(",");
+		return Arrays.asList(arr);
+	}
+
+	@Override
+	public List<String> getResult(ResultSet resultSet, int i) throws SQLException {
+		if (resultSet.getString(i) == null) {
+			return new ArrayList<>();
+		}
+		String[] arr = resultSet.getString(i).split(",");
+		return Arrays.asList(arr);
+	}
+
+	@Override
+	public List<String> getResult(CallableStatement callableStatement, int i) throws SQLException {
+		if (callableStatement.getString(i) == null) {
+			return new ArrayList<>();
+		}
+		String[] arr = callableStatement.getString(i).split(",");
+		return Arrays.asList(arr);
+	}
+}

+ 2 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmScorePackage.java

@@ -22,16 +22,14 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.fasterxml.jackson.annotation.JsonFormat;
+import com.qunzhixinxi.hnqz.common.data.handler.ListToStringTypeHandler;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
-import java.util.Date;
 import java.util.List;
 import java.util.Set;
 
@@ -470,7 +468,7 @@ public class WmScorePackage extends Model<WmScorePackage> {
 	/**
 	 * 关联药品的生产厂商列表
 	 */
-	@TableField(value = "drug_producer")
+	@TableField(value = "drug_producer", typeHandler = ListToStringTypeHandler.class)
 	@ApiModelProperty(value="关联药品的生产厂商列表")
 	private List<String> drugProducerList;
 

+ 2 - 1
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmScorePackageMapper.xml

@@ -91,6 +91,7 @@
 		<result property="oldPackage" column="old_package"/>
 		<result property="scorePackageStatus" column="score_package_status"/>
 		<result property="subType" column="sub_type"/>
+		<result property="drugProducerList" column="drug_producer" typeHandler="com.qunzhixinxi.hnqz.common.data.handler.ListToStringTypeHandler"/>
 
 	</resultMap>
 
@@ -951,7 +952,7 @@
 		aa.score_package_name,p.score_package_name as relation_score_id,aa.package_user_scope,
 		aa.user_num,aa.task_num,aa.related_service,aa.package_finish_status,aa.user_score,
 		aa.enable_type,aa.settle_flag,aa.score_package_status,aa.belong_date,aa.description,
-		aa.sub_type
+		aa.sub_type, aa.drug_producer
 		from wm_score_package aa left join (
 		select score_package_id,
 		sum(if(report_drug_approval_opinion =1 or report_one_approval_opinion = 1, score, 0))   shtg,