Commit 55c6ab6f by zhangxingmin

预约-v1版本

parent 99bd1637
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-csf-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-csf-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-csf-feign/src/main/java" charset="UTF-8" />
......
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.dto.taxation.ApiObjectTaxationDto;
import com.yd.csf.service.model.Taxation;
import java.util.List;
public interface ApiTaxationService {
Result saveTaxationList(ApiObjectTaxationDto dto);
Result<List<Taxation>> list(ApiObjectTaxationDto dto);
}
......@@ -7,11 +7,15 @@ import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiAppointmentCheckService;
import com.yd.csf.api.service.ApiInsurantService;
import com.yd.csf.api.service.ApiTaxationService;
import com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto;
import com.yd.csf.feign.dto.taxation.ApiObjectTaxationDto;
import com.yd.csf.feign.dto.taxation.ApiTaxationDto;
import com.yd.csf.feign.utils.CommonUtil;
import com.yd.csf.feign.enums.RelTypeEnum;
import com.yd.csf.service.model.Insurant;
import com.yd.csf.service.model.Policyholder;
import com.yd.csf.service.model.Taxation;
import com.yd.csf.service.service.IInsurantService;
import com.yd.csf.service.service.IPolicyholderService;
import lombok.extern.slf4j.Slf4j;
......@@ -19,7 +23,11 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 受保人信息业务实现类
......@@ -37,6 +45,9 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
@Autowired
private ApiAppointmentCheckService apiAppointmentCheckService;
@Autowired
private ApiTaxationService apiTaxationService;
/**
* 受保人信息详情
* @param appointmentBizId 预约信息主表唯一业务ID
......@@ -94,9 +105,28 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
insurant.setAppointmentBizId(appointmentBizId);
insurant.setInsurantBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_INSURANT.getCode()));
iInsurantService.saveOrUpdate(insurant);
//查询投保人税务列表信息
Result<List<Taxation>> listResult = apiTaxationService.list(ApiObjectTaxationDto.builder().objectBizId(policyholder.getPolicyholderBizId()).build());
if (!CollectionUtils.isEmpty(listResult.getData())) {
List<ApiTaxationDto> apiTaxationDtoList = listResult.getData().stream().map(d -> {
ApiTaxationDto apiTaxationDto = new ApiTaxationDto();
apiTaxationDto.setTaxCountry(d.getTaxCountry());
apiTaxationDto.setTaxId(d.getTaxId());
return apiTaxationDto;
}).collect(Collectors.toList());
apiTaxationService.saveTaxationList(ApiObjectTaxationDto.builder()
.objectBizId(insurant.getInsurantBizId())
.objectName(CommonEnum.UID_TYPE_INSURANT.getName())
.objectTableName(CommonEnum.UID_TYPE_INSURANT.getCode())
.objectType(CommonEnum.UID_TYPE_INSURANT.getCode())
.apiTaxationDtoList(apiTaxationDtoList)
.build());
}
return Result.success(insurant);
}
}
//受保人信息信息
BeanUtils.copyProperties(dto,insurant);
//生成受保人信息表唯一业务ID
......@@ -106,6 +136,17 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
//地址列表(json串)
insurant.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iInsurantService.saveOrUpdate(insurant);
//添加受保人税务列表信息
if (!CollectionUtils.isEmpty(dto.getApiTaxationDtoList())) {
apiTaxationService.saveTaxationList(ApiObjectTaxationDto.builder()
.objectBizId(insurant.getInsurantBizId())
.objectName(CommonEnum.UID_TYPE_INSURANT.getName())
.objectTableName(CommonEnum.UID_TYPE_INSURANT.getCode())
.objectType(CommonEnum.UID_TYPE_INSURANT.getCode())
.apiTaxationDtoList(dto.getApiTaxationDtoList())
.build());
}
return Result.success(insurant);
}
......@@ -137,6 +178,24 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
insurant.setId(result.getData().getId());
insurant.setAppointmentBizId(appointmentBizId);
iInsurantService.saveOrUpdate(insurant);
//查询投保人税务列表信息
Result<List<Taxation>> listResult = apiTaxationService.list(ApiObjectTaxationDto.builder().objectBizId(policyholder.getPolicyholderBizId()).build());
if (!CollectionUtils.isEmpty(listResult.getData())) {
List<ApiTaxationDto> apiTaxationDtoList = listResult.getData().stream().map(d -> {
ApiTaxationDto apiTaxationDto = new ApiTaxationDto();
apiTaxationDto.setTaxCountry(d.getTaxCountry());
apiTaxationDto.setTaxId(d.getTaxId());
return apiTaxationDto;
}).collect(Collectors.toList());
apiTaxationService.saveTaxationList(ApiObjectTaxationDto.builder()
.objectBizId(insurant.getInsurantBizId())
.objectName(CommonEnum.UID_TYPE_INSURANT.getName())
.objectTableName(CommonEnum.UID_TYPE_INSURANT.getCode())
.objectType(CommonEnum.UID_TYPE_INSURANT.getCode())
.apiTaxationDtoList(apiTaxationDtoList)
.build());
}
return Result.success(insurant);
}
}
......@@ -147,6 +206,17 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
//地址列表(json串)
insurant.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iInsurantService.saveOrUpdate(insurant);
//添加受保人税务列表信息
if (!CollectionUtils.isEmpty(dto.getApiTaxationDtoList())) {
apiTaxationService.saveTaxationList(ApiObjectTaxationDto.builder()
.objectBizId(insurant.getInsurantBizId())
.objectName(CommonEnum.UID_TYPE_INSURANT.getName())
.objectTableName(CommonEnum.UID_TYPE_INSURANT.getCode())
.objectType(CommonEnum.UID_TYPE_INSURANT.getCode())
.apiTaxationDtoList(dto.getApiTaxationDtoList())
.build());
}
return Result.success(insurant);
}
......
......@@ -7,7 +7,9 @@ import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiAppointmentCheckService;
import com.yd.csf.api.service.ApiPolicyholderService;
import com.yd.csf.api.service.ApiTaxationService;
import com.yd.csf.feign.dto.appointment.ApiPolicyholderInfoDto;
import com.yd.csf.feign.dto.taxation.ApiObjectTaxationDto;
import com.yd.csf.feign.utils.CommonUtil;
import com.yd.csf.service.model.Policyholder;
import com.yd.csf.service.service.IPolicyholderService;
......@@ -16,6 +18,8 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Objects;
/**
......@@ -31,6 +35,9 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService {
@Autowired
private ApiAppointmentCheckService apiAppointmentCheckService;
@Autowired
private ApiTaxationService apiTaxationService;
/**
* 投保人信息详情
* @param appointmentBizId 预约信息主表唯一业务ID
......@@ -87,6 +94,17 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService {
//地址信息(json串)
policyholder.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iPolicyholderService.saveOrUpdate(policyholder);
//添加投保人税务列表信息
if (!CollectionUtils.isEmpty(dto.getApiTaxationDtoList())) {
apiTaxationService.saveTaxationList(ApiObjectTaxationDto.builder()
.objectBizId(policyholder.getPolicyholderBizId())
.objectName(CommonEnum.UID_TYPE_POLICYHOLDER.getName())
.objectTableName(CommonEnum.UID_TYPE_POLICYHOLDER.getCode())
.objectType(CommonEnum.UID_TYPE_POLICYHOLDER.getCode())
.apiTaxationDtoList(dto.getApiTaxationDtoList())
.build());
}
return Result.success(policyholder);
}
......@@ -114,6 +132,17 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService {
//地址信息(json串)
policyholder.setAddressList(CommonUtil.getAddressListJsonStr(dto.getAddressList()));
iPolicyholderService.saveOrUpdate(policyholder);
//添加税务信息列表信息
if (!CollectionUtils.isEmpty(dto.getApiTaxationDtoList())) {
apiTaxationService.saveTaxationList(ApiObjectTaxationDto.builder()
.objectBizId(policyholder.getPolicyholderBizId())
.objectName(CommonEnum.UID_TYPE_POLICYHOLDER.getName())
.objectTableName(CommonEnum.UID_TYPE_POLICYHOLDER.getCode())
.objectType(CommonEnum.UID_TYPE_POLICYHOLDER.getCode())
.apiTaxationDtoList(dto.getApiTaxationDtoList())
.build());
}
return Result.success(policyholder);
}
......
package com.yd.csf.api.service.impl;
import com.yd.common.enums.CommonEnum;
import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiTaxationService;
import com.yd.csf.feign.dto.taxation.ApiObjectTaxationDto;
import com.yd.csf.service.dto.TaxationDto;
import com.yd.csf.service.model.Taxation;
import com.yd.csf.service.service.ITaxationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
public class ApiTaxationServiceImpl implements ApiTaxationService {
@Autowired
private ITaxationService iTaxationService;
/**
* 保存税务列表信息
* @param dto
* @return
*/
@Override
public Result saveTaxationList(ApiObjectTaxationDto dto) {
//先删后新增
iTaxationService.delByObjectBizId(dto.getObjectBizId());
//新增
if (!CollectionUtils.isEmpty(dto.getApiTaxationDtoList())) {
List<Taxation> saveList = dto.getApiTaxationDtoList().stream().map(d -> {
Taxation taxation = new Taxation();
BeanUtils.copyProperties(d,taxation);
taxation.setTaxId(d.getTaxId());
taxation.setTaxCountry(d.getTaxCountry());
taxation.setTaxationBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_TAXATION.getCode()));
return taxation;
}).collect(Collectors.toList());
iTaxationService.saveOrUpdateBatch(saveList);
}
return Result.success();
}
/**
* 查询列表
* @param dto
* @return
*/
@Override
public Result<List<Taxation>> list(ApiObjectTaxationDto dto) {
List<Taxation> list = iTaxationService.queryList(TaxationDto.builder().objectBizId(dto.getObjectBizId()).build());
return Result.success(list);
}
}
package com.yd.csf.feign.dto.taxation;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ApiObjectTaxationDto {
/**
* 对象类型
*/
private String objectType;
/**
* 对象所属表名(投保人表、受保人表等)
*/
private String objectTableName;
/**
* 对象名
*/
private String objectName;
/**
* 对象业务ID
*/
private String objectBizId;
/**
* 税务列表信息
*/
private List<ApiTaxationDto> apiTaxationDtoList;
}
package com.yd.csf.service.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TaxationDto {
/**
* 对象业务ID
*/
private String objectBizId;
}
package com.yd.csf.service.service;
import com.yd.csf.service.dto.TaxationDto;
import com.yd.csf.service.model.Taxation;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 税务信息表 服务类
......@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ITaxationService extends IService<Taxation> {
Boolean delByObjectBizId(String objectBizId);
List<Taxation> queryList(TaxationDto dto);
}
package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.csf.service.dto.TaxationDto;
import com.yd.csf.service.model.Taxation;
import com.yd.csf.service.dao.TaxationMapper;
import com.yd.csf.service.service.ITaxationService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 税务信息表 服务实现类
......@@ -17,4 +21,16 @@ import org.springframework.stereotype.Service;
@Service
public class TaxationServiceImpl extends ServiceImpl<TaxationMapper, Taxation> implements ITaxationService {
@Override
public Boolean delByObjectBizId(String objectBizId) {
return this.remove(new LambdaQueryWrapper<Taxation>().eq(Taxation::getObjectBizId,objectBizId));
}
@Override
public List<Taxation> queryList(TaxationDto dto) {
return this.baseMapper.selectList(new LambdaQueryWrapper<Taxation>()
.eq(Taxation::getObjectBizId,dto.getObjectBizId()));
}
}
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