Commit b5935546 by jianan

新单跟进23

parent 7d9f686c
package com.yd.csf.service.dto; 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.model.*;
import com.yd.csf.service.utils.GSONUtil;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 新单跟进聚合查询结果DTO * 新单跟进聚合查询结果DTO
...@@ -94,10 +94,12 @@ public class PolicyFollowAggregateDto implements Serializable { ...@@ -94,10 +94,12 @@ public class PolicyFollowAggregateDto implements Serializable {
} }
// 设置保单投保人 // 设置保单投保人
if (ObjectUtils.isNotEmpty(policyPolicyholder)) { if (ObjectUtils.isNotEmpty(policyPolicyholder)) {
policyPolicyholder.setAddressList(GSONUtil.fromJson((String) policyPolicyholder.getAddressList(), new TypeToken<List<Map<String, Object>>>() {}.getType()));
dto.setApiPolicyholderInfoDto(policyPolicyholder); dto.setApiPolicyholderInfoDto(policyPolicyholder);
} }
// 设置保单受保人 // 设置保单受保人
if (ObjectUtils.isNotEmpty(policyInsurant)) { if (ObjectUtils.isNotEmpty(policyInsurant)) {
policyInsurant.setAddressList(GSONUtil.fromJson((String) policyInsurant.getAddressList(), new TypeToken<List<Map<String, Object>>>() {}.getType()));
dto.setApiInsurantInfoDto(policyInsurant); dto.setApiInsurantInfoDto(policyInsurant);
} }
// 设置保单受益人 // 设置保单受益人
......
...@@ -6,6 +6,8 @@ import lombok.Data; ...@@ -6,6 +6,8 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Map;
@Data @Data
public class PolicyInsurantUpdateRequest implements Serializable { public class PolicyInsurantUpdateRequest implements Serializable {
...@@ -338,7 +340,7 @@ public class PolicyInsurantUpdateRequest implements Serializable { ...@@ -338,7 +340,7 @@ public class PolicyInsurantUpdateRequest implements Serializable {
* 地址列表(json串) * 地址列表(json串)
*/ */
@Schema(description = "地址列表(json串)") @Schema(description = "地址列表(json串)")
private String addressList; private List<Map<String, String>> addressList;
/** /**
* 备注 * 备注
......
package com.yd.csf.service.dto; package com.yd.csf.service.dto;
import com.yd.csf.service.vo.AddressVO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Map;
@Data @Data
public class PolicyPolicyholderUpdateRequest implements Serializable { public class PolicyPolicyholderUpdateRequest implements Serializable {
...@@ -358,7 +361,7 @@ public class PolicyPolicyholderUpdateRequest implements Serializable { ...@@ -358,7 +361,7 @@ public class PolicyPolicyholderUpdateRequest implements Serializable {
* 地址列表(json串) * 地址列表(json串)
*/ */
@Schema(description = "地址列表(json串)") @Schema(description = "地址列表(json串)")
private String addressList; private List<Map<String, Object>> addressList;
/** /**
* 吸烟量(支/天) * 吸烟量(支/天)
......
...@@ -300,7 +300,7 @@ public class PolicyInsurant implements Serializable { ...@@ -300,7 +300,7 @@ public class PolicyInsurant implements Serializable {
/** /**
* 地址列表(json串) * 地址列表(json串)
*/ */
private String addressList; private Object addressList;
/** /**
* 通用备注 * 通用备注
......
...@@ -315,7 +315,7 @@ public class PolicyPolicyholder implements Serializable { ...@@ -315,7 +315,7 @@ public class PolicyPolicyholder implements Serializable {
/** /**
* 地址列表(json串) * 地址列表(json串)
*/ */
private String addressList; private Object addressList;
/** /**
* 吸烟量(支/天) * 吸烟量(支/天)
......
...@@ -8,6 +8,8 @@ import com.yd.csf.service.dto.PolicyInsurantUpdateRequest; ...@@ -8,6 +8,8 @@ import com.yd.csf.service.dto.PolicyInsurantUpdateRequest;
import com.yd.csf.service.model.PolicyInsurant; import com.yd.csf.service.model.PolicyInsurant;
import com.yd.csf.service.service.PolicyInsurantService; import com.yd.csf.service.service.PolicyInsurantService;
import com.yd.csf.service.dao.PolicyInsurantMapper; 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.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -33,6 +35,10 @@ public class PolicyInsurantServiceImpl extends ServiceImpl<PolicyInsurantMapper, ...@@ -33,6 +35,10 @@ public class PolicyInsurantServiceImpl extends ServiceImpl<PolicyInsurantMapper,
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage()); throw new BusinessException(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage());
} }
BeanUtils.copyProperties(policyInsurantUpdateRequest, policyInsurant, "policyBizId", "policyInsurantBizId", "id"); BeanUtils.copyProperties(policyInsurantUpdateRequest, policyInsurant, "policyBizId", "policyInsurantBizId", "id");
// 处理地址Json
if (CollectionUtils.isNotEmpty(policyInsurantUpdateRequest.getAddressList())) {
policyInsurant.setAddressList(GSONUtil.toJson(policyInsurantUpdateRequest.getAddressList()));
}
policyInsurant.setUpdateTime(new Date()); policyInsurant.setUpdateTime(new Date());
return this.updateById(policyInsurant); return this.updateById(policyInsurant);
} }
......
...@@ -8,6 +8,8 @@ import com.yd.csf.service.dto.PolicyPolicyholderUpdateRequest; ...@@ -8,6 +8,8 @@ import com.yd.csf.service.dto.PolicyPolicyholderUpdateRequest;
import com.yd.csf.service.model.PolicyPolicyholder; import com.yd.csf.service.model.PolicyPolicyholder;
import com.yd.csf.service.service.PolicyPolicyholderService; import com.yd.csf.service.service.PolicyPolicyholderService;
import com.yd.csf.service.dao.PolicyPolicyholderMapper; 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.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -32,6 +34,10 @@ public class PolicyPolicyholderServiceImpl extends ServiceImpl<PolicyPolicyholde ...@@ -32,6 +34,10 @@ public class PolicyPolicyholderServiceImpl extends ServiceImpl<PolicyPolicyholde
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage()); throw new BusinessException(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage());
} }
BeanUtils.copyProperties(policyPolicyholderUpdateRequest, policyPolicyholder, "policyBizId", "policyPolicyholderBizId", "id"); BeanUtils.copyProperties(policyPolicyholderUpdateRequest, policyPolicyholder, "policyBizId", "policyPolicyholderBizId", "id");
// 处理地址Json
if (CollectionUtils.isNotEmpty(policyPolicyholderUpdateRequest.getAddressList())) {
policyPolicyholder.setAddressList(GSONUtil.toJson(policyPolicyholderUpdateRequest.getAddressList()));
}
policyPolicyholder.setUpdateTime(new Date()); policyPolicyholder.setUpdateTime(new Date());
return this.updateById(policyPolicyholder); 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