Commit b5935546 by jianan

新单跟进23

parent 7d9f686c
package com.yd.csf.service.dto;
import com.yd.csf.feign.dto.appointment.*;
import com.google.gson.reflect.TypeToken;
import com.yd.csf.service.model.*;
import com.yd.csf.service.utils.GSONUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 新单跟进聚合查询结果DTO
......@@ -94,10 +94,12 @@ public class PolicyFollowAggregateDto implements Serializable {
}
// 设置保单投保人
if (ObjectUtils.isNotEmpty(policyPolicyholder)) {
policyPolicyholder.setAddressList(GSONUtil.fromJson((String) policyPolicyholder.getAddressList(), new TypeToken<List<Map<String, Object>>>() {}.getType()));
dto.setApiPolicyholderInfoDto(policyPolicyholder);
}
// 设置保单受保人
if (ObjectUtils.isNotEmpty(policyInsurant)) {
policyInsurant.setAddressList(GSONUtil.fromJson((String) policyInsurant.getAddressList(), new TypeToken<List<Map<String, Object>>>() {}.getType()));
dto.setApiInsurantInfoDto(policyInsurant);
}
// 设置保单受益人
......
......@@ -6,6 +6,8 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
public class PolicyInsurantUpdateRequest implements Serializable {
......@@ -338,7 +340,7 @@ public class PolicyInsurantUpdateRequest implements Serializable {
* 地址列表(json串)
*/
@Schema(description = "地址列表(json串)")
private String addressList;
private List<Map<String, String>> addressList;
/**
* 备注
......
package com.yd.csf.service.dto;
import com.yd.csf.service.vo.AddressVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
public class PolicyPolicyholderUpdateRequest implements Serializable {
......@@ -358,7 +361,7 @@ public class PolicyPolicyholderUpdateRequest implements Serializable {
* 地址列表(json串)
*/
@Schema(description = "地址列表(json串)")
private String addressList;
private List<Map<String, Object>> addressList;
/**
* 吸烟量(支/天)
......
......@@ -300,7 +300,7 @@ public class PolicyInsurant implements Serializable {
/**
* 地址列表(json串)
*/
private String addressList;
private Object addressList;
/**
* 通用备注
......
......@@ -315,7 +315,7 @@ public class PolicyPolicyholder implements Serializable {
/**
* 地址列表(json串)
*/
private String addressList;
private Object addressList;
/**
* 吸烟量(支/天)
......
......@@ -8,6 +8,8 @@ import com.yd.csf.service.dto.PolicyInsurantUpdateRequest;
import com.yd.csf.service.model.PolicyInsurant;
import com.yd.csf.service.service.PolicyInsurantService;
import com.yd.csf.service.dao.PolicyInsurantMapper;
import com.yd.csf.service.utils.GSONUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
......@@ -33,6 +35,10 @@ public class PolicyInsurantServiceImpl extends ServiceImpl<PolicyInsurantMapper,
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage());
}
BeanUtils.copyProperties(policyInsurantUpdateRequest, policyInsurant, "policyBizId", "policyInsurantBizId", "id");
// 处理地址Json
if (CollectionUtils.isNotEmpty(policyInsurantUpdateRequest.getAddressList())) {
policyInsurant.setAddressList(GSONUtil.toJson(policyInsurantUpdateRequest.getAddressList()));
}
policyInsurant.setUpdateTime(new Date());
return this.updateById(policyInsurant);
}
......
......@@ -8,6 +8,8 @@ import com.yd.csf.service.dto.PolicyPolicyholderUpdateRequest;
import com.yd.csf.service.model.PolicyPolicyholder;
import com.yd.csf.service.service.PolicyPolicyholderService;
import com.yd.csf.service.dao.PolicyPolicyholderMapper;
import com.yd.csf.service.utils.GSONUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
......@@ -32,6 +34,10 @@ public class PolicyPolicyholderServiceImpl extends ServiceImpl<PolicyPolicyholde
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage());
}
BeanUtils.copyProperties(policyPolicyholderUpdateRequest, policyPolicyholder, "policyBizId", "policyPolicyholderBizId", "id");
// 处理地址Json
if (CollectionUtils.isNotEmpty(policyPolicyholderUpdateRequest.getAddressList())) {
policyPolicyholder.setAddressList(GSONUtil.toJson(policyPolicyholderUpdateRequest.getAddressList()));
}
policyPolicyholder.setUpdateTime(new Date());
return this.updateById(policyPolicyholder);
}
......
package com.yd.csf.service.utils;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
/**
* GSON工具类
*/
public class GSONUtil {
// 默认配置的Gson实例
private static final Gson DEFAULT_GSON = new GsonBuilder()
.setDateFormat("yyyy-MM-dd HH:mm:ss")
.disableHtmlEscaping()
.create();
// 支持null值的Gson实例
private static final Gson NULL_SAFE_GSON = new GsonBuilder()
.setDateFormat("yyyy-MM-dd HH:mm:ss")
.serializeNulls()
.disableHtmlEscaping()
.create();
// 美化输出的Gson实例
private static final Gson PRETTY_GSON = new GsonBuilder()
.setDateFormat("yyyy-MM-dd HH:mm:ss")
.setPrettyPrinting()
.disableHtmlEscaping()
.create();
/**
* 对象转JSON字符串(默认配置)
*/
public static String toJson(Object obj) {
return DEFAULT_GSON.toJson(obj);
}
/**
* 对象转JSON字符串(包含null值)
*/
public static String toJsonWithNulls(Object obj) {
return NULL_SAFE_GSON.toJson(obj);
}
/**
* 对象转格式化的JSON字符串
*/
public static String toPrettyJson(Object obj) {
return PRETTY_GSON.toJson(obj);
}
/**
* JSON字符串转对象
*/
public static <T> T fromJson(String json, Class<T> clazz) {
return DEFAULT_GSON.fromJson(json, clazz);
}
/**
* JSON字符串转对象(支持泛型)
*/
public static <T> T fromJson(String json, Type type) {
return DEFAULT_GSON.fromJson(json, type);
}
/**
* JSON字符串转List
*/
public static <T> List<T> fromJsonToList(String json, Class<T> clazz) {
Type type = TypeToken.getParameterized(List.class, clazz).getType();
return DEFAULT_GSON.fromJson(json, type);
}
/**
* JSON字符串转Map
*/
public static <K, V> Map<K, V> fromJsonToMap(String json, Class<K> keyClass, Class<V> valueClass) {
Type type = TypeToken.getParameterized(Map.class, keyClass, valueClass).getType();
return DEFAULT_GSON.fromJson(json, type);
}
/**
* 获取自定义配置的Gson实例
*/
public static Gson getCustomGson(GsonBuilder builder) {
return builder.create();
}
/**
* 向后兼容 - 保留原有的静态实例
*/
public static Gson gson = DEFAULT_GSON;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment