Commit 9d5f1806 by zhangxingmin

地址列表

parent 1d7823a6
......@@ -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
* @return
......
......@@ -9,6 +9,8 @@ public interface ApiBeneficiaryService {
Result<List<ApiBeneficiaryInfoDto>> list(String appointmentBizId);
Result<ApiBeneficiaryInfoDto> detail(String beneficiaryBizId);
Result add(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto);
Result edit(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto);
......
......@@ -8,6 +8,7 @@ import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiAppointmentCheckService;
import com.yd.csf.api.service.ApiBeneficiaryService;
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.model.Beneficiary;
import com.yd.csf.service.model.Insurant;
......@@ -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
* @return
......@@ -126,6 +144,8 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService {
beneficiary.setBeneficiaryBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_BENEFICIARY.getCode()));
//预约信息主表唯一业务ID
beneficiary.setAppointmentBizId(appointmentBizId);
//地址列表(json串)
beneficiary.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
return beneficiary;
}).collect(Collectors.toList());
......@@ -192,6 +212,8 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService {
//生成受益人信息表唯一业务ID
beneficiary.setBeneficiaryBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_BENEFICIARY.getCode()));
}
//地址列表(json串)
beneficiary.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
return beneficiary;
}).collect(Collectors.toList());
......
......@@ -8,6 +8,7 @@ import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiAppointmentCheckService;
import com.yd.csf.api.service.ApiInsurantService;
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.Policyholder;
import com.yd.csf.service.service.IInsurantService;
......@@ -43,6 +44,8 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
if (!Objects.isNull(insurant)) {
dto = new ApiInsurantInfoDto();
BeanUtils.copyProperties(insurant,dto);
//地址列表
dto.setAddressList(CommonUtil.getAddressList(insurant.getAddressList()));
}
return Result.success(dto);
}
......@@ -81,6 +84,8 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
insurant.setInsurantBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_INSURANT.getCode()));
//预约信息主表唯一业务ID
insurant.setAppointmentBizId(appointmentBizId);
//地址列表(json串)
insurant.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iInsurantService.saveOrUpdate(insurant);
return Result.success(insurant);
}
......@@ -104,6 +109,8 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
BeanUtils.copyProperties(dto,insurant);
//预约信息主表唯一业务ID
insurant.setAppointmentBizId(appointmentBizId);
//地址列表(json串)
insurant.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iInsurantService.saveOrUpdate(insurant);
return Result.success(insurant);
}
......
......@@ -8,6 +8,7 @@ import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiAppointmentCheckService;
import com.yd.csf.api.service.ApiPolicyholderService;
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.service.IPolicyholderService;
import lombok.extern.slf4j.Slf4j;
......@@ -43,6 +44,8 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService {
if (!Objects.isNull(policyholder)) {
dto = new ApiPolicyholderInfoDto();
BeanUtils.copyProperties(policyholder,dto);
//地址列表
dto.setAddressList(CommonUtil.getAddressList(policyholder.getAddressList()));
}
return Result.success(dto);
}
......@@ -80,6 +83,8 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService {
policyholder.setPolicyholderBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_POLICYHOLDER.getCode()));
//预约信息主表唯一业务ID
policyholder.setAppointmentBizId(appointmentBizId);
//地址信息(json串)
policyholder.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iPolicyholderService.saveOrUpdate(policyholder);
return Result.success(policyholder);
}
......@@ -102,6 +107,8 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService {
BeanUtils.copyProperties(dto,policyholder);
policyholder.setAppointmentBizId(appointmentBizId);
//地址信息(json串)
policyholder.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iPolicyholderService.saveOrUpdate(policyholder);
return Result.success(policyholder);
}
......
......@@ -2,6 +2,7 @@ package com.yd.csf.feign.client.beneficiary;
import com.yd.common.result.Result;
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.request.beneficiary.ApiBeneficiaryPageRequest;
import org.springframework.cloud.openfeign.FeignClient;
......@@ -33,6 +34,14 @@ public interface ApiBeneficiaryFeignClient {
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
* @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;
import com.yd.csf.feign.dto.AddressDto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* 受益人信息
......@@ -153,4 +155,9 @@ public class ApiBeneficiaryInfoDto {
* 授权代表电话
*/
private String authMobile;
/**
* 地址列表
*/
private List<AddressDto> addressList;
}
package com.yd.csf.feign.dto.appointment;
import com.yd.csf.feign.dto.AddressDto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* 受保人信息入参
......@@ -348,4 +350,9 @@ public class ApiInsurantInfoDto {
* 是否接受推广信息: 0-否, 1-是(字典)
*/
private Integer isPromotion;
/**
* 地址列表
*/
private List<AddressDto> addressList;
}
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 javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* 投保人信息
......@@ -361,4 +364,9 @@ public class ApiPolicyholderInfoDto {
* 是否接受推广信息: 0-否, 1-是(字典)
*/
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
}
@Override
public Result<ApiBeneficiaryInfoDto> detail(String beneficiaryBizId) {
return null;
}
@Override
public Result add(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto) {
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 {
private String authMobile;
/**
* 地址列表(json串)
*/
@TableField("address_list")
private String addressList;
/**
* 通用备注
*/
@TableField("remark")
......
......@@ -354,6 +354,12 @@ public class Insurant implements Serializable {
private String delicacy;
/**
* 地址列表(json串)
*/
@TableField("address_list")
private String addressList;
/**
* 通用备注
*/
@TableField("remark")
......
......@@ -372,6 +372,12 @@ public class Policyholder implements Serializable {
private String delicacy;
/**
* 地址信息(json串)
*/
@TableField("address_list")
private String addressList;
/**
* 通用备注
*/
@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