Commit 9d5f1806 by zhangxingmin

地址列表

parent 1d7823a6
...@@ -49,6 +49,16 @@ public class ApiBeneficiaryController implements ApiBeneficiaryFeignClient { ...@@ -49,6 +49,16 @@ public class ApiBeneficiaryController implements ApiBeneficiaryFeignClient {
} }
/** /**
* 受益人信息详情
* @param beneficiaryBizId 受益人信息表唯一业务ID
* @return
*/
@Override
public Result<ApiBeneficiaryInfoDto> detail(String beneficiaryBizId) {
return apiBeneficiaryService.detail(beneficiaryBizId);
}
/**
* 新增单个受益人信息 * 新增单个受益人信息
* @param apiBeneficiaryInfoDto * @param apiBeneficiaryInfoDto
* @return * @return
......
...@@ -9,6 +9,8 @@ public interface ApiBeneficiaryService { ...@@ -9,6 +9,8 @@ public interface ApiBeneficiaryService {
Result<List<ApiBeneficiaryInfoDto>> list(String appointmentBizId); Result<List<ApiBeneficiaryInfoDto>> list(String appointmentBizId);
Result<ApiBeneficiaryInfoDto> detail(String beneficiaryBizId);
Result add(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto); Result add(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto);
Result edit(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto); Result edit(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto);
......
...@@ -8,6 +8,7 @@ import com.yd.common.utils.RandomStringGenerator; ...@@ -8,6 +8,7 @@ import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiAppointmentCheckService; import com.yd.csf.api.service.ApiAppointmentCheckService;
import com.yd.csf.api.service.ApiBeneficiaryService; import com.yd.csf.api.service.ApiBeneficiaryService;
import com.yd.csf.feign.dto.appointment.ApiBeneficiaryInfoDto; import com.yd.csf.feign.dto.appointment.ApiBeneficiaryInfoDto;
import com.yd.csf.feign.utils.CommonUtil;
import com.yd.csf.service.dto.BeneficiaryDto; import com.yd.csf.service.dto.BeneficiaryDto;
import com.yd.csf.service.model.Beneficiary; import com.yd.csf.service.model.Beneficiary;
import com.yd.csf.service.model.Insurant; import com.yd.csf.service.model.Insurant;
...@@ -59,6 +60,23 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService { ...@@ -59,6 +60,23 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService {
} }
/** /**
* 受益人信息详情
* @param beneficiaryBizId 受益人信息表唯一业务ID
* @return
*/
@Override
public Result<ApiBeneficiaryInfoDto> detail(String beneficiaryBizId) {
//校验受益人信息是否存在
Result<Beneficiary> result = checkBeneficiaryIsExist(beneficiaryBizId);
Beneficiary beneficiary = result.getData();
ApiBeneficiaryInfoDto dto = new ApiBeneficiaryInfoDto();
BeanUtils.copyProperties(beneficiary,dto);
//地址列表
dto.setAddressList(CommonUtil.getAddressList(beneficiary.getAddressList()));
return Result.success(dto);
}
/**
* 新增单个受益人信息 * 新增单个受益人信息
* @param apiBeneficiaryInfoDto * @param apiBeneficiaryInfoDto
* @return * @return
...@@ -126,6 +144,8 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService { ...@@ -126,6 +144,8 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService {
beneficiary.setBeneficiaryBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_BENEFICIARY.getCode())); beneficiary.setBeneficiaryBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_BENEFICIARY.getCode()));
//预约信息主表唯一业务ID //预约信息主表唯一业务ID
beneficiary.setAppointmentBizId(appointmentBizId); beneficiary.setAppointmentBizId(appointmentBizId);
//地址列表(json串)
beneficiary.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
return beneficiary; return beneficiary;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
...@@ -192,6 +212,8 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService { ...@@ -192,6 +212,8 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService {
//生成受益人信息表唯一业务ID //生成受益人信息表唯一业务ID
beneficiary.setBeneficiaryBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_BENEFICIARY.getCode())); beneficiary.setBeneficiaryBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_BENEFICIARY.getCode()));
} }
//地址列表(json串)
beneficiary.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
return beneficiary; return beneficiary;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
......
...@@ -8,6 +8,7 @@ import com.yd.common.utils.RandomStringGenerator; ...@@ -8,6 +8,7 @@ import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiAppointmentCheckService; import com.yd.csf.api.service.ApiAppointmentCheckService;
import com.yd.csf.api.service.ApiInsurantService; import com.yd.csf.api.service.ApiInsurantService;
import com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto; import com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto;
import com.yd.csf.feign.utils.CommonUtil;
import com.yd.csf.service.model.Insurant; import com.yd.csf.service.model.Insurant;
import com.yd.csf.service.model.Policyholder; import com.yd.csf.service.model.Policyholder;
import com.yd.csf.service.service.IInsurantService; import com.yd.csf.service.service.IInsurantService;
...@@ -43,6 +44,8 @@ public class ApiInsurantServiceImpl implements ApiInsurantService { ...@@ -43,6 +44,8 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
if (!Objects.isNull(insurant)) { if (!Objects.isNull(insurant)) {
dto = new ApiInsurantInfoDto(); dto = new ApiInsurantInfoDto();
BeanUtils.copyProperties(insurant,dto); BeanUtils.copyProperties(insurant,dto);
//地址列表
dto.setAddressList(CommonUtil.getAddressList(insurant.getAddressList()));
} }
return Result.success(dto); return Result.success(dto);
} }
...@@ -81,6 +84,8 @@ public class ApiInsurantServiceImpl implements ApiInsurantService { ...@@ -81,6 +84,8 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
insurant.setInsurantBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_INSURANT.getCode())); insurant.setInsurantBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_INSURANT.getCode()));
//预约信息主表唯一业务ID //预约信息主表唯一业务ID
insurant.setAppointmentBizId(appointmentBizId); insurant.setAppointmentBizId(appointmentBizId);
//地址列表(json串)
insurant.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iInsurantService.saveOrUpdate(insurant); iInsurantService.saveOrUpdate(insurant);
return Result.success(insurant); return Result.success(insurant);
} }
...@@ -104,6 +109,8 @@ public class ApiInsurantServiceImpl implements ApiInsurantService { ...@@ -104,6 +109,8 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
BeanUtils.copyProperties(dto,insurant); BeanUtils.copyProperties(dto,insurant);
//预约信息主表唯一业务ID //预约信息主表唯一业务ID
insurant.setAppointmentBizId(appointmentBizId); insurant.setAppointmentBizId(appointmentBizId);
//地址列表(json串)
insurant.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iInsurantService.saveOrUpdate(insurant); iInsurantService.saveOrUpdate(insurant);
return Result.success(insurant); return Result.success(insurant);
} }
......
...@@ -8,6 +8,7 @@ import com.yd.common.utils.RandomStringGenerator; ...@@ -8,6 +8,7 @@ import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiAppointmentCheckService; import com.yd.csf.api.service.ApiAppointmentCheckService;
import com.yd.csf.api.service.ApiPolicyholderService; import com.yd.csf.api.service.ApiPolicyholderService;
import com.yd.csf.feign.dto.appointment.ApiPolicyholderInfoDto; import com.yd.csf.feign.dto.appointment.ApiPolicyholderInfoDto;
import com.yd.csf.feign.utils.CommonUtil;
import com.yd.csf.service.model.Policyholder; import com.yd.csf.service.model.Policyholder;
import com.yd.csf.service.service.IPolicyholderService; import com.yd.csf.service.service.IPolicyholderService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -43,6 +44,8 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService { ...@@ -43,6 +44,8 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService {
if (!Objects.isNull(policyholder)) { if (!Objects.isNull(policyholder)) {
dto = new ApiPolicyholderInfoDto(); dto = new ApiPolicyholderInfoDto();
BeanUtils.copyProperties(policyholder,dto); BeanUtils.copyProperties(policyholder,dto);
//地址列表
dto.setAddressList(CommonUtil.getAddressList(policyholder.getAddressList()));
} }
return Result.success(dto); return Result.success(dto);
} }
...@@ -80,6 +83,8 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService { ...@@ -80,6 +83,8 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService {
policyholder.setPolicyholderBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_POLICYHOLDER.getCode())); policyholder.setPolicyholderBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_POLICYHOLDER.getCode()));
//预约信息主表唯一业务ID //预约信息主表唯一业务ID
policyholder.setAppointmentBizId(appointmentBizId); policyholder.setAppointmentBizId(appointmentBizId);
//地址信息(json串)
policyholder.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iPolicyholderService.saveOrUpdate(policyholder); iPolicyholderService.saveOrUpdate(policyholder);
return Result.success(policyholder); return Result.success(policyholder);
} }
...@@ -102,6 +107,8 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService { ...@@ -102,6 +107,8 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService {
BeanUtils.copyProperties(dto,policyholder); BeanUtils.copyProperties(dto,policyholder);
policyholder.setAppointmentBizId(appointmentBizId); policyholder.setAppointmentBizId(appointmentBizId);
//地址信息(json串)
policyholder.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iPolicyholderService.saveOrUpdate(policyholder); iPolicyholderService.saveOrUpdate(policyholder);
return Result.success(policyholder); return Result.success(policyholder);
} }
......
...@@ -2,6 +2,7 @@ package com.yd.csf.feign.client.beneficiary; ...@@ -2,6 +2,7 @@ package com.yd.csf.feign.client.beneficiary;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.csf.feign.dto.appointment.ApiBeneficiaryInfoDto; import com.yd.csf.feign.dto.appointment.ApiBeneficiaryInfoDto;
import com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto;
import com.yd.csf.feign.fallback.beneficiary.ApiBeneficiaryFeignFallbackFactory; import com.yd.csf.feign.fallback.beneficiary.ApiBeneficiaryFeignFallbackFactory;
import com.yd.csf.feign.request.beneficiary.ApiBeneficiaryPageRequest; import com.yd.csf.feign.request.beneficiary.ApiBeneficiaryPageRequest;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
...@@ -33,6 +34,14 @@ public interface ApiBeneficiaryFeignClient { ...@@ -33,6 +34,14 @@ public interface ApiBeneficiaryFeignClient {
Result<List<ApiBeneficiaryInfoDto>> list(@NotBlank(message = "预约信息主表唯一业务ID不能为空") @RequestParam(value = "appointmentBizId") String appointmentBizId); Result<List<ApiBeneficiaryInfoDto>> list(@NotBlank(message = "预约信息主表唯一业务ID不能为空") @RequestParam(value = "appointmentBizId") String appointmentBizId);
/** /**
* 受益人信息详情
* @param beneficiaryBizId 受益人信息表唯一业务ID
* @return
*/
@GetMapping("/detail")
Result<ApiBeneficiaryInfoDto> detail(@NotBlank(message = "受益人信息表唯一业务ID不能为空") @RequestParam(value = "beneficiaryBizId") String beneficiaryBizId);
/**
* 新增单个受益人信息 * 新增单个受益人信息
* @param apiBeneficiaryInfoDto * @param apiBeneficiaryInfoDto
* @return * @return
......
package com.yd.csf.feign.dto;
import lombok.Data;
/**
* 地址DTO
*/
@Data
public class AddressDto{
/**
* 地址类型 residenceAddress-居住地址、residentialAddress-住宅地址、mailingAddress-邮寄地址、companyAddress-公司地址
*/
private String type;
/**
* 区域
*/
private String region;
/**
* 城市(省份+城市)
*/
private String city;
/**
* 街道
*/
private String street;
/**
* 详细地址
*/
private String location;
}
package com.yd.csf.feign.dto.appointment; package com.yd.csf.feign.dto.appointment;
import com.yd.csf.feign.dto.AddressDto;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* 受益人信息 * 受益人信息
...@@ -153,4 +155,9 @@ public class ApiBeneficiaryInfoDto { ...@@ -153,4 +155,9 @@ public class ApiBeneficiaryInfoDto {
* 授权代表电话 * 授权代表电话
*/ */
private String authMobile; private String authMobile;
/**
* 地址列表
*/
private List<AddressDto> addressList;
} }
package com.yd.csf.feign.dto.appointment; package com.yd.csf.feign.dto.appointment;
import com.yd.csf.feign.dto.AddressDto;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* 受保人信息入参 * 受保人信息入参
...@@ -348,4 +350,9 @@ public class ApiInsurantInfoDto { ...@@ -348,4 +350,9 @@ public class ApiInsurantInfoDto {
* 是否接受推广信息: 0-否, 1-是(字典) * 是否接受推广信息: 0-否, 1-是(字典)
*/ */
private Integer isPromotion; private Integer isPromotion;
/**
* 地址列表
*/
private List<AddressDto> addressList;
} }
package com.yd.csf.feign.dto.appointment; package com.yd.csf.feign.dto.appointment;
import com.yd.csf.feign.dto.AddressDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* 投保人信息 * 投保人信息
...@@ -361,4 +364,9 @@ public class ApiPolicyholderInfoDto { ...@@ -361,4 +364,9 @@ public class ApiPolicyholderInfoDto {
* 是否接受推广信息: 0-否, 1-是(字典) * 是否接受推广信息: 0-否, 1-是(字典)
*/ */
private Integer isPromotion; private Integer isPromotion;
/**
* 地址列表
*/
private List<AddressDto> addressList;
} }
package com.yd.csf.feign.enums;
/**
* 地址类型枚举值
*/
public enum AddressEnum {
RESIDENCE_ADDRESS("居住地址","residenceAddress"),
RESIDENTIAL_ADDRESS("住宅地址","residentialAddress"),
MAILING_ADDRESS("邮寄地址","mailingAddress"),
COMPANY_ADDRESS("公司地址","companyAddress"),
;
//字典项标签(名称)
private String itemLabel;
//字典项值
private String itemValue;
//构造函数
AddressEnum(String itemLabel, String itemValue) {
this.itemLabel = itemLabel;
this.itemValue = itemValue;
}
public String getItemLabel() {
return itemLabel;
}
public String getItemValue() {
return itemValue;
}
}
...@@ -32,6 +32,11 @@ public class ApiBeneficiaryFeignFallbackFactory implements FallbackFactory<ApiBe ...@@ -32,6 +32,11 @@ public class ApiBeneficiaryFeignFallbackFactory implements FallbackFactory<ApiBe
} }
@Override @Override
public Result<ApiBeneficiaryInfoDto> detail(String beneficiaryBizId) {
return null;
}
@Override
public Result add(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto) { public Result add(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto) {
return null; return null;
} }
......
package com.yd.csf.feign.utils;
import com.alibaba.fastjson.JSON;
import com.yd.csf.feign.dto.AddressDto;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
/**
* 公共工具类
*/
public class CommonUtil {
/**
* 地址列表转成json串
* @param addressList
* @return
*/
public static String getAddressListJsonStr(List<AddressDto> addressList) {
return !CollectionUtils.isEmpty(addressList) ? JSON.toJSONString(addressList) : "";
}
/**
* 地址json串转成地址列表
* @param addressListJson 地址JSON字符串
* @return 地址列表
*/
public static List<AddressDto> getAddressList(String addressListJson) {
if (StringUtils.isEmpty(addressListJson)) {
return new ArrayList<>();
}
try {
return JSON.parseArray(addressListJson, AddressDto.class);
} catch (Exception e) {
// 日志记录异常
System.err.println("地址JSON解析异常: " + e.getMessage());
return new ArrayList<>();
}
}
}
...@@ -192,6 +192,12 @@ public class Beneficiary implements Serializable { ...@@ -192,6 +192,12 @@ public class Beneficiary implements Serializable {
private String authMobile; private String authMobile;
/** /**
* 地址列表(json串)
*/
@TableField("address_list")
private String addressList;
/**
* 通用备注 * 通用备注
*/ */
@TableField("remark") @TableField("remark")
......
...@@ -354,6 +354,12 @@ public class Insurant implements Serializable { ...@@ -354,6 +354,12 @@ public class Insurant implements Serializable {
private String delicacy; private String delicacy;
/** /**
* 地址列表(json串)
*/
@TableField("address_list")
private String addressList;
/**
* 通用备注 * 通用备注
*/ */
@TableField("remark") @TableField("remark")
......
...@@ -372,6 +372,12 @@ public class Policyholder implements Serializable { ...@@ -372,6 +372,12 @@ public class Policyholder implements Serializable {
private String delicacy; private String delicacy;
/** /**
* 地址信息(json串)
*/
@TableField("address_list")
private String addressList;
/**
* 通用备注 * 通用备注
*/ */
@TableField("remark") @TableField("remark")
......
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