Commit 7b943b2c by zhangxingmin

预约-v1版本

parent 477ad0a9
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="Encoding"> <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/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-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-csf-feign/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/yd-csf-feign/src/main/java" charset="UTF-8" />
......
...@@ -97,6 +97,12 @@ ...@@ -97,6 +97,12 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId> <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency> </dependency>
<!-- 如果使用pinyin4j进行拼音转换 -->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
package com.yd.csf.api.controller; package com.yd.csf.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiAppointmentService; import com.yd.csf.api.service.ApiAppointmentService;
import com.yd.csf.feign.client.appointment.ApiAppointmentFeignClient; import com.yd.csf.feign.client.appointment.ApiAppointmentFeignClient;
import com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto; import com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto;
import com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto;
import com.yd.csf.feign.request.appointment.*; import com.yd.csf.feign.request.appointment.*;
import com.yd.csf.feign.response.appointment.ApiAppointmentAddResponse; import com.yd.csf.feign.response.appointment.*;
import com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse; import com.yd.csf.feign.valid.GroupValid;
import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.validation.ConstraintViolation;
import javax.validation.Validator;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.Objects;
import java.util.Set;
/** /**
* 预约信息 * 预约信息
...@@ -30,6 +35,11 @@ public class ApiAppointmentController implements ApiAppointmentFeignClient { ...@@ -30,6 +35,11 @@ public class ApiAppointmentController implements ApiAppointmentFeignClient {
@Autowired @Autowired
private ApiAppointmentService apiAppointmentService; private ApiAppointmentService apiAppointmentService;
private final Validator validator;
public ApiAppointmentController(Validator validator) {
this.validator = validator;
}
/** /**
* 预约分页查询 * 预约分页查询
* @param request * @param request
...@@ -67,6 +77,10 @@ public class ApiAppointmentController implements ApiAppointmentFeignClient { ...@@ -67,6 +77,10 @@ public class ApiAppointmentController implements ApiAppointmentFeignClient {
*/ */
@Override @Override
public Result<ApiAppointmentAddResponse> add(ApiAppointmentAddRequest request) { public Result<ApiAppointmentAddResponse> add(ApiAppointmentAddRequest request) {
//手动校验受保人信息(因为它没有 @Valid 注解)
ApiInsurantInfoDto insurantInfo = request.getApiInsurantInfoDto();
validateInsurantInfo(insurantInfo);
return apiAppointmentService.add(request); return apiAppointmentService.add(request);
} }
...@@ -87,10 +101,24 @@ public class ApiAppointmentController implements ApiAppointmentFeignClient { ...@@ -87,10 +101,24 @@ public class ApiAppointmentController implements ApiAppointmentFeignClient {
*/ */
@Override @Override
public Result edit(ApiAppointmentEditRequest request) { public Result edit(ApiAppointmentEditRequest request) {
//手动校验受保人信息(因为它没有 @Valid 注解)
ApiInsurantInfoDto insurantInfo = request.getApiInsurantInfoDto();
validateInsurantInfo(insurantInfo);
return apiAppointmentService.edit(request); return apiAppointmentService.edit(request);
} }
/** /**
* 编辑预约暂存 (聚合信息编辑预约暂存)
* @param request
* @return
*/
@Override
public Result editStorage(ApiAppointmentEditStorageRequest request) {
return apiAppointmentService.editStorage(request);
}
/**
* 确定预约时间提交 (流程流转到新单跟进) * 确定预约时间提交 (流程流转到新单跟进)
* @param request * @param request
* @return * @return
...@@ -161,6 +189,16 @@ public class ApiAppointmentController implements ApiAppointmentFeignClient { ...@@ -161,6 +189,16 @@ public class ApiAppointmentController implements ApiAppointmentFeignClient {
} }
/** /**
* 编辑预约状态
* @param request
* @return
*/
@Override
public Result editStatus(ApiAppointmentEditStatusRequest request) {
return apiAppointmentService.editStatus(request);
}
/**
* 删除预约信息 * 删除预约信息
* @param appointmentBizId * @param appointmentBizId
* @return * @return
...@@ -170,5 +208,54 @@ public class ApiAppointmentController implements ApiAppointmentFeignClient { ...@@ -170,5 +208,54 @@ public class ApiAppointmentController implements ApiAppointmentFeignClient {
return apiAppointmentService.del(appointmentBizId); return apiAppointmentService.del(appointmentBizId);
} }
/**
* 历史记录 - 签约信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiAppointmentLogPageResponse>> logPage(ApiAppointmentLogPageRequest request) {
return apiAppointmentService.logPage(request);
}
/**
* 历史记录 - 签约信息 - 详情
* @param appointmentLogBizId
* @return
*/
@Override
public Result<ApiAppointmentLogDetailResponse> logDetail(String appointmentLogBizId) {
return apiAppointmentService.logDetail(appointmentLogBizId);
}
/**
* 手动校验受保人信息
* @param insurantInfo
*/
private void validateInsurantInfo(ApiInsurantInfoDto insurantInfo) {
if (Objects.isNull(insurantInfo)) {
throw new BusinessException("受保人信息不能为空");
}
// 根据与投保人关系选择校验组
Class<?>[] groups;
if (insurantInfo.isSelf()) {
// 本人关系:只校验 Always 组
groups = new Class<?>[]{GroupValid.Always.class};
} else {
// 非本人关系:校验 Always 和 NotSelf 组
groups = new Class<?>[]{GroupValid.Always.class, GroupValid.NotSelf.class};
}
// 执行手动校验
Set<ConstraintViolation<ApiInsurantInfoDto>> violations =
validator.validate(insurantInfo, groups);
// 如果校验失败,抛出业务异常
if (!violations.isEmpty()) {
String errorMessage = violations.iterator().next().getMessage();
throw new BusinessException(errorMessage);
}
}
} }
package com.yd.csf.api.controller;
import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiCsfCommonService;
import com.yd.csf.feign.client.common.ApiCsfCommonFeignClient;
import com.yd.csf.feign.request.common.ApiCsfCalculateRequest;
import com.yd.csf.feign.response.common.ApiCsfCalculateResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 公共接口信息
*
* @author zxm
* @since 2025-12-18
*/
@RestController
@RequestMapping("/common")
@Validated
public class ApiCsfCommonController implements ApiCsfCommonFeignClient {
@Autowired
private ApiCsfCommonService apiCsfCommonService;
/**
* 计算-字段值
* @param request
* @return
*/
@Override
public Result<List<ApiCsfCalculateResponse>> calculate(ApiCsfCalculateRequest request) {
return apiCsfCommonService.calculate(request);
}
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 预约信息日志表(快照表) 前端控制器
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@RestController
@RequestMapping("/appointmentLog")
public class AppointmentLogController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 预约-转介人信息表 前端控制器
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@RestController
@RequestMapping("/appointmentReferrer")
public class AppointmentReferrerController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 预约-转介人信息日志表(快照表) 前端控制器
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@RestController
@RequestMapping("/appointmentReferrerLog")
public class AppointmentReferrerLogController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 预约-签单员信息表 前端控制器
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@RestController
@RequestMapping("/appointmentUserSign")
public class AppointmentUserSignController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 预约-签单员信息日志表(快照表) 前端控制器
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@RestController
@RequestMapping("/appointmentUserSignLog")
public class AppointmentUserSignLogController {
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 税务信息表 前端控制器
* </p>
*
* @author zxm
* @since 2025-12-17
*/
@RestController
@RequestMapping("/taxation")
public class TaxationController {
}
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.service.model.Appointment;
public interface ApiAppointmentLogService {
Result<String> saveAppointmentLog(Appointment appointment);
}
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.dto.appointment.ApiAppointmentReferrerDto;
import java.util.List;
public interface ApiAppointmentReferrerLogService {
Result saveAppointmentReferrerLogList(List<ApiAppointmentReferrerDto> referrerDtoList,
String appointmentLogBizId);
}
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.dto.appointment.ApiAppointmentReferrerDto;
import java.util.List;
public interface ApiAppointmentReferrerService {
Result saveAppointmentReferrerList(List<ApiAppointmentReferrerDto> referrerDtoList,
String appointmentBizId);
}
...@@ -4,9 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,9 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto; import com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto;
import com.yd.csf.feign.request.appointment.*; import com.yd.csf.feign.request.appointment.*;
import com.yd.csf.feign.response.appointment.ApiAppointmentAddResponse; import com.yd.csf.feign.response.appointment.*;
import com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse;
import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse;
import com.yd.csf.service.model.Appointment; import com.yd.csf.service.model.Appointment;
public interface ApiAppointmentService { public interface ApiAppointmentService {
...@@ -22,6 +20,8 @@ public interface ApiAppointmentService { ...@@ -22,6 +20,8 @@ public interface ApiAppointmentService {
Result edit(ApiAppointmentEditRequest request); Result edit(ApiAppointmentEditRequest request);
Result editStorage(ApiAppointmentEditStorageRequest request);
Result editConfirmTime(ApiAppointmentEditConfirmTimeRequest request); Result editConfirmTime(ApiAppointmentEditConfirmTimeRequest request);
Result singleEdit(ApiAppointmentInfoDto apiAppointmentInfoDto); Result singleEdit(ApiAppointmentInfoDto apiAppointmentInfoDto);
...@@ -36,7 +36,13 @@ public interface ApiAppointmentService { ...@@ -36,7 +36,13 @@ public interface ApiAppointmentService {
Result editPolicyTransfer(ApiPolicyTransferRequest request); Result editPolicyTransfer(ApiPolicyTransferRequest request);
Result editStatus(ApiAppointmentEditStatusRequest request);
Result del(String appointmentBizId); Result del(String appointmentBizId);
Result<IPage<ApiAppointmentLogPageResponse>> logPage(ApiAppointmentLogPageRequest request);
Result<ApiAppointmentLogDetailResponse> logDetail(String appointmentLogBizId);
Result<Appointment> checkAppointmentIsExist(String appointmentBizId); Result<Appointment> checkAppointmentIsExist(String appointmentBizId);
} }
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.dto.appointment.ApiAppointmentUserSignDto;
import java.util.List;
public interface ApiAppointmentUserSignLogService {
Result saveAppointmentUserSignLogList(List<ApiAppointmentUserSignDto> userSignDtoList,
String appointmentLogBizId);
}
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.dto.appointment.ApiAppointmentUserSignDto;
import java.util.List;
public interface ApiAppointmentUserSignService {
Result saveAppointmentUserSignList(List<ApiAppointmentUserSignDto> userSignDtoList,
String appointmentBizId);
}
package com.yd.csf.api.service;
import com.yd.common.result.Result;
import com.yd.csf.feign.request.common.ApiCsfCalculateRequest;
import com.yd.csf.feign.response.common.ApiCsfCalculateResponse;
import java.util.List;
public interface ApiCsfCommonService {
Result<List<ApiCsfCalculateResponse>> calculate(ApiCsfCalculateRequest request);
}
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.ApiAppointmentLogService;
import com.yd.csf.service.model.Appointment;
import com.yd.csf.service.model.AppointmentLog;
import com.yd.csf.service.service.IAppointmentLogService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class ApiAppointmentLogServiceImpl implements ApiAppointmentLogService {
@Autowired
private IAppointmentLogService iAppointmentLogService;
/**
* 保存预约日志信息
* @param appointment
* @return
*/
@Override
public Result<String> saveAppointmentLog(Appointment appointment) {
AppointmentLog appointmentLog = new AppointmentLog();
BeanUtils.copyProperties(appointment,appointmentLog);
appointmentLog.setAppointmentBizId(appointment.getAppointmentBizId());
appointmentLog.setAppointmentLogBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_APPOINTMENT_LOG.getCode()));
iAppointmentLogService.saveOrUpdate(appointmentLog);
return Result.success(appointmentLog.getAppointmentLogBizId());
}
}
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.ApiAppointmentReferrerLogService;
import com.yd.csf.feign.dto.appointment.ApiAppointmentReferrerDto;
import com.yd.csf.service.model.AppointmentReferrerLog;
import com.yd.csf.service.service.IAppointmentReferrerLogService;
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 ApiAppointmentReferrerLogServiceImpl implements ApiAppointmentReferrerLogService {
@Autowired
private IAppointmentReferrerLogService iAppointmentReferrerLogService;
/**
* 保存预约-转介人信息日志信息
* @param referrerDtoList
* @param appointmentLogBizId
* @return
*/
@Override
public Result saveAppointmentReferrerLogList(List<ApiAppointmentReferrerDto> referrerDtoList,
String appointmentLogBizId) {
if (CollectionUtils.isEmpty(referrerDtoList)) {
return Result.success();
}
List<AppointmentReferrerLog> saveList = referrerDtoList.stream().map(dto -> {
AppointmentReferrerLog log = new AppointmentReferrerLog();
BeanUtils.copyProperties(dto,log);
log.setAppointmentLogBizId(appointmentLogBizId);
log.setAppointmentReferrerLogBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_APPOINTMENT_REFERRER_LOG.getCode()));
return log;
}).collect(Collectors.toList());
iAppointmentReferrerLogService.saveOrUpdateBatch(saveList);
return Result.success();
}
}
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.ApiAppointmentReferrerService;
import com.yd.csf.feign.dto.appointment.ApiAppointmentReferrerDto;
import com.yd.csf.service.model.AppointmentReferrer;
import com.yd.csf.service.service.IAppointmentReferrerService;
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 ApiAppointmentReferrerServiceImpl implements ApiAppointmentReferrerService {
@Autowired
private IAppointmentReferrerService iAppointmentReferrerService;
/**
* 保存预约-转介人信息列表
* @param referrerDtoList
* @param appointmentBizId
* @return
*/
@Override
public Result saveAppointmentReferrerList(List<ApiAppointmentReferrerDto> referrerDtoList,
String appointmentBizId) {
if (CollectionUtils.isEmpty(referrerDtoList)) {
return Result.success();
}
//先删后新增
iAppointmentReferrerService.delByAppointmentBizId(appointmentBizId);
//新增
List<AppointmentReferrer> saveList = referrerDtoList.stream().map(dto -> {
AppointmentReferrer referrer = new AppointmentReferrer();
BeanUtils.copyProperties(dto,referrer);
referrer.setAppointmentBizId(appointmentBizId);
referrer.setAppointmentReferrerBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_APPOINTMENT_REFERRER.getCode()));
return referrer;
}).collect(Collectors.toList());
iAppointmentReferrerService.saveOrUpdateBatch(saveList);
return Result.success();
}
}
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.ApiAppointmentUserSignLogService;
import com.yd.csf.feign.dto.appointment.ApiAppointmentUserSignDto;
import com.yd.csf.service.model.AppointmentUserSignLog;
import com.yd.csf.service.service.IAppointmentUserSignLogService;
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 ApiAppointmentUserSignLogServiceImpl implements ApiAppointmentUserSignLogService {
@Autowired
private IAppointmentUserSignLogService iAppointmentUserSignLogService;
/**
* 保存预约签单员列表日志
* @param userSignDtoList
* @param appointmentLogBizId
* @return
*/
@Override
public Result saveAppointmentUserSignLogList(List<ApiAppointmentUserSignDto> userSignDtoList,
String appointmentLogBizId) {
if (CollectionUtils.isEmpty(userSignDtoList)) {
return Result.success();
}
List<AppointmentUserSignLog> saveList = userSignDtoList.stream().map(dto -> {
AppointmentUserSignLog log = new AppointmentUserSignLog();
BeanUtils.copyProperties(dto,log);
log.setAppointmentLogBizId(appointmentLogBizId);
log.setAppointmentUserSignLogBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_APPOINTMENT_USER_SIGN_LOG.getCode()));
return log;
}).collect(Collectors.toList());
iAppointmentUserSignLogService.saveOrUpdateBatch(saveList);
return Result.success();
}
}
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.ApiAppointmentUserSignService;
import com.yd.csf.feign.dto.appointment.ApiAppointmentUserSignDto;
import com.yd.csf.service.model.AppointmentReferrer;
import com.yd.csf.service.model.AppointmentUserSign;
import com.yd.csf.service.service.IAppointmentUserSignService;
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 ApiAppointmentUserSignServiceImpl implements ApiAppointmentUserSignService {
@Autowired
private IAppointmentUserSignService iAppointmentUserSignService;
/**
* 保存签单员列表信息
* @param userSignDtoList
* @param appointmentBizId
* @return
*/
@Override
public Result saveAppointmentUserSignList(List<ApiAppointmentUserSignDto> userSignDtoList, String appointmentBizId) {
if (CollectionUtils.isEmpty(userSignDtoList)) {
return Result.success();
}
//先删后新增
iAppointmentUserSignService.delByAppointmentBizId(appointmentBizId);
//新增
List<AppointmentUserSign> saveList = userSignDtoList.stream().map(dto -> {
AppointmentUserSign userSign = new AppointmentUserSign();
BeanUtils.copyProperties(dto,userSign);
userSign.setAppointmentBizId(appointmentBizId);
userSign.setAppointmentUserSignBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_APPOINTMENT_USER_SIGN.getCode()));
return userSign;
}).collect(Collectors.toList());
iAppointmentUserSignService.saveOrUpdateBatch(saveList);
return Result.success();
}
}
...@@ -54,8 +54,6 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService { ...@@ -54,8 +54,6 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService {
dtoList = list.stream().map(dto -> { dtoList = list.stream().map(dto -> {
ApiBeneficiaryInfoDto infoDto = new ApiBeneficiaryInfoDto(); ApiBeneficiaryInfoDto infoDto = new ApiBeneficiaryInfoDto();
BeanUtils.copyProperties(dto,infoDto); BeanUtils.copyProperties(dto,infoDto);
//地址列表
infoDto.setAddressList(CommonUtil.getAddressList(dto.getAddressList()));
return infoDto; return infoDto;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
...@@ -74,8 +72,6 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService { ...@@ -74,8 +72,6 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService {
Beneficiary beneficiary = result.getData(); Beneficiary beneficiary = result.getData();
ApiBeneficiaryInfoDto dto = new ApiBeneficiaryInfoDto(); ApiBeneficiaryInfoDto dto = new ApiBeneficiaryInfoDto();
BeanUtils.copyProperties(beneficiary,dto); BeanUtils.copyProperties(beneficiary,dto);
//地址列表
dto.setAddressList(CommonUtil.getAddressList(beneficiary.getAddressList()));
return Result.success(dto); return Result.success(dto);
} }
...@@ -88,7 +84,7 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService { ...@@ -88,7 +84,7 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService {
public Result add(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto) { public Result add(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto) {
List<ApiBeneficiaryInfoDto> list = new ArrayList<>(); List<ApiBeneficiaryInfoDto> list = new ArrayList<>();
list.add(apiBeneficiaryInfoDto); list.add(apiBeneficiaryInfoDto);
apiAppointmentCheckService.checkAddApiBeneficiaryInfoDtoList(list); // apiAppointmentCheckService.checkAddApiBeneficiaryInfoDtoList(list);
//批量添加受益人信息表数据 //批量添加受益人信息表数据
batchAddBeneficiaryData(list,apiBeneficiaryInfoDto.getAppointmentBizId()); batchAddBeneficiaryData(list,apiBeneficiaryInfoDto.getAppointmentBizId());
...@@ -104,10 +100,13 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService { ...@@ -104,10 +100,13 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService {
public Result edit(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto) { public Result edit(ApiBeneficiaryInfoDto apiBeneficiaryInfoDto) {
//编辑预约入参字段校验 - 编辑单个受益人信息字段校验 //编辑预约入参字段校验 - 编辑单个受益人信息字段校验
apiAppointmentCheckService.checkEditApiBeneficiaryInfoDto(apiBeneficiaryInfoDto); apiAppointmentCheckService.checkEditApiBeneficiaryInfoDto(apiBeneficiaryInfoDto);
List<ApiBeneficiaryInfoDto> list = new ArrayList<>(); //校验受益人信息是否存在
list.add(apiBeneficiaryInfoDto); Result<Beneficiary> result = checkBeneficiaryIsExist(apiBeneficiaryInfoDto.getBeneficiaryBizId());
//批量编辑受益人信息表数据 Beneficiary beneficiary = result.getData();
batchEditBeneficiaryData(list,apiBeneficiaryInfoDto.getAppointmentBizId()); BeanUtils.copyProperties(apiBeneficiaryInfoDto,beneficiary);
beneficiary.setId(result.getData().getId());
beneficiary.setAppointmentBizId(result.getData().getAppointmentBizId());
iBeneficiaryService.saveOrUpdate(beneficiary);
return Result.success(); return Result.success();
} }
...@@ -160,8 +159,6 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService { ...@@ -160,8 +159,6 @@ 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());
...@@ -177,68 +174,23 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService { ...@@ -177,68 +174,23 @@ public class ApiBeneficiaryServiceImpl implements ApiBeneficiaryService {
* @return * @return
*/ */
@Override @Override
public Result batchEditBeneficiaryData(List<ApiBeneficiaryInfoDto> list, public Result batchEditBeneficiaryData(List<ApiBeneficiaryInfoDto> list,String appointmentBizId) {
String appointmentBizId) {
if (CollectionUtils.isEmpty(list)){ if (CollectionUtils.isEmpty(list)){
//为空放行 //为空放行
return Result.success(); return Result.success();
} }
// //获取不为空的受益人信息表唯一业务ID列表
// List<String> beneficiaryBizIdList = list.stream()
// .filter(dto -> StringUtils.isNotBlank(dto.getBeneficiaryBizId()))
// .map(ApiBeneficiaryInfoDto::getBeneficiaryBizId)
// .collect(Collectors.toList());
//
// if (!CollectionUtils.isEmpty(beneficiaryBizIdList)) {
// //入参的受益人业务id列表至少一个不为空就走表数据校验,全部为空是全部新增操作,不走表数据校验
//
// //根据受益人信息表唯一业务ID列表查询表里面的列表信息
// List<Beneficiary> beneficiarys = iBeneficiaryService.queryList(BeneficiaryDto.builder()
// .beneficiaryBizIdList(beneficiaryBizIdList).build());
//
// //过滤入参的受益人列表信息在表里不存在的集合,然后抛出这些不存在的列表信息
// // 提取 existingBeneficiaryBizIds:从 beneficiarys 中获取所有已存在的 beneficiaryBizId 集合
// Set<String> existingBeneficiaryBizIds = beneficiarys.stream()
// .map(Beneficiary::getBeneficiaryBizId)
// .collect(Collectors.toSet());
// // 过滤 list:保留 beneficiaryBizId 不在 existingBeneficiaryBizIds 中的对象
// List<ApiBeneficiaryInfoDto> filteredList = list.stream()
// .filter(dto -> StringUtils.isNotBlank(dto.getBeneficiaryBizId()) && !existingBeneficiaryBizIds.contains(dto.getBeneficiaryBizId()))
// .collect(Collectors.toList());
// if (!CollectionUtils.isEmpty(filteredList)) {
// //入参对象列表中有传值的业务id在库中不存在的对象,提示
// List<String> beneficiaryProductNameList = filteredList
// .stream()
// .map(ApiBeneficiaryInfoDto::getName)
// .collect(Collectors.toList());
// throw new BusinessException("以下是在库里不存在的受益人数据的名字:"+String.join(" ;",beneficiaryProductNameList));
// }
// }
//先删后增加 //先删后增加
iBeneficiaryService.del(appointmentBizId); iBeneficiaryService.del(appointmentBizId);
//新增
//构造需要新增或者更新数据的对象集合 List<Beneficiary> saveList = list.stream().map(dto -> {
List<Beneficiary> updateList = list.stream().map(dto -> {
Beneficiary beneficiary = new Beneficiary(); Beneficiary beneficiary = new Beneficiary();
BeanUtils.copyProperties(dto,beneficiary); BeanUtils.copyProperties(dto,beneficiary);
beneficiary.setAppointmentBizId(appointmentBizId); beneficiary.setAppointmentBizId(appointmentBizId);
if (StringUtils.isBlank(dto.getBeneficiaryBizId())) {
//为空表示新增数据
//生成受益人信息表唯一业务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()));
beneficiary.setId(null);
return beneficiary; return beneficiary;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
//批量新增
//批量新增或者更新 iBeneficiaryService.saveOrUpdateBatch(saveList);
iBeneficiaryService.saveOrUpdateBatch(updateList);
return Result.success(); return Result.success();
} }
......
...@@ -9,10 +9,13 @@ import com.yd.csf.api.service.ApiAppointmentCheckService; ...@@ -9,10 +9,13 @@ 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.feign.utils.CommonUtil;
import com.yd.csf.feign.enums.RelTypeEnum;
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;
import com.yd.csf.service.service.IPolicyholderService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -29,6 +32,9 @@ public class ApiInsurantServiceImpl implements ApiInsurantService { ...@@ -29,6 +32,9 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
private IInsurantService iInsurantService; private IInsurantService iInsurantService;
@Autowired @Autowired
private IPolicyholderService iPolicyholderService;
@Autowired
private ApiAppointmentCheckService apiAppointmentCheckService; private ApiAppointmentCheckService apiAppointmentCheckService;
/** /**
...@@ -61,7 +67,7 @@ public class ApiInsurantServiceImpl implements ApiInsurantService { ...@@ -61,7 +67,7 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
apiAppointmentCheckService.checkEditApiInsurantInfoDto(apiInsurantInfoDto); apiAppointmentCheckService.checkEditApiInsurantInfoDto(apiInsurantInfoDto);
//编辑受保人信息表数据 //编辑受保人信息表数据
editInsurantData(apiInsurantInfoDto,apiInsurantInfoDto.getAppointmentBizId()); // editInsurantData(apiInsurantInfoDto,apiInsurantInfoDto.getAppointmentBizId());
return Result.success(); return Result.success();
} }
...@@ -77,8 +83,21 @@ public class ApiInsurantServiceImpl implements ApiInsurantService { ...@@ -77,8 +83,21 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
//为空设置,方便新建暂存公用方法 //为空设置,方便新建暂存公用方法
dto = new ApiInsurantInfoDto(); dto = new ApiInsurantInfoDto();
} }
//受保人信息信息
Insurant insurant = new Insurant(); Insurant insurant = new Insurant();
//与投保人关系
if (RelTypeEnum.MYSELF.getItemValue().equals(dto.getPolicyholderRel())) {
//与投保人关系如果是本人,直接查询投保人信息表新增数据到受保人信息表中
Policyholder policyholder = iPolicyholderService.queryOne(appointmentBizId,"");
if (!Objects.isNull(policyholder)) {
BeanUtils.copyProperties(policyholder,insurant);
insurant.setId(null);
insurant.setAppointmentBizId(appointmentBizId);
insurant.setInsurantBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_INSURANT.getCode()));
iInsurantService.saveOrUpdate(insurant);
return Result.success(insurant);
}
}
//受保人信息信息
BeanUtils.copyProperties(dto,insurant); BeanUtils.copyProperties(dto,insurant);
//生成受保人信息表唯一业务ID //生成受保人信息表唯一业务ID
insurant.setInsurantBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_INSURANT.getCode())); insurant.setInsurantBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_INSURANT.getCode()));
...@@ -102,10 +121,26 @@ public class ApiInsurantServiceImpl implements ApiInsurantService { ...@@ -102,10 +121,26 @@ public class ApiInsurantServiceImpl implements ApiInsurantService {
//受保人信息对象不能为空 //受保人信息对象不能为空
throw new BusinessException("受保人信息不能为空"); throw new BusinessException("受保人信息不能为空");
} }
if (StringUtils.isBlank(dto.getInsurantBizId())) {
throw new BusinessException("受保人信息表唯一业务ID不能为空");
}
Result<Insurant> result = checkInsurantIsExist(dto.getInsurantBizId()); Result<Insurant> result = checkInsurantIsExist(dto.getInsurantBizId());
//受保人信息信息 //受保人信息信息
Insurant insurant = result.getData(); Insurant insurant = result.getData();
//与投保人关系
if (RelTypeEnum.MYSELF.getItemValue().equals(dto.getPolicyholderRel())) {
//与投保人关系如果是本人,直接查询投保人信息表更新数据到受保人信息表中
Policyholder policyholder = iPolicyholderService.queryOne(appointmentBizId,"");
if (!Objects.isNull(policyholder)) {
BeanUtils.copyProperties(policyholder,insurant);
insurant.setId(result.getData().getId());
insurant.setAppointmentBizId(appointmentBizId);
iInsurantService.saveOrUpdate(insurant);
return Result.success(insurant);
}
}
BeanUtils.copyProperties(dto,insurant); BeanUtils.copyProperties(dto,insurant);
//预约信息主表唯一业务ID //预约信息主表唯一业务ID
insurant.setAppointmentBizId(appointmentBizId); insurant.setAppointmentBizId(appointmentBizId);
......
...@@ -12,6 +12,7 @@ import com.yd.csf.feign.utils.CommonUtil; ...@@ -12,6 +12,7 @@ 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;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -60,7 +61,7 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService { ...@@ -60,7 +61,7 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService {
//编辑预约入参字段校验 - 投保人信息字段校验 //编辑预约入参字段校验 - 投保人信息字段校验
apiAppointmentCheckService.checkEditApiPolicyholderInfoDto(apiPolicyholderInfoDto); apiAppointmentCheckService.checkEditApiPolicyholderInfoDto(apiPolicyholderInfoDto);
//编辑投保人信息表数据 //编辑投保人信息表数据
editPolicyholderData(apiPolicyholderInfoDto,apiPolicyholderInfoDto.getAppointmentBizId()); // editPolicyholderData(apiPolicyholderInfoDto,apiPolicyholderInfoDto.getAppointmentBizId());
return Result.success(); return Result.success();
} }
...@@ -101,6 +102,9 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService { ...@@ -101,6 +102,9 @@ public class ApiPolicyholderServiceImpl implements ApiPolicyholderService {
//投保人信息对象不能为空 //投保人信息对象不能为空
throw new BusinessException("投保人信息对象不能为空"); throw new BusinessException("投保人信息对象不能为空");
} }
if (StringUtils.isBlank(dto.getPolicyholderBizId())) {
throw new BusinessException("投保人信息表唯一业务ID不能为空");
}
//校验投保人信息是否存在 //校验投保人信息是否存在
Result<Policyholder> result = checkPolicyholderIsExist(dto.getPolicyholderBizId()); Result<Policyholder> result = checkPolicyholderIsExist(dto.getPolicyholderBizId());
Policyholder policyholder = result.getData(); Policyholder policyholder = result.getData();
......
...@@ -14,6 +14,7 @@ import com.yd.csf.feign.dto.appointment.ApiProductPlanMainInfoDto; ...@@ -14,6 +14,7 @@ import com.yd.csf.feign.dto.appointment.ApiProductPlanMainInfoDto;
import com.yd.csf.service.model.ProductPlan; import com.yd.csf.service.model.ProductPlan;
import com.yd.csf.service.service.IProductPlanService; import com.yd.csf.service.service.IProductPlanService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -85,11 +86,11 @@ public class ApiProductPlanServiceImpl implements ApiProductPlanService { ...@@ -85,11 +86,11 @@ public class ApiProductPlanServiceImpl implements ApiProductPlanService {
ApiProductPlanInfoDto productPlanInfoDto = new ApiProductPlanInfoDto(); ApiProductPlanInfoDto productPlanInfoDto = new ApiProductPlanInfoDto();
productPlanInfoDto.setApiProductPlanMainInfoDto(apiProductPlanMainInfoDto); productPlanInfoDto.setApiProductPlanMainInfoDto(apiProductPlanMainInfoDto);
Result<ProductPlan> result = editProductPlanData(productPlanInfoDto,apiProductPlanMainInfoDto.getAppointmentBizId()); // Result<ProductPlan> result = editProductPlanData(productPlanInfoDto,apiProductPlanMainInfoDto.getAppointmentBizId());
String planBizId = ""; String planBizId = "";
if (!Objects.isNull(result.getData())) { // if (!Objects.isNull(result.getData())) {
planBizId = result.getData().getPlanBizId(); // planBizId = result.getData().getPlanBizId();
} // }
return Result.success(planBizId); return Result.success(planBizId);
} }
...@@ -147,6 +148,12 @@ public class ApiProductPlanServiceImpl implements ApiProductPlanService { ...@@ -147,6 +148,12 @@ public class ApiProductPlanServiceImpl implements ApiProductPlanService {
//不能为空 //不能为空
throw new BusinessException("产品计划主信息对象不能为空"); throw new BusinessException("产品计划主信息对象不能为空");
} }
if (!Objects.isNull(productPlanInfoDto)
&& !Objects.isNull(productPlanInfoDto.getApiProductPlanMainInfoDto())
&& StringUtils.isNotBlank(productPlanInfoDto.getApiProductPlanMainInfoDto().getPlanBizId())){
//不能为空
throw new BusinessException("产品计划信息表唯一业务ID不能为空");
}
//产品计划主信息 //产品计划主信息
ApiProductPlanMainInfoDto dto = productPlanInfoDto.getApiProductPlanMainInfoDto(); ApiProductPlanMainInfoDto dto = productPlanInfoDto.getApiProductPlanMainInfoDto();
Result<ProductPlan> result = checkProductPlanIsExist(dto.getPlanBizId()); Result<ProductPlan> result = checkProductPlanIsExist(dto.getPlanBizId());
......
...@@ -60,7 +60,7 @@ public class ApiSecondHolderServiceImpl implements ApiSecondHolderService { ...@@ -60,7 +60,7 @@ public class ApiSecondHolderServiceImpl implements ApiSecondHolderService {
if (Objects.isNull(apiSecondHolderInfoDto)) { if (Objects.isNull(apiSecondHolderInfoDto)) {
apiSecondHolderInfoDto = new ApiSecondHolderInfoDto(); apiSecondHolderInfoDto = new ApiSecondHolderInfoDto();
} }
editSecondHolderData(apiSecondHolderInfoDto,apiSecondHolderInfoDto.getAppointmentBizId()); // editSecondHolderData(apiSecondHolderInfoDto,apiSecondHolderInfoDto.getAppointmentBizId());
return Result.success(); return Result.success();
} }
......
...@@ -41,5 +41,11 @@ ...@@ -41,5 +41,11 @@
<artifactId>yd-user-feign</artifactId> <artifactId>yd-user-feign</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.yd</groupId>
<artifactId>yd-base-feign</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies> </dependencies>
</project> </project>
...@@ -7,6 +7,7 @@ import com.yd.csf.feign.fallback.appointment.ApiAppointmentFeignFallbackFactory; ...@@ -7,6 +7,7 @@ import com.yd.csf.feign.fallback.appointment.ApiAppointmentFeignFallbackFactory;
import com.yd.csf.feign.request.appointment.*; import com.yd.csf.feign.request.appointment.*;
import com.yd.csf.feign.response.appointment.ApiAppointmentAddResponse; import com.yd.csf.feign.response.appointment.ApiAppointmentAddResponse;
import com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse; import com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse;
import com.yd.csf.feign.response.appointment.ApiAppointmentLogDetailResponse;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -57,7 +58,7 @@ public interface ApiAppointmentFeignClient { ...@@ -57,7 +58,7 @@ public interface ApiAppointmentFeignClient {
* @return * @return
*/ */
@PostMapping("/add/storage") @PostMapping("/add/storage")
Result addStorage(@Validated @RequestBody ApiAppointmentAddStorageRequest request); Result addStorage(@RequestBody ApiAppointmentAddStorageRequest request);
/** /**
* 编辑预约提交 (聚合信息编辑预约提交) * 编辑预约提交 (聚合信息编辑预约提交)
...@@ -68,6 +69,14 @@ public interface ApiAppointmentFeignClient { ...@@ -68,6 +69,14 @@ public interface ApiAppointmentFeignClient {
Result edit(@Validated @RequestBody ApiAppointmentEditRequest request); Result edit(@Validated @RequestBody ApiAppointmentEditRequest request);
/** /**
* 编辑预约暂存 (聚合信息编辑预约暂存)
* @param request
* @return
*/
@PutMapping("/edit/storage")
Result editStorage(@RequestBody ApiAppointmentEditStorageRequest request);
/**
* 确定预约时间提交 (流程流转到新单跟进) * 确定预约时间提交 (流程流转到新单跟进)
* @param request * @param request
* @return * @return
...@@ -124,10 +133,35 @@ public interface ApiAppointmentFeignClient { ...@@ -124,10 +133,35 @@ public interface ApiAppointmentFeignClient {
Result editPolicyTransfer(@Validated @RequestBody ApiPolicyTransferRequest request); Result editPolicyTransfer(@Validated @RequestBody ApiPolicyTransferRequest request);
/** /**
* 编辑预约状态
* @param request
* @return
*/
@PutMapping("/edit/status")
Result editStatus(@Validated @RequestBody ApiAppointmentEditStatusRequest request);
/**
* 删除预约信息 * 删除预约信息
* @param appointmentBizId * @param appointmentBizId
* @return * @return
*/ */
@DeleteMapping("/del") @DeleteMapping("/del")
Result del(@NotBlank(message = "预约信息主表唯一业务ID不能为空") @RequestParam(value = "appointmentBizId") String appointmentBizId); Result del(@NotBlank(message = "预约信息主表唯一业务ID不能为空") @RequestParam(value = "appointmentBizId") String appointmentBizId);
/**
* 历史记录 - 签约信息
* @param request
* @return
*/
@PostMapping("/log/page")
Result logPage(@Validated @RequestBody ApiAppointmentLogPageRequest request);
/**
* 历史记录 - 签约信息 - 详情
* @param appointmentLogBizId
* @return
*/
@GetMapping("/log/detail")
Result<ApiAppointmentLogDetailResponse> logDetail(@NotBlank(message = "预约信息日志表唯一业务ID不能为空") @RequestParam(value = "appointmentLogBizId") String appointmentLogBizId);
} }
package com.yd.csf.feign.client.common;
import com.yd.common.result.Result;
import com.yd.csf.feign.fallback.common.ApiCsfCommonFeignFallbackFactory;
import com.yd.csf.feign.request.common.ApiCsfCalculateRequest;
import com.yd.csf.feign.response.common.ApiCsfCalculateResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 香港保险服务-公共接口信息Feign客户端
*/
@FeignClient(name = "yd-csf-api", fallbackFactory = ApiCsfCommonFeignFallbackFactory.class)
public interface ApiCsfCommonFeignClient {
/**
* 计算-字段值
* @param request
* @return
*/
@PostMapping("/calculate/fieldValue")
Result<List<ApiCsfCalculateResponse>> calculate(@Validated @RequestBody ApiCsfCalculateRequest request);
}
...@@ -2,7 +2,11 @@ package com.yd.csf.feign.dto.appointment; ...@@ -2,7 +2,11 @@ package com.yd.csf.feign.dto.appointment;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* 预约信息 * 预约信息
...@@ -11,38 +15,37 @@ import java.time.LocalDateTime; ...@@ -11,38 +15,37 @@ import java.time.LocalDateTime;
public class ApiAppointmentInfoDto { public class ApiAppointmentInfoDto {
/** /**
* 预约信息表主键id(新增不需要传值,修改需要传值)
*/
private Long id;
/**
* 预约信息主表唯一业务ID(新增不需要传值,修改需要传值) * 预约信息主表唯一业务ID(新增不需要传值,修改需要传值)
*/ */
private String appointmentBizId; private String appointmentBizId;
/** /**
* 预约编号(和预约信息主表唯一业务ID是一对,唯一,冗余字段) * 预约编号
*/ */
private String appointmentNo; private String appointmentNo;
/** /**
* 关联客户信息表唯一业务ID(冗余字段) * 关联客户信息表唯一业务ID(冗余字段)
*/ */
@NotBlank(message = "关联客户信息表唯一业务ID不能为空")
private String customerBizId; private String customerBizId;
/** /**
* 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段) * 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)
*/ */
@NotBlank(message = "关联客户编号不能为空")
private String customerNo; private String customerNo;
/** /**
* 关联FNA信息表唯一业务ID(冗余字段) * 关联FNA信息表唯一业务ID(冗余字段)
*/ */
@NotBlank(message = "关联FNA信息表唯一业务ID不能为空")
private String fnaBizId; private String fnaBizId;
/** /**
* 关联FNA编号(和FNA信息表唯一业务ID是一对,唯一,冗余字段) * 关联FNA编号(和FNA信息表唯一业务ID是一对,唯一,冗余字段)
*/ */
@NotBlank(message = "关联FNA编号不能为空")
private String fnaNo; private String fnaNo;
/** /**
...@@ -58,51 +61,15 @@ public class ApiAppointmentInfoDto { ...@@ -58,51 +61,15 @@ public class ApiAppointmentInfoDto {
/** /**
* 申请类型(字典) * 申请类型(字典)
*/ */
// @NotBlank(message = "申请类型不能为空") @NotBlank(message = "申请类型不能为空")
private String applyType; private String applyType;
/** /**
* 业务编号 * 签单日
*/
private String businessNo;
/**
* 确定预约时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime confirmAppointmentTime;
/**
* 意向预约时间
*/ */
// @NotNull(message = "意向预约时间不能为空") @NotNull(message = "签单日不能为空")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime intentionAppointmentTime; private LocalDateTime signDate;
/**
* 顾问是否陪同: 0-否, 1-是(字典)
*/
private Integer isAccompany;
/**
* 陪同顾问姓名(FNA Form有填写,可带入)
*/
private String accompanyName;
/**
* 陪同顾问手机区号
*/
private String accompanyMobileCode;
/**
* 陪同顾问手机
*/
private String accompanyMobile;
/**
* 陪同顾问邮箱
*/
private String accompanyEmail;
/** /**
* 到港时间 * 到港时间
...@@ -122,7 +89,7 @@ public class ApiAppointmentInfoDto { ...@@ -122,7 +89,7 @@ public class ApiAppointmentInfoDto {
private String meetingPoint; private String meetingPoint;
/** /**
* 签单地址 * 签单地址(签单地点)
*/ */
private String signingAddress; private String signingAddress;
...@@ -189,37 +156,28 @@ public class ApiAppointmentInfoDto { ...@@ -189,37 +156,28 @@ public class ApiAppointmentInfoDto {
private String policyTransfer; private String policyTransfer;
/** /**
* 业务代表1账号 * 是否有用车服务:0-否, 1-是(字典)
*/
private String businessRepresentAccount1;
/**
* 业务代表1姓名
*/
private String businessRepresentName1;
/**
* 业务代表1电话号码区号
*/ */
private String businessRepresentMobile1Code; private Integer isUseCar;
/** /**
* 业务代表1电话号码 * 是否法定受益人
*/ */
private String businessRepresentMobile1; @NotBlank(message = "是否法定受益人不能为空")
private String isLegalBeneficiary;
/** /**
* 业务代表1邮箱 * 创建人用户名
*/ */
private String businessRepresentEmail1; private String creatorName;
/** /**
* 是否有用车服务:0-否, 1-是(字典) * 陪同转介人信息列表
*/ */
private Integer isUseCar; private List<ApiAppointmentReferrerDto> referrerDtoList;
/** /**
* 创建人用户名 * 签单员信息列表
*/ */
private String creatorName; private List<ApiAppointmentUserSignDto> userSignDtoList;
} }
package com.yd.csf.feign.dto.appointment;
import lombok.Data;
@Data
public class ApiAppointmentReferrerDto {
/**
* 系统用户-销售用户扩展表唯一业务ID(转介人,冗余)
*/
private String userSaleBizId;
/**
* 系统用户唯一业务ID(冗余)
*/
private String userBizId;
/**
* 姓名
*/
private String realName;
/**
* 手机号
*/
private String phone;
/**
* 邮箱
*/
private String email;
}
package com.yd.csf.feign.dto.appointment;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ApiAppointmentReferrerLogDto {
/**
* 预约-转介人信息日志表主键ID
*/
private Long id;
/**
* 预约-转介人信息日志表唯一业务ID
*/
private String appointmentReferrerLogBizId;
/**
* 预约信息日志表唯一业务ID
*/
private String appointmentLogBizId;
/**
* 系统用户-销售用户扩展表唯一业务ID(转介人,冗余)
*/
private String userSaleBizId;
/**
* 系统用户唯一业务ID(冗余)
*/
private String userBizId;
/**
* 姓名
*/
private String realName;
/**
* 手机号
*/
private String phone;
/**
* 邮箱
*/
private String email;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 更新人ID
*/
private String updaterId;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.yd.csf.feign.dto.appointment;
import lombok.Data;
@Data
public class ApiAppointmentUserSignDto {
/**
* 签单用户扩展唯一业务ID(冗余)
*/
private String userSignBizId;
/**
* 系统用户唯一业务ID(冗余)
*/
private String userBizId;
/**
* 姓名
*/
private String realName;
/**
* 执业编码
*/
private String practiceCode;
/**
* 手机号
*/
private String phone;
/**
* 证件类型
*/
private String cardType;
/**
* 证件号码
*/
private String cardNo;
/**
* 邮箱
*/
private String email;
}
package com.yd.csf.feign.dto.appointment;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ApiAppointmentUserSignLogDto {
/**
* 预约-签单员信息日志表主键ID
*/
private Long id;
/**
* 预约-签单员信息日志表唯一业务ID
*/
private String appointmentUserSignLogBizId;
/**
* 预约信息日志表唯一业务ID
*/
private String appointmentLogBizId;
/**
* 签单用户扩展唯一业务ID(冗余)
*/
private String userSignBizId;
/**
* 系统用户唯一业务ID(冗余)
*/
private String userBizId;
/**
* 姓名
*/
private String realName;
/**
* 执业编码
*/
private String practiceCode;
/**
* 手机号
*/
private String phone;
/**
* 证件类型
*/
private String cardType;
/**
* 证件号码
*/
private String cardNo;
/**
* 邮箱
*/
private String email;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 更新人ID
*/
private String updaterId;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.yd.csf.feign.dto.appointment; package com.yd.csf.feign.dto.appointment;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yd.csf.feign.dto.AddressDto;
import lombok.Data; import lombok.Data;
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;
/** /**
* 受益人信息 * 受益人信息
...@@ -16,54 +12,37 @@ import java.util.List; ...@@ -16,54 +12,37 @@ import java.util.List;
public class ApiBeneficiaryInfoDto { public class ApiBeneficiaryInfoDto {
/** /**
* 受益人信息主键id(新增不需要传值,修改需要传值) * 受益人信息表主键ID
*/ */
private Long id; private Long id;
/** /**
* 预约信息主表唯一业务ID(新增不需要传值,修改需要传值) * 预约信息主表唯一业务ID
*/ */
private String appointmentBizId; private String appointmentBizId;
/** /**
* 受益人信息表唯一业务ID(新增不需要传值,修改需要传值) * 受益人信息表唯一业务ID
*/ */
private String beneficiaryBizId; private String beneficiaryBizId;
/** /**
* 客户类型(字典)(个人或者公司)
*/
// @NotBlank(message = "客户类型不能为空")
private String customerType;
/**
* 与受保人关系(字典) * 与受保人关系(字典)
*/ */
// @NotBlank(message = "与受保人关系不能为空")
private String insurantRel; private String insurantRel;
/** /**
* 受益比例 * 姓名-中文
*/
private BigDecimal benefitRatio;
/**
* 名字
*/
private String name;
/**
* 名字-英文
*/ */
private String nameEn; private String nameCn;
/** /**
* 性别(字典 * 姓名-(拼音/英文,通过中文自动加载全部大写的拼音
*/ */
private String gender; private String namePyEn;
/** /**
* 证件类型(字典) * 证件类型(字典,下拉选择
*/ */
private String documentType; private String documentType;
...@@ -73,99 +52,24 @@ public class ApiBeneficiaryInfoDto { ...@@ -73,99 +52,24 @@ public class ApiBeneficiaryInfoDto {
private String idNumber; private String idNumber;
/** /**
* 护照号码 * 性别(字典,如果是身份证,自动获取性别和生日)
*/
private String passportNumber;
/**
* 出生日期
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String gender;
private LocalDateTime birthTime;
/**
* 公司名称
*/
private String companyName;
/**
* 公司名称(英文)
*/
private String companyNameEn;
/**
* 公司商业登记号码
*/
private String companyBusinessNo;
/** /**
* 公司注册日期 * 出生日期(生日,如果是身份证,自动获取性别和生日)
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime companyRegisterTime; private LocalDateTime birthday;
/** /**
* 公司注册地区(字典 * 国籍(下拉选择
*/ */
private String companyRegisterRegion; private String nationality;
/** /**
* 公司电话区号 * 受益比例
*/
private String companyMobileCode;
/**
* 公司电话
*/
private String companyMobile;
/**
* 公司邮箱
*/
private String companyEmail;
/**
* 公司登记地址
*/
private String companyEnterAddress;
/**
* 通讯地址
*/
private String mailingAddress;
/**
* 授权代表姓名中文-名字
*/
private String authNameCn;
/**
* 授权代表姓名英文-名字
*/
private String authNameEn;
/**
* 授权代表职称
*/
private String authProfessional;
/**
* 授权代表电话区号
*/
private String authMobileCode;
/**
* 授权代表电话
*/
private String authMobile;
/**
* 地址列表
*/ */
private List<AddressDto> addressList; private BigDecimal benefitRatio;
/**
* 备注
*/
private String remark;
} }
...@@ -2,6 +2,7 @@ package com.yd.csf.feign.dto.appointment; ...@@ -2,6 +2,7 @@ package com.yd.csf.feign.dto.appointment;
import lombok.Data; import lombok.Data;
import javax.validation.Valid;
import java.util.List; import java.util.List;
/** /**
...@@ -13,6 +14,7 @@ public class ApiProductPlanInfoDto { ...@@ -13,6 +14,7 @@ public class ApiProductPlanInfoDto {
/** /**
* 产品计划主信息 * 产品计划主信息
*/ */
@Valid
private ApiProductPlanMainInfoDto apiProductPlanMainInfoDto; private ApiProductPlanMainInfoDto apiProductPlanMainInfoDto;
/** /**
......
package com.yd.csf.feign.dto.appointment; package com.yd.csf.feign.dto.appointment;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
* 产品计划主信息 * 产品计划主信息
...@@ -12,82 +11,71 @@ import java.time.LocalDateTime; ...@@ -12,82 +11,71 @@ import java.time.LocalDateTime;
public class ApiProductPlanMainInfoDto { public class ApiProductPlanMainInfoDto {
/** /**
* 产品计划表主键id(新增不需要传值,编辑需要传值) * 产品计划信息表唯一业务ID
*/ */
private Long id; private String planBizId;
/** /**
* 预约信息主表唯一业务ID(新增不需要传值,编辑需要传值 * 保险公司ID(产品上架信息绑定的保险公司参数
*/ */
private String appointmentBizId; private String companyId;
/** /**
* 产品计划信息表唯一业务ID(新增不需要传值,编辑需要传值) * 保险公司名称
*/ */
private String planBizId; private String companyName;
/** /**
* 保险产品唯一业务ID(中台保险产品业务id,冗余 * 保险险种ID(产品上架信息绑定的保险险种参数
*/ */
// @NotBlank(message = "保险产品唯一业务ID不能为空") private String insuranceTypeId;
private String productBizId;
/** /**
* 保险产品名称(中台保险产品名称,冗余) * 保险险种名称
*/ */
// @NotBlank(message = "保险产品名称不能为空") private String insuranceTypeName;
private String productName;
/** /**
* 保险公司名称(冗余字段) * 产品上架信息表唯一业务ID
*/ */
private String companyName; @NotBlank(message = "产品ID不能为空")
private String productLaunchBizId;
/** /**
* 地区 * 产品上架信息表名称(标题)
*/ */
private String region; @NotBlank(message = "产品名称不能为空")
private String productLaunchName;
/** /**
* 货币(字典) * 供款期数
*/ */
// @NotBlank(message = "货币不能为空") private String issueNumber;
private String currency;
/** /**
* 供款年期(字典) * 保障年期
*/ */
// @NotBlank(message = "供款年期不能为空") private String guaranteePeriod;
private String paymentTerm;
/** /**
* 付款频率(字典) * 保单币种
*/ */
// @NotBlank(message = "付款频率不能为空") private String policyCurrency;
private String paymentFrequency;
/** /**
* 每期保费 * 保单额度(重疾)
*/ */
// @NotNull(message = "每期保费不能为空")
private BigDecimal eachIssuePremium;
/**
* 保额
*/
// @NotNull(message = "保额不能为空")
private BigDecimal sumInsured; private BigDecimal sumInsured;
/** /**
* 是否预缴保费: 0-否, 1-是(字典) * 付款频率(字典)
*/ */
// @NotNull(message = "是否预缴保费不能为空") private String paymentFrequency;
private Integer isPrepay;
/** /**
* 预付额 * 每期保费
*/ */
private BigDecimal deductibles; private BigDecimal eachIssuePremium;
/** /**
* 首期付款方式(字典) * 首期付款方式(字典)
...@@ -95,33 +83,37 @@ public class ApiProductPlanMainInfoDto { ...@@ -95,33 +83,37 @@ public class ApiProductPlanMainInfoDto {
private String initialPaymentMethod; private String initialPaymentMethod;
/** /**
* 续期付款方式(字典) * 保单征费
*/ */
private String renewalPaymentMethod; private BigDecimal policyLevy;
/** /**
* 红利分配方式(字典) * 是否预缴保费: 0-否, 1-是(字典)
*/ */
private String dividendDistributionMethod; private String isPrepay;
/** /**
* 保单日期回溯: 0-否, 1-是(字典) * 是否追溯: 0-否, 1-是(字典)
*/ */
private Integer isBacktrack; private String isTraceable;
/** /**
* 保单生效日 * 保单日期回溯: 0-否, 1-是(字典)
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String isBacktrack;
private LocalDateTime policyEffectiveDate;
/** /**
* 是否参加递增保障权益: 0-否, 1-是(字典) * 是否参加递增保障权益: 0-否, 1-是(字典)
*/ */
private Integer isJoin; private String isJoin;
/** /**
* 保单征费 * 红利分配方式(字典)
*/ */
private BigDecimal policyLevy; private String dividendDistributionMethod;
/**
* 续期付款方式(字典)
*/
private String renewalPaymentMethod;
} }
...@@ -2,7 +2,6 @@ package com.yd.csf.feign.dto.appointment; ...@@ -2,7 +2,6 @@ package com.yd.csf.feign.dto.appointment;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
...@@ -12,17 +11,7 @@ import java.time.LocalDateTime; ...@@ -12,17 +11,7 @@ import java.time.LocalDateTime;
public class ApiSecondHolderInfoDto { public class ApiSecondHolderInfoDto {
/** /**
* 第二持有人信息表主键id(新增不需要传值,修改需要传值) * 第二持有人信息表唯一业务ID
*/
private Long id;
/**
* 预约信息主表唯一业务ID(新增不需要传值,修改需要传值)
*/
private String appointmentBizId;
/**
* 第二持有人信息表唯一业务ID(新增不需要传值,修改需要传值)
*/ */
private String secondHolderBizId; private String secondHolderBizId;
...@@ -32,22 +21,17 @@ public class ApiSecondHolderInfoDto { ...@@ -32,22 +21,17 @@ public class ApiSecondHolderInfoDto {
private String insurantRel; private String insurantRel;
/** /**
* 名字 * 姓名-中文
*/ */
private String name; private String nameCn;
/** /**
* 名字-英文 * 姓名-(拼音/英文,通过中文自动加载全部大写的拼音)
*/ */
private String nameEn; private String namePyEn;
/** /**
* 性别(字典) * 证件类型(字典,下拉选择)
*/
private String gender;
/**
* 证件类型(字典)
*/ */
private String documentType; private String documentType;
...@@ -57,18 +41,13 @@ public class ApiSecondHolderInfoDto { ...@@ -57,18 +41,13 @@ public class ApiSecondHolderInfoDto {
private String idNumber; private String idNumber;
/** /**
* 护照号码 * 性别(字典,如果是身份证,自动获取性别和生日)
*/ */
private String passportNumber; private String gender;
/** /**
* 出生日期 * 出生日期(生日,如果是身份证,自动获取性别和生日)
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime birthTime; private LocalDateTime birthday;
/**
* 年龄
*/
private String age;
} }
...@@ -69,15 +69,15 @@ public class ApiExcelAppointmentMainDto { ...@@ -69,15 +69,15 @@ public class ApiExcelAppointmentMainDto {
return mainDto; return mainDto;
} }
/** // /**
* ApiExcelAppointmentMainDto构造ApiAppointmentInfoDto用于保存到表 // * ApiExcelAppointmentMainDto构造ApiAppointmentInfoDto用于保存到表
* @param dto // * @param dto
* @return // * @return
*/ // */
public static ApiAppointmentInfoDto setApiAppointmentInfoDto(ApiExcelAppointmentMainDto dto) { // public static ApiAppointmentInfoDto setApiAppointmentInfoDto(ApiExcelAppointmentMainDto dto) {
ApiAppointmentInfoDto infoDto = new ApiAppointmentInfoDto(); // ApiAppointmentInfoDto infoDto = new ApiAppointmentInfoDto();
infoDto.setIntentionAppointmentTime(DateUtil.getLocalDateTime(dto.getMainIntentionAppointmentDate() + " " + dto.getMainIntentionAppointmentTime())); // infoDto.setIntentionAppointmentTime(DateUtil.getLocalDateTime(dto.getMainIntentionAppointmentDate() + " " + dto.getMainIntentionAppointmentTime()));
infoDto.setIsTj(dto.getIsTj()); // infoDto.setIsTj(dto.getIsTj());
return infoDto; // return infoDto;
} // }
} }
...@@ -510,9 +510,9 @@ public class ApiExcelImportAppointmentDto { ...@@ -510,9 +510,9 @@ public class ApiExcelImportAppointmentDto {
//到港时间 //到港时间
infoDto.setArrivalTime(DateUtil.getLocalDateTime(dto.getHkArrivalTime())); infoDto.setArrivalTime(DateUtil.getLocalDateTime(dto.getHkArrivalTime()));
//业务编号->介绍人编号 TODO //业务编号->介绍人编号 TODO
infoDto.setBusinessNo(dto.getMainReferrerId()); // infoDto.setBusinessNo(dto.getMainReferrerId());
//确定预约时间->预约日期 (西元 年/月/日) + 預約時間 //确定预约时间->预约日期 (西元 年/月/日) + 預約時間
infoDto.setConfirmAppointmentTime(DateUtil.getLocalDateTime(dto.getMainIntentionAppointmentDate() + " " + dto.getMainIntentionAppointmentTime())); // infoDto.setConfirmAppointmentTime(DateUtil.getLocalDateTime(dto.getMainIntentionAppointmentDate() + " " + dto.getMainIntentionAppointmentTime()));
//离港时间->离港(澳)日期及时间(离港时间)(预约信息主表) //离港时间->离港(澳)日期及时间(离港时间)(预约信息主表)
infoDto.setDepartureTime(DateUtil.getLocalDateTime(dto.getHkDepartureTime())); infoDto.setDepartureTime(DateUtil.getLocalDateTime(dto.getHkDepartureTime()));
//客户在港期间联络电话->客户在港期间联络电话(预约信息主表)区号+号码 //客户在港期间联络电话->客户在港期间联络电话(预约信息主表)区号+号码
...@@ -540,7 +540,7 @@ public class ApiExcelImportAppointmentDto { ...@@ -540,7 +540,7 @@ public class ApiExcelImportAppointmentDto {
//保险公司名称 //保险公司名称
infoDto.setCompanyName(dto.getPlanCompanyName()); infoDto.setCompanyName(dto.getPlanCompanyName());
//货币(字典) //货币(字典)
infoDto.setCurrency(dto.getPlanCurrency()); infoDto.setPolicyCurrency(dto.getPlanCurrency());
//预付额 TODO //预付额 TODO
// infoDto.setDeductibles(); // infoDto.setDeductibles();
//红利分配方式(字典) //红利分配方式(字典)
...@@ -552,17 +552,17 @@ public class ApiExcelImportAppointmentDto { ...@@ -552,17 +552,17 @@ public class ApiExcelImportAppointmentDto {
infoDto.setInitialPaymentMethod(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses, infoDto.setInitialPaymentMethod(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses,
DictTypeEnum.CSF_AP_FIRST_ISSUE.getItemValue(),dto.getPlanInitialPaymentMethod())); DictTypeEnum.CSF_AP_FIRST_ISSUE.getItemValue(),dto.getPlanInitialPaymentMethod()));
//是否参加递增保障权益->是否參加遞增保障權益/通脹加保權益 //是否参加递增保障权益->是否參加遞增保障權益/通脹加保權益
infoDto.setIsJoin(Integer.getInteger(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses, infoDto.setIsJoin(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses,
DictTypeEnum.SYS_NO_YES.getItemValue(),dto.getPlanIsJoin()))); DictTypeEnum.SYS_NO_YES.getItemValue(),dto.getPlanIsJoin()));
//是否预缴保费->是否預繳保費 (如是,請填寫首期保費以外的剩餘保費)(是否预缴保费: 0-否, 1-是(字典)(产品计划信息表)) //是否预缴保费->是否預繳保費 (如是,請填寫首期保費以外的剩餘保費)(是否预缴保费: 0-否, 1-是(字典)(产品计划信息表))
infoDto.setIsPrepay(Integer.getInteger(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses, infoDto.setIsPrepay(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses,
DictTypeEnum.SYS_NO_YES.getItemValue(),dto.getPlanIsPrepay()))); DictTypeEnum.SYS_NO_YES.getItemValue(),dto.getPlanIsPrepay()));
//付款频率 //付款频率
infoDto.setPaymentFrequency(dto.getPlanPaymentFrequency()); infoDto.setPaymentFrequency(dto.getPlanPaymentFrequency());
//供款年期 //供款年期
infoDto.setPaymentTerm(dto.getPlanPaymentTerm()); infoDto.setIssueNumber(dto.getPlanPaymentTerm());
//保险产品名称->基本計劃名稱 //保险产品名称->基本計劃名稱
infoDto.setProductName(dto.getPlanProductName()); infoDto.setProductLaunchName(dto.getPlanProductName());
//续期付款方式 //续期付款方式
infoDto.setRenewalPaymentMethod(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses, infoDto.setRenewalPaymentMethod(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses,
DictTypeEnum.CSF_AP_FIRST_ISSUE.getItemValue(),dto.getPlanRenewalPaymentMethod())); DictTypeEnum.CSF_AP_FIRST_ISSUE.getItemValue(),dto.getPlanRenewalPaymentMethod()));
...@@ -610,14 +610,14 @@ public class ApiExcelImportAppointmentDto { ...@@ -610,14 +610,14 @@ public class ApiExcelImportAppointmentDto {
infoDto.setMobile(StringUtil.getSplitStr(dto.getPolicyholderMobile(),"-",1)); infoDto.setMobile(StringUtil.getSplitStr(dto.getPolicyholderMobile(),"-",1));
infoDto.setMobileCode(StringUtil.getSplitStr(dto.getPolicyholderMobile(),"-",0)); infoDto.setMobileCode(StringUtil.getSplitStr(dto.getPolicyholderMobile(),"-",0));
//名字->中文姓名(投保人信息表:名字) //名字->中文姓名(投保人信息表:名字)
infoDto.setName(dto.getPolicyholderName()); infoDto.setNameCn(dto.getPolicyholderName());
//名字-英文->英文姓名 (同护照)(投保人信息表:名字-英文) //名字-英文->英文姓名 (同护照)(投保人信息表:名字-英文)
infoDto.setNameEn(dto.getPolicyholderNameEn()); infoDto.setNamePyEn(dto.getPolicyholderNameEn());
//国籍 //国籍
infoDto.setNationality(dto.getPolicyholderNationality()); infoDto.setNationality(dto.getPolicyholderNationality());
//通行证号码->港澳通行证号码(投保人信息表:通行证号码) //通行证号码->港澳通行证号码(投保人信息表:通行证号码)
infoDto.setPassNo(dto.getPolicyholderPassNo()); // infoDto.setPassNo(dto.getPolicyholderPassNo());
infoDto.setPassportNo(dto.getPolicyholderPassportNo()); // infoDto.setPassportNo(dto.getPolicyholderPassportNo());
//职位 //职位
infoDto.setPosition(dto.getPolicyholderPosition()); infoDto.setPosition(dto.getPolicyholderPosition());
//居住地址->永久(住宅)地址(投保人信息表:居住地址) //居住地址->永久(住宅)地址(投保人信息表:居住地址)
...@@ -666,14 +666,14 @@ public class ApiExcelImportAppointmentDto { ...@@ -666,14 +666,14 @@ public class ApiExcelImportAppointmentDto {
infoDto.setMobile(StringUtil.getSplitStr(dto.getInsurantMobile(),"-",1)); infoDto.setMobile(StringUtil.getSplitStr(dto.getInsurantMobile(),"-",1));
infoDto.setMobileCode(StringUtil.getSplitStr(dto.getInsurantMobile(),"-",0)); infoDto.setMobileCode(StringUtil.getSplitStr(dto.getInsurantMobile(),"-",0));
//名字->中文姓名(投保人信息表:名字) //名字->中文姓名(投保人信息表:名字)
infoDto.setName(dto.getInsurantName()); infoDto.setNameCn(dto.getInsurantName());
//名字-英文->英文姓名 (同护照)(投保人信息表:名字-英文) //名字-英文->英文姓名 (同护照)(投保人信息表:名字-英文)
infoDto.setNameEn(dto.getInsurantNameEn()); infoDto.setNamePyEn(dto.getInsurantNameEn());
//国籍 //国籍
infoDto.setNationality(dto.getInsurantNationality()); infoDto.setNationality(dto.getInsurantNationality());
//通行证号码->港澳通行证号码(投保人信息表:通行证号码) //通行证号码->港澳通行证号码(投保人信息表:通行证号码)
infoDto.setPassNo(dto.getInsurantPassNo()); // infoDto.setPassNo(dto.getInsurantPassNo());
infoDto.setPassportNo(dto.getInsurantPassportNo()); // infoDto.setPassportNo(dto.getInsurantPassportNo());
//职位 //职位
infoDto.setPosition(dto.getInsurantPosition()); infoDto.setPosition(dto.getInsurantPosition());
//居住地址->永久(住宅)地址(投保人信息表:居住地址) //居住地址->永久(住宅)地址(投保人信息表:居住地址)
...@@ -693,7 +693,7 @@ public class ApiExcelImportAppointmentDto { ...@@ -693,7 +693,7 @@ public class ApiExcelImportAppointmentDto {
ApiSecondHolderInfoDto infoDto, ApiSecondHolderInfoDto infoDto,
List<GetDictItemListByDictTypeResponse> dictTypeResponses) { List<GetDictItemListByDictTypeResponse> dictTypeResponses) {
//出生日期 //出生日期
infoDto.setBirthTime(DateUtil.getYMDLocalDateTime(dto.getSecondHolderBirthTime())); infoDto.setBirthday(DateUtil.getYMDLocalDateTime(dto.getSecondHolderBirthTime()));
//性别(字典) //性别(字典)
infoDto.setGender(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses, infoDto.setGender(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses,
DictTypeEnum.SYS_GENDER.getItemValue(),dto.getSecondHolderGender())); DictTypeEnum.SYS_GENDER.getItemValue(),dto.getSecondHolderGender()));
...@@ -703,9 +703,9 @@ public class ApiExcelImportAppointmentDto { ...@@ -703,9 +703,9 @@ public class ApiExcelImportAppointmentDto {
infoDto.setInsurantRel(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses, infoDto.setInsurantRel(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses,
DictTypeEnum.CSF_AP_REL.getItemValue(),ChineseTextConverter.traditionalToSimplified(dto.getSecondHolderInsurantRel()))); DictTypeEnum.CSF_AP_REL.getItemValue(),ChineseTextConverter.traditionalToSimplified(dto.getSecondHolderInsurantRel())));
//名字 //名字
infoDto.setName(dto.getSecondHolderName()); infoDto.setNameCn(dto.getSecondHolderName());
//名字-英文 //名字-英文
infoDto.setNameEn(dto.getSecondHolderNameEn()); infoDto.setNamePyEn(dto.getSecondHolderNameEn());
return infoDto; return infoDto;
} }
...@@ -727,11 +727,11 @@ public class ApiExcelImportAppointmentDto { ...@@ -727,11 +727,11 @@ public class ApiExcelImportAppointmentDto {
//受益比例 //受益比例
infoDto.setBenefitRatio(dto.getBeneficiaryBenefitRatio()); infoDto.setBenefitRatio(dto.getBeneficiaryBenefitRatio());
//出生日期 //出生日期
infoDto.setBirthTime(DateUtil.getYMDLocalDateTime(dto.getBeneficiaryBirthTime())); infoDto.setBirthday(DateUtil.getYMDLocalDateTime(dto.getBeneficiaryBirthTime()));
//中文姓名 //中文姓名
infoDto.setName(dto.getBeneficiaryName()); infoDto.setNameCn(dto.getBeneficiaryName());
//名字-英文 //名字-英文
infoDto.setNameEn(dto.getBeneficiaryNameEn()); infoDto.setNamePyEn(dto.getBeneficiaryNameEn());
//证件号码 //证件号码
infoDto.setIdNumber(dto.getBeneficiaryIdNumber()); infoDto.setIdNumber(dto.getBeneficiaryIdNumber());
//与受保人关系 //与受保人关系
......
package com.yd.csf.feign.dto.taxation;
import lombok.Data;
@Data
public class ApiTaxationDto {
/**
* 税务国家
*/
private String taxCountry;
/**
* 税务编号
*/
private String taxId;
}
package com.yd.csf.service.enums; package com.yd.csf.feign.enums;
/** /**
* 用户关系枚举 * 用户关系枚举
......
...@@ -6,6 +6,7 @@ import com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto; ...@@ -6,6 +6,7 @@ import com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto;
import com.yd.csf.feign.request.appointment.*; import com.yd.csf.feign.request.appointment.*;
import com.yd.csf.feign.response.appointment.ApiAppointmentAddResponse; import com.yd.csf.feign.response.appointment.ApiAppointmentAddResponse;
import com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse; import com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse;
import com.yd.csf.feign.response.appointment.ApiAppointmentLogDetailResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -57,6 +58,11 @@ public class ApiAppointmentFeignFallbackFactory implements FallbackFactory<ApiAp ...@@ -57,6 +58,11 @@ public class ApiAppointmentFeignFallbackFactory implements FallbackFactory<ApiAp
} }
@Override @Override
public Result editStorage(ApiAppointmentEditStorageRequest request) {
return null;
}
@Override
public Result editConfirmTime(ApiAppointmentEditConfirmTimeRequest request) { public Result editConfirmTime(ApiAppointmentEditConfirmTimeRequest request) {
return null; return null;
} }
...@@ -87,9 +93,24 @@ public class ApiAppointmentFeignFallbackFactory implements FallbackFactory<ApiAp ...@@ -87,9 +93,24 @@ public class ApiAppointmentFeignFallbackFactory implements FallbackFactory<ApiAp
} }
@Override @Override
public Result editStatus(ApiAppointmentEditStatusRequest request) {
return null;
}
@Override
public Result del(String appointmentBizId) { public Result del(String appointmentBizId) {
return null; return null;
} }
@Override
public Result logPage(ApiAppointmentLogPageRequest request) {
return null;
}
@Override
public Result<ApiAppointmentLogDetailResponse> logDetail(String appointmentLogBizId) {
return null;
}
}; };
} }
} }
package com.yd.csf.feign.fallback.common;
import com.yd.common.result.Result;
import com.yd.csf.feign.client.common.ApiCsfCommonFeignClient;
import com.yd.csf.feign.request.common.ApiCsfCalculateRequest;
import com.yd.csf.feign.response.common.ApiCsfCalculateResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 香港保险服务-公共接口信息Feign降级处理
*/
@Slf4j
@Component
public class ApiCsfCommonFeignFallbackFactory implements FallbackFactory<ApiCsfCommonFeignClient> {
@Override
public ApiCsfCommonFeignClient create(Throwable cause) {
return new ApiCsfCommonFeignClient() {
@Override
public Result<List<ApiCsfCalculateResponse>> calculate(ApiCsfCalculateRequest request) {
return null;
}
};
}
}
...@@ -3,6 +3,8 @@ package com.yd.csf.feign.request.appointment; ...@@ -3,6 +3,8 @@ package com.yd.csf.feign.request.appointment;
import com.yd.csf.feign.dto.appointment.*; import com.yd.csf.feign.dto.appointment.*;
import com.yd.question.feign.dto.ApiAnswerSessionsDto; import com.yd.question.feign.dto.ApiAnswerSessionsDto;
import lombok.Data; import lombok.Data;
import javax.validation.Valid;
import java.util.List; import java.util.List;
/** /**
...@@ -12,18 +14,21 @@ import java.util.List; ...@@ -12,18 +14,21 @@ import java.util.List;
public class ApiAppointmentAddRequest { public class ApiAppointmentAddRequest {
/** /**
* 预约信息 * 预约信息(包含签约信息)
*/ */
@Valid
private ApiAppointmentInfoDto apiAppointmentInfoDto; private ApiAppointmentInfoDto apiAppointmentInfoDto;
/** /**
* 产品计划信息 * 产品计划信息
*/ */
@Valid
private ApiProductPlanInfoDto apiProductPlanInfoDto; private ApiProductPlanInfoDto apiProductPlanInfoDto;
/** /**
* 投保人信息 * 投保人信息
*/ */
@Valid
private ApiPolicyholderInfoDto apiPolicyholderInfoDto; private ApiPolicyholderInfoDto apiPolicyholderInfoDto;
/** /**
......
...@@ -4,6 +4,7 @@ import com.yd.csf.feign.dto.appointment.*; ...@@ -4,6 +4,7 @@ import com.yd.csf.feign.dto.appointment.*;
import com.yd.question.feign.dto.ApiAnswerSessionsDto; import com.yd.question.feign.dto.ApiAnswerSessionsDto;
import lombok.Data; import lombok.Data;
import javax.validation.Valid;
import java.util.List; import java.util.List;
/** /**
...@@ -15,16 +16,19 @@ public class ApiAppointmentEditRequest { ...@@ -15,16 +16,19 @@ public class ApiAppointmentEditRequest {
/** /**
* 预约信息 * 预约信息
*/ */
@Valid
private ApiAppointmentInfoDto apiAppointmentInfoDto; private ApiAppointmentInfoDto apiAppointmentInfoDto;
/** /**
* 产品计划信息 * 产品计划信息
*/ */
@Valid
private ApiProductPlanInfoDto apiProductPlanInfoDto; private ApiProductPlanInfoDto apiProductPlanInfoDto;
/** /**
* 投保人信息 * 投保人信息
*/ */
@Valid
private ApiPolicyholderInfoDto apiPolicyholderInfoDto; private ApiPolicyholderInfoDto apiPolicyholderInfoDto;
/** /**
......
package com.yd.csf.feign.request.appointment;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class ApiAppointmentEditStatusRequest {
/**
* 操作类型 1-取消申请 2-取消预约
*/
@NotNull(message = "操作类型不能为空")
private Integer oprType;
/**
* 预约信息主表唯一业务ID
*/
@NotBlank(message = "预约信息主表唯一业务ID不能为空")
private String appointmentBizId;
/**
* 预约状态
*/
@NotNull(message = "预约状态不能为空")
private Integer status;
/**
* 通用备注
*/
private String remark;
}
package com.yd.csf.feign.request.appointment;
import com.yd.csf.feign.dto.appointment.*;
import com.yd.question.feign.dto.ApiAnswerSessionsDto;
import lombok.Data;
import java.util.List;
@Data
public class ApiAppointmentEditStorageRequest {
/**
* 预约信息
*/
private ApiAppointmentInfoDto apiAppointmentInfoDto;
/**
* 产品计划信息
*/
private ApiProductPlanInfoDto apiProductPlanInfoDto;
/**
* 投保人信息
*/
private ApiPolicyholderInfoDto apiPolicyholderInfoDto;
/**
* 受保人信息
*/
private ApiInsurantInfoDto apiInsurantInfoDto;
/**
* 受益人列表信息
*/
private List<ApiBeneficiaryInfoDto> apiBeneficiaryInfoDtoList;
/**
* 第二持有人信息
*/
private ApiSecondHolderInfoDto apiSecondHolderInfoDto;
/**
* 健康信息 - 答题会话对象(实际回答问题的内容)集合,对象即ApiAnswerSessionsDto,一个对象一个问卷问题
*/
private List<ApiAnswerSessionsDto> answerSessionsDtoList;
}
package com.yd.csf.feign.request.appointment;
import com.yd.common.dto.PageDto;
import lombok.Data;
@Data
public class ApiAppointmentLogPageRequest extends PageDto {
}
package com.yd.csf.feign.request.common;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class ApiCsfCalculateRequest {
/**
* 计算类型 1-通过中文自动加载全部大写的拼音 2-身份证号码计算性别 3-身份证号码计算生日 4-生日计算年龄 5-身高和体重计算BMI指数 6-身份证号码计算性别/生日/年龄
*/
@NotNull(message = "计算类型不能为空")
private Integer calculateType;
/**
* 计算请求值(单个请求参数值)
*/
private String requestValue;
/**
* 计算请求值列表(多个请求参数值)
*/
private List<String> requestValueList;
}
...@@ -11,7 +11,7 @@ import java.util.List; ...@@ -11,7 +11,7 @@ import java.util.List;
public class ApiAppointmentDetailResponse { public class ApiAppointmentDetailResponse {
/** /**
* 预约状态: 0-暂存 1-待预约, 2-待签署 3-已签署 4-已取消(字典) * 预约状态
*/ */
private Integer status; private Integer status;
......
package com.yd.csf.feign.response.appointment;
import com.yd.csf.feign.dto.appointment.ApiAppointmentReferrerLogDto;
import com.yd.csf.feign.dto.appointment.ApiAppointmentUserSignLogDto;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class ApiAppointmentLogDetailResponse {
/**
* 预约信息日志表主键ID
*/
private Long id;
/**
* 预约信息日志表唯一业务ID
*/
private String appointmentLogBizId;
/**
* 预约信息主表唯一业务ID
*/
private String appointmentBizId;
/**
* 预约编号
*/
private String appointmentNo;
/**
* 关联客户信息表唯一业务ID(冗余字段)
*/
private String customerBizId;
/**
* 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)
*/
private String customerNo;
/**
* 关联FNA信息表唯一业务ID(冗余字段)
*/
private String fnaBizId;
/**
* 关联FNA编号(和FNA信息表唯一业务ID是一对,唯一,冗余字段)
*/
private String fnaNo;
/**
* 关联计划书信息表唯一业务ID(冗余字段)
*/
private String proposalBizId;
/**
* 关联计划书编号(和计划书信息表唯一业务ID是一对,唯一,冗余字段)
*/
private String proposalNo;
/**
* 预约状态: 0-暂存 1-待预约, 2-待签署 3-已签署 4-已取消(字典)
*/
private Integer status;
/**
* 申请类型(字典)
*/
private String applyType;
/**
* 到港时间
*/
private LocalDateTime arrivalTime;
/**
* 离港时间
*/
private LocalDateTime departureTime;
/**
* 会面地点(字典)
*/
private String meetingPoint;
/**
* 签单地址
*/
private String signingAddress;
/**
* 客户在港期间联络电话区号
*/
private String hkMobileCode;
/**
* 客户在港期间联络电话
*/
private String hkMobile;
/**
* 是否开户: 0-否, 1-是(字典)
*/
private Integer isOpenAccount;
/**
* 开户行名称
*/
private String bankName;
/**
* 开户行支行(分行)
*/
private String bankBranchName;
/**
* 开户时间段(开始)
*/
private LocalDateTime openAccountStartTime;
/**
* 开户时间段(结束)
*/
private LocalDateTime openAccountEndTime;
/**
* 开户地点
*/
private String openAccountLocation;
/**
* 开户须知
*/
private String openAccountNotice;
/**
* 是否体检: 0-否, 1-是(字典)
*/
private Integer isTj;
/**
* 是否购买过香港保险: 0-否, 1-是(字典)
*/
private Integer isBuy;
/**
* 转保声明选项(字典)
*/
private String policyTransfer;
/**
* 是否有用车服务:0-否, 1-是(字典)
*/
private Integer isUseCar;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 创建人用户名
*/
private String creatorName;
/**
* 更新人ID
*/
private String updaterId;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 预约-转介人信息日志列表
*/
private List<ApiAppointmentReferrerLogDto> referrerLogDtoList;
/**
* 预约-签单员信息日志列表
*/
private List<ApiAppointmentUserSignLogDto> userSignLogDtoList;
}
package com.yd.csf.feign.response.appointment;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ApiAppointmentLogPageResponse {
/**
* 预约信息日志表主键ID
*/
private Long id;
/**
* 预约信息日志表唯一业务ID
*/
private String appointmentLogBizId;
/**
* 预约信息主表唯一业务ID
*/
private String appointmentBizId;
/**
* 预约状态
*/
private Integer status;
/**
* 通用备注
*/
private String remark;
/**
* 创建人ID
*/
private String creatorId;
/**
* 创建人用户名
*/
private String creatorName;
/**
* 创建时间
*/
private LocalDateTime createTime;
}
package com.yd.csf.feign.response.common;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class ApiCsfCalculateResponse {
/**
* 计算类型 1-通过中文自动加载全部大写的拼音 2-身份证号码计算性别 3-身份证号码计算生日 4-生日计算年龄 5-身高和体重计算BMI指数 6-身份证号码计算性别/生日/年龄
*/
@NotNull(message = "计算类型不能为空")
private Integer calculateType;
/**
* 计算请求值(单个请求参数值)
*/
private String requestValue;
/**
* 计算请求值列表(多个请求参数值)
*/
private List<String> requestValueList;
/**
* 计算返回值
*/
private String responseValue;
}
package com.yd.csf.feign.valid;
/**
* 分组校验接口
*/
public interface GroupValid {
// 非本人时需要校验的组
interface NotSelf {}
// 总是需要校验的组
interface Always {}
}
\ No newline at end of file
package com.yd.csf.service.dao;
import com.yd.csf.service.model.AppointmentLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 预约信息日志表(快照表) Mapper 接口
* </p>
*
* @author zxm
* @since 2025-12-15
*/
public interface AppointmentLogMapper extends BaseMapper<AppointmentLog> {
}
...@@ -2,7 +2,9 @@ package com.yd.csf.service.dao; ...@@ -2,7 +2,9 @@ package com.yd.csf.service.dao;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.feign.request.appointment.ApiAppointmentLogPageRequest;
import com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest; import com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest;
import com.yd.csf.feign.response.appointment.ApiAppointmentLogPageResponse;
import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse; import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse;
import com.yd.csf.feign.dto.appointmentfile.ItineraryDto; import com.yd.csf.feign.dto.appointmentfile.ItineraryDto;
import com.yd.csf.service.model.Appointment; import com.yd.csf.service.model.Appointment;
...@@ -26,4 +28,7 @@ public interface AppointmentMapper extends BaseMapper<Appointment> { ...@@ -26,4 +28,7 @@ public interface AppointmentMapper extends BaseMapper<Appointment> {
ItineraryDto getItineraryDto(@Param("appointmentBizId") String appointmentBizId); ItineraryDto getItineraryDto(@Param("appointmentBizId") String appointmentBizId);
Integer updateDelStatus(@Param("appointmentBizId") String appointmentBizId); Integer updateDelStatus(@Param("appointmentBizId") String appointmentBizId);
IPage<ApiAppointmentLogPageResponse> logPage(@Param("page") Page<ApiAppointmentLogPageResponse> page,
@Param("request") ApiAppointmentLogPageRequest request);
} }
package com.yd.csf.service.dao;
import com.yd.csf.service.model.AppointmentReferrerLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 预约-转介人信息日志表(快照表) Mapper 接口
* </p>
*
* @author zxm
* @since 2025-12-15
*/
public interface AppointmentReferrerLogMapper extends BaseMapper<AppointmentReferrerLog> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.AppointmentReferrer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 预约-转介人信息表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-12-15
*/
public interface AppointmentReferrerMapper extends BaseMapper<AppointmentReferrer> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.AppointmentUserSignLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 预约-签单员信息日志表(快照表) Mapper 接口
* </p>
*
* @author zxm
* @since 2025-12-15
*/
public interface AppointmentUserSignLogMapper extends BaseMapper<AppointmentUserSignLog> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.AppointmentUserSign;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 预约-签单员信息表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-12-15
*/
public interface AppointmentUserSignMapper extends BaseMapper<AppointmentUserSign> {
}
package com.yd.csf.service.dao;
import com.yd.csf.service.model.Taxation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 税务信息表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-12-17
*/
public interface TaxationMapper extends BaseMapper<Taxation> {
}
...@@ -6,10 +6,16 @@ package com.yd.csf.service.enums; ...@@ -6,10 +6,16 @@ package com.yd.csf.service.enums;
public enum AppointmentStatusEnum { public enum AppointmentStatusEnum {
//预约状态枚举 //预约状态枚举
ZC("暂存",0), // ZC("暂存",0),
DYY("待预约",1), // DYY("待预约",1),
DQS("待签署",2), // DQS("待签署",2),
YQS("已签署",3), // YQS("已签署",3),
// YQX("已取消",4),
DWS("待完善",0),
YYZ("预约中",1),
YY_CG("预约成功",2),
YQD("已签单",3),
YQX("已取消",4), YQX("已取消",4),
; ;
......
...@@ -125,6 +125,12 @@ public class Appointment implements Serializable { ...@@ -125,6 +125,12 @@ public class Appointment implements Serializable {
private LocalDateTime confirmAppointmentTime; private LocalDateTime confirmAppointmentTime;
/** /**
* 签单日
*/
@TableField("sign_date")
private LocalDateTime signDate;
/**
* 顾问是否陪同: 0-否, 1-是(字典) * 顾问是否陪同: 0-否, 1-是(字典)
*/ */
@TableField("is_accompany") @TableField("is_accompany")
...@@ -287,6 +293,12 @@ public class Appointment implements Serializable { ...@@ -287,6 +293,12 @@ public class Appointment implements Serializable {
private Integer isUseCar; private Integer isUseCar;
/** /**
* 是否法定受益人
*/
@TableField("is_legal_beneficiary")
private String isLegalBeneficiary;
/**
* 通用备注 * 通用备注
*/ */
@TableField("remark") @TableField("remark")
......
package com.yd.csf.service.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 预约信息日志表(快照表)
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@Getter
@Setter
@TableName("appointment_log")
public class AppointmentLog implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 预约信息日志表唯一业务ID
*/
@TableField("appointment_log_biz_id")
private String appointmentLogBizId;
/**
* 预约信息主表唯一业务ID
*/
@TableField("appointment_biz_id")
private String appointmentBizId;
/**
* 预约编号
*/
@TableField("appointment_no")
private String appointmentNo;
/**
* 关联客户信息表唯一业务ID(冗余字段)
*/
@TableField("customer_biz_id")
private String customerBizId;
/**
* 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)
*/
@TableField("customer_no")
private String customerNo;
/**
* 关联FNA信息表唯一业务ID(冗余字段)
*/
@TableField("fna_biz_id")
private String fnaBizId;
/**
* 关联FNA编号(和FNA信息表唯一业务ID是一对,唯一,冗余字段)
*/
@TableField("fna_no")
private String fnaNo;
/**
* 关联计划书信息表唯一业务ID(冗余字段)
*/
@TableField("proposal_biz_id")
private String proposalBizId;
/**
* 关联计划书编号(和计划书信息表唯一业务ID是一对,唯一,冗余字段)
*/
@TableField("proposal_no")
private String proposalNo;
/**
* 是否有其他预约同时进行: 0-否, 1-是(字典)
*/
@TableField("is_together")
private Integer isTogether;
/**
* 进行同时预约的分组编号
*/
@TableField("together_group_no")
private String togetherGroupNo;
/**
* 进行同时预约的预约编号
*/
@TableField("together_appointment_no")
private String togetherAppointmentNo;
/**
* 预约状态: 0-暂存 1-待预约, 2-待签署 3-已签署 4-已取消(字典)
*/
@TableField("status")
private Integer status;
/**
* 申请类型(字典)
*/
@TableField("apply_type")
private String applyType;
/**
* 业务编号
*/
@TableField("business_no")
private String businessNo;
/**
* 意向预约时间
*/
@TableField("intention_appointment_time")
private LocalDateTime intentionAppointmentTime;
/**
* 确定预约时间
*/
@TableField("confirm_appointment_time")
private LocalDateTime confirmAppointmentTime;
/**
* 顾问是否陪同: 0-否, 1-是(字典)
*/
@TableField("is_accompany")
private Integer isAccompany;
/**
* 陪同顾问姓名(FNA Form有填写,可带入)
*/
@TableField("accompany_name")
private String accompanyName;
/**
* 陪同顾问手机区号
*/
@TableField("accompany_mobile_code")
private String accompanyMobileCode;
/**
* 陪同顾问手机
*/
@TableField("accompany_mobile")
private String accompanyMobile;
/**
* 陪同顾问邮箱
*/
@TableField("accompany_email")
private String accompanyEmail;
/**
* 业务代表1账号
*/
@TableField("business_represent_account1")
private String businessRepresentAccount1;
/**
* 业务代表1姓名
*/
@TableField("business_represent_name1")
private String businessRepresentName1;
/**
* 业务代表1电话号码区号
*/
@TableField("business_represent_mobile1_code")
private String businessRepresentMobile1Code;
/**
* 业务代表1电话号码
*/
@TableField("business_represent_mobile1")
private String businessRepresentMobile1;
/**
* 业务代表1邮箱
*/
@TableField("business_represent_email1")
private String businessRepresentEmail1;
/**
* 到港时间
*/
@TableField("arrival_time")
private LocalDateTime arrivalTime;
/**
* 离港时间
*/
@TableField("departure_time")
private LocalDateTime departureTime;
/**
* 会面地点(字典)
*/
@TableField("meeting_point")
private String meetingPoint;
/**
* 签单地址
*/
@TableField("signing_address")
private String signingAddress;
/**
* 客户在港期间联络电话区号
*/
@TableField("hk_mobile_code")
private String hkMobileCode;
/**
* 客户在港期间联络电话
*/
@TableField("hk_mobile")
private String hkMobile;
/**
* 是否开户: 0-否, 1-是(字典)
*/
@TableField("is_open_account")
private Integer isOpenAccount;
/**
* 开户行名称
*/
@TableField("bank_name")
private String bankName;
/**
* 开户行支行(分行)
*/
@TableField("bank_branch_name")
private String bankBranchName;
/**
* 开户时间段(开始)
*/
@TableField("open_account_start_time")
private LocalDateTime openAccountStartTime;
/**
* 开户时间段(结束)
*/
@TableField("open_account_end_time")
private LocalDateTime openAccountEndTime;
/**
* 开户地点
*/
@TableField("open_account_location")
private String openAccountLocation;
/**
* 开户须知
*/
@TableField("open_account_notice")
private String openAccountNotice;
/**
* 是否体检: 0-否, 1-是(字典)
*/
@TableField("is_tj")
private Integer isTj;
/**
* 是否购买过香港保险: 0-否, 1-是(字典)
*/
@TableField("is_buy")
private Integer isBuy;
/**
* 转保声明选项(字典)
*/
@TableField("policy_transfer")
private String policyTransfer;
/**
* 是否有用车服务:0-否, 1-是(字典)
*/
@TableField("is_use_car")
private Integer isUseCar;
/**
* 通用备注
*/
@TableField("remark")
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Integer isDeleted;
/**
* 创建人ID
*/
@TableField("creator_id")
private String creatorId;
/**
* 创建人用户名
*/
@TableField("creator_name")
private String creatorName;
/**
* 更新人ID
*/
@TableField("updater_id")
private String updaterId;
/**
* 创建时间
*/
@TableField("create_time")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField("update_time")
private LocalDateTime updateTime;
}
package com.yd.csf.service.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 预约-转介人信息表
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@Getter
@Setter
@TableName("appointment_referrer")
public class AppointmentReferrer implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 预约-转介人信息表唯一业务ID
*/
@TableField("appointment_referrer_biz_id")
private String appointmentReferrerBizId;
/**
* 预约信息主表唯一业务ID(关联)
*/
@TableField("appointment_biz_id")
private String appointmentBizId;
/**
* 系统用户-销售用户扩展表唯一业务ID(转介人,冗余)
*/
@TableField("user_sale_biz_id")
private String userSaleBizId;
/**
* 系统用户唯一业务ID(冗余)
*/
@TableField("user_biz_id")
private String userBizId;
/**
* 姓名
*/
@TableField("real_name")
private String realName;
/**
* 手机号
*/
@TableField("phone")
private String phone;
/**
* 邮箱
*/
@TableField("email")
private String email;
/**
* 通用备注
*/
@TableField("remark")
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Integer isDeleted;
/**
* 创建人ID
*/
@TableField("creator_id")
private String creatorId;
/**
* 更新人ID
*/
@TableField("updater_id")
private String updaterId;
/**
* 创建时间
*/
@TableField("create_time")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField("update_time")
private LocalDateTime updateTime;
}
package com.yd.csf.service.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 预约-转介人信息日志表(快照表)
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@Getter
@Setter
@TableName("appointment_referrer_log")
public class AppointmentReferrerLog implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 预约-转介人信息日志表唯一业务ID
*/
@TableField("appointment_referrer_log_biz_id")
private String appointmentReferrerLogBizId;
/**
* 预约信息日志表唯一业务ID
*/
@TableField("appointment_log_biz_id")
private String appointmentLogBizId;
/**
* 系统用户-销售用户扩展表唯一业务ID(转介人,冗余)
*/
@TableField("user_sale_biz_id")
private String userSaleBizId;
/**
* 系统用户唯一业务ID(冗余)
*/
@TableField("user_biz_id")
private String userBizId;
/**
* 姓名
*/
@TableField("real_name")
private String realName;
/**
* 手机号
*/
@TableField("phone")
private String phone;
/**
* 邮箱
*/
@TableField("email")
private String email;
/**
* 通用备注
*/
@TableField("remark")
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Integer isDeleted;
/**
* 创建人ID
*/
@TableField("creator_id")
private String creatorId;
/**
* 更新人ID
*/
@TableField("updater_id")
private String updaterId;
/**
* 创建时间
*/
@TableField("create_time")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField("update_time")
private LocalDateTime updateTime;
}
package com.yd.csf.service.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 预约-签单员信息表
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@Getter
@Setter
@TableName("appointment_user_sign")
public class AppointmentUserSign implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 预约-签单员信息表唯一业务ID
*/
@TableField("appointment_user_sign_biz_id")
private String appointmentUserSignBizId;
/**
* 预约信息主表唯一业务ID(关联)
*/
@TableField("appointment_biz_id")
private String appointmentBizId;
/**
* 签单用户扩展唯一业务ID(冗余)
*/
@TableField("user_sign_biz_id")
private String userSignBizId;
/**
* 系统用户唯一业务ID(冗余)
*/
@TableField("user_biz_id")
private String userBizId;
/**
* 姓名
*/
@TableField("real_name")
private String realName;
/**
* 执业编码
*/
@TableField("practice_code")
private String practiceCode;
/**
* 手机号
*/
@TableField("phone")
private String phone;
/**
* 证件类型
*/
@TableField("card_type")
private String cardType;
/**
* 证件号码
*/
@TableField("card_no")
private String cardNo;
/**
* 邮箱
*/
@TableField("email")
private String email;
/**
* 通用备注
*/
@TableField("remark")
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Integer isDeleted;
/**
* 创建人ID
*/
@TableField("creator_id")
private String creatorId;
/**
* 更新人ID
*/
@TableField("updater_id")
private String updaterId;
/**
* 创建时间
*/
@TableField("create_time")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField("update_time")
private LocalDateTime updateTime;
}
package com.yd.csf.service.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 预约-签单员信息日志表(快照表)
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@Getter
@Setter
@TableName("appointment_user_sign_log")
public class AppointmentUserSignLog implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 预约-签单员信息日志表唯一业务ID
*/
@TableField("appointment_user_sign_log_biz_id")
private String appointmentUserSignLogBizId;
/**
* 预约信息日志表唯一业务ID
*/
@TableField("appointment_log_biz_id")
private String appointmentLogBizId;
/**
* 签单用户扩展唯一业务ID(冗余)
*/
@TableField("user_sign_biz_id")
private String userSignBizId;
/**
* 系统用户唯一业务ID(冗余)
*/
@TableField("user_biz_id")
private String userBizId;
/**
* 姓名
*/
@TableField("real_name")
private String realName;
/**
* 执业编码
*/
@TableField("practice_code")
private String practiceCode;
/**
* 手机号
*/
@TableField("phone")
private String phone;
/**
* 证件类型
*/
@TableField("card_type")
private String cardType;
/**
* 证件号码
*/
@TableField("card_no")
private String cardNo;
/**
* 邮箱
*/
@TableField("email")
private String email;
/**
* 通用备注
*/
@TableField("remark")
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Integer isDeleted;
/**
* 创建人ID
*/
@TableField("creator_id")
private String creatorId;
/**
* 更新人ID
*/
@TableField("updater_id")
private String updaterId;
/**
* 创建时间
*/
@TableField("create_time")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField("update_time")
private LocalDateTime updateTime;
}
...@@ -17,7 +17,7 @@ import java.time.LocalDateTime; ...@@ -17,7 +17,7 @@ import java.time.LocalDateTime;
* </p> * </p>
* *
* @author zxm * @author zxm
* @since 2025-09-02 * @since 2025-12-18
*/ */
@Getter @Getter
@Setter @Setter
...@@ -42,43 +42,25 @@ public class Beneficiary implements Serializable { ...@@ -42,43 +42,25 @@ public class Beneficiary implements Serializable {
private String beneficiaryBizId; private String beneficiaryBizId;
/** /**
* 客户类型(字典)(个人或者公司)
*/
@TableField("customer_type")
private String customerType;
/**
* 与受保人关系(字典) * 与受保人关系(字典)
*/ */
@TableField("insurant_rel") @TableField("insurant_rel")
private String insurantRel; private String insurantRel;
/** /**
* 受益比例 * 姓名-中文
*/
@TableField("benefit_ratio")
private BigDecimal benefitRatio;
/**
* 名字
*/
@TableField("name")
private String name;
/**
* 名字-英文
*/ */
@TableField("name_en") @TableField("name_cn")
private String nameEn; private String nameCn;
/** /**
* 性别(字典 * 姓名-(拼音/英文,通过中文自动加载全部大写的拼音
*/ */
@TableField("gender") @TableField("name_py_en")
private String gender; private String namePyEn;
/** /**
* 证件类型(字典) * 证件类型(字典,下拉选择
*/ */
@TableField("document_type") @TableField("document_type")
private String documentType; private String documentType;
...@@ -90,112 +72,28 @@ public class Beneficiary implements Serializable { ...@@ -90,112 +72,28 @@ public class Beneficiary implements Serializable {
private String idNumber; private String idNumber;
/** /**
* 护照号码 * 性别(字典,如果是身份证,自动获取性别和生日)
*/ */
@TableField("passport_number") @TableField("gender")
private String passportNumber; private String gender;
/**
* 出生日期
*/
@TableField("birth_time")
private LocalDateTime birthTime;
/**
* 公司名称
*/
@TableField("company_name")
private String companyName;
/**
* 公司名称(英文)
*/
@TableField("company_name_en")
private String companyNameEn;
/**
* 公司商业登记号码
*/
@TableField("company_business_no")
private String companyBusinessNo;
/**
* 公司注册日期
*/
@TableField("company_register_time")
private LocalDateTime companyRegisterTime;
/**
* 公司注册地区(字典)
*/
@TableField("company_register_region")
private String companyRegisterRegion;
/**
* 公司电话区号
*/
@TableField("company_mobile_code")
private String companyMobileCode;
/**
* 公司电话
*/
@TableField("company_mobile")
private String companyMobile;
/**
* 公司邮箱
*/
@TableField("company_email")
private String companyEmail;
/**
* 公司登记地址
*/
@TableField("company_enter_address")
private String companyEnterAddress;
/**
* 通讯地址
*/
@TableField("mailing_address")
private String mailingAddress;
/**
* 授权代表姓名中文-名字
*/
@TableField("auth_name_cn")
private String authNameCn;
/**
* 授权代表姓名英文-名字
*/
@TableField("auth_name_en")
private String authNameEn;
/**
* 授权代表职称
*/
@TableField("auth_professional")
private String authProfessional;
/** /**
* 授权代表电话区号 * 出生日期(生日,如果是身份证,自动获取性别和生日)
*/ */
@TableField("auth_mobile_code") @TableField("birthday")
private String authMobileCode; private LocalDateTime birthday;
/** /**
* 授权代表电话 * 国籍(下拉选择)
*/ */
@TableField("auth_mobile") @TableField("nationality")
private String authMobile; private String nationality;
/** /**
* 地址列表(json串) * 受益比例
*/ */
@TableField("address_list") @TableField("benefit_ratio")
private String addressList; private BigDecimal benefitRatio;
/** /**
* 通用备注 * 通用备注
......
package com.yd.csf.service.model; package com.yd.csf.service.model;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/** /**
* <p> * <p>
...@@ -14,7 +17,7 @@ import lombok.Setter; ...@@ -14,7 +17,7 @@ import lombok.Setter;
* </p> * </p>
* *
* @author zxm * @author zxm
* @since 2025-09-01 * @since 2025-12-18
*/ */
@Getter @Getter
@Setter @Setter
...@@ -23,86 +26,95 @@ public class ProductPlan implements Serializable { ...@@ -23,86 +26,95 @@ public class ProductPlan implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* 产品计划信息表主键ID
*/
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
/** /**
* 产品计划信息表唯一业务ID
*/
@TableField("plan_biz_id")
private String planBizId;
/**
* 预约信息主表唯一业务ID * 预约信息主表唯一业务ID
*/ */
@TableField("appointment_biz_id") @TableField("appointment_biz_id")
private String appointmentBizId; private String appointmentBizId;
/** /**
* 产品计划信息表唯一业务ID * 保险公司ID(产品上架信息绑定的保险公司参数)
*/ */
@TableField("plan_biz_id") @TableField("company_id")
private String planBizId; private String companyId;
/** /**
* 保险产品唯一业务ID(中台保险产品业务id,冗余) * 保险公司名称
*/ */
@TableField("product_biz_id") @TableField("company_name")
private String productBizId; private String companyName;
/** /**
* 保险产品名称(中台保险产品名称,冗余 * 保险险种ID(产品上架信息绑定的保险险种参数
*/ */
@TableField("product_name") @TableField("insurance_type_id")
private String productName; private String insuranceTypeId;
/** /**
* 保险公司名称(冗余字段) * 保险险种名称
*/ */
@TableField("company_name") @TableField("insurance_type_name")
private String companyName; private String insuranceTypeName;
/** /**
* 地区(冗余字段) * 产品上架信息表唯一业务ID
*/ */
@TableField("region") @TableField("product_launch_biz_id")
private String region; private String productLaunchBizId;
/** /**
* 货币(字典 * 产品上架信息表名称(标题
*/ */
@TableField("currency") @TableField("product_launch_name")
private String currency; private String productLaunchName;
/** /**
* 供款年期(字典) * 供款期数
*/ */
@TableField("payment_term") @TableField("issue_number")
private String paymentTerm; private String issueNumber;
/** /**
* 付款频率(字典) * 保障年期
*/ */
@TableField("payment_frequency") @TableField("guarantee_period")
private String paymentFrequency; private String guaranteePeriod;
/** /**
* 每期保费 * 保单币种
*/ */
@TableField("each_issue_premium") @TableField("policy_currency")
private BigDecimal eachIssuePremium; private String policyCurrency;
/** /**
* 保 * 保单额度(重疾)
*/ */
@TableField("sum_insured") @TableField("sum_insured")
private BigDecimal sumInsured; private BigDecimal sumInsured;
/** /**
* 是否预缴保费: 0-否, 1-是(字典) * 付款频率(字典)
*/ */
@TableField("is_prepay") @TableField("payment_frequency")
private Integer isPrepay; private String paymentFrequency;
/** /**
* 预付额 * 每期保费
*/ */
@TableField("deductibles") @TableField("each_issue_premium")
private BigDecimal deductibles; private BigDecimal eachIssuePremium;
/** /**
* 首期付款方式(字典) * 首期付款方式(字典)
...@@ -111,40 +123,46 @@ public class ProductPlan implements Serializable { ...@@ -111,40 +123,46 @@ public class ProductPlan implements Serializable {
private String initialPaymentMethod; private String initialPaymentMethod;
/** /**
* 续期付款方式(字典) * 保单征费
*/ */
@TableField("renewal_payment_method") @TableField("policy_levy")
private String renewalPaymentMethod; private BigDecimal policyLevy;
/** /**
* 红利分配方式(字典) * 是否预缴保费: 0-否, 1-是(字典)
*/ */
@TableField("dividend_distribution_method") @TableField("is_prepay")
private String dividendDistributionMethod; private String isPrepay;
/** /**
* 保单日期回溯: 0-否, 1-是(字典) * 是否追溯: 0-否, 1-是(字典)
*/ */
@TableField("is_backtrack") @TableField("is_traceable")
private Integer isBacktrack; private String isTraceable;
/** /**
* 保单生效日 * 保单日期回溯: 0-否, 1-是(字典)
*/ */
@TableField(value = "policy_effective_date",updateStrategy = FieldStrategy.IGNORED) @TableField("is_backtrack")
private LocalDateTime policyEffectiveDate; private String isBacktrack;
/** /**
* 是否参加递增保障权益: 0-否, 1-是(字典) * 是否参加递增保障权益: 0-否, 1-是(字典)
*/ */
@TableField("is_join") @TableField("is_join")
private Integer isJoin; private String isJoin;
/** /**
* 保单征费 * 红利分配方式(字典)
*/ */
@TableField("policy_levy") @TableField("dividend_distribution_method")
private BigDecimal policyLevy; private String dividendDistributionMethod;
/**
* 续期付款方式(字典)
*/
@TableField("renewal_payment_method")
private String renewalPaymentMethod;
/** /**
* 通用备注 * 通用备注
......
...@@ -4,18 +4,19 @@ import com.baomidou.mybatisplus.annotation.IdType; ...@@ -4,18 +4,19 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDateTime;
/** /**
* <p> * <p>
* 第二持有人信息表 * 第二持有人信息表
* </p> * </p>
* *
* @author zxm * @author zxm
* @since 2025-09-01 * @since 2025-12-19
*/ */
@Getter @Getter
@Setter @Setter
...@@ -28,43 +29,37 @@ public class SecondHolder implements Serializable { ...@@ -28,43 +29,37 @@ public class SecondHolder implements Serializable {
private Long id; private Long id;
/** /**
* 预约信息主表唯一业务ID
*/
@TableField("appointment_biz_id")
private String appointmentBizId;
/**
* 第二持有人信息表唯一业务ID * 第二持有人信息表唯一业务ID
*/ */
@TableField("second_holder_biz_id") @TableField("second_holder_biz_id")
private String secondHolderBizId; private String secondHolderBizId;
/** /**
* 与受保人关系(字典) * 预约信息主表唯一业务ID
*/ */
@TableField("insurant_rel") @TableField("appointment_biz_id")
private String insurantRel; private String appointmentBizId;
/** /**
* 名字 * 与受保人关系(字典)
*/ */
@TableField("name") @TableField("insurant_rel")
private String name; private String insurantRel;
/** /**
* 名字-英 * 姓名-中
*/ */
@TableField("name_en") @TableField("name_cn")
private String nameEn; private String nameCn;
/** /**
* 性别(字典 * 姓名-(拼音/英文,通过中文自动加载全部大写的拼音
*/ */
@TableField("gender") @TableField("name_py_en")
private String gender; private String namePyEn;
/** /**
* 证件类型(字典) * 证件类型(字典,下拉选择
*/ */
@TableField("document_type") @TableField("document_type")
private String documentType; private String documentType;
...@@ -76,22 +71,16 @@ public class SecondHolder implements Serializable { ...@@ -76,22 +71,16 @@ public class SecondHolder implements Serializable {
private String idNumber; private String idNumber;
/** /**
* 护照号码 * 性别(字典,如果是身份证,自动获取性别和生日)
*/
@TableField("passport_number")
private String passportNumber;
/**
* 出生日期
*/ */
@TableField("birth_time") @TableField("gender")
private LocalDateTime birthTime; private String gender;
/** /**
* 年龄 * 出生日期(生日,如果是身份证,自动获取性别和生日)
*/ */
@TableField("age") @TableField("birthday")
private String age; private LocalDateTime birthday;
/** /**
* 通用备注 * 通用备注
......
package com.yd.csf.service.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 税务信息表
* </p>
*
* @author zxm
* @since 2025-12-17
*/
@Getter
@Setter
@TableName("taxation")
public class Taxation implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 税务信息表唯一业务ID
*/
@TableField("taxation_biz_id")
private String taxationBizId;
/**
* 对象类型
*/
@TableField("object_type")
private String objectType;
/**
* 对象所属表名(投保人表、受保人表等)
*/
@TableField("object_table_name")
private String objectTableName;
/**
* 对象名
*/
@TableField("object_name")
private String objectName;
/**
* 对象业务ID
*/
@TableField("object_biz_id")
private String objectBizId;
/**
* 税务国家
*/
@TableField("tax_country")
private String taxCountry;
/**
* 税务编号
*/
@TableField("tax_id")
private String taxId;
/**
* 通用备注
*/
@TableField("remark")
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Integer isDeleted;
/**
* 创建人ID
*/
@TableField("creator_id")
private String creatorId;
/**
* 更新人ID
*/
@TableField("updater_id")
private String updaterId;
/**
* 创建时间
*/
@TableField("create_time")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField("update_time")
private LocalDateTime updateTime;
}
package com.yd.csf.service.service;
import com.yd.csf.service.model.AppointmentLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 预约信息日志表(快照表) 服务类
* </p>
*
* @author zxm
* @since 2025-12-15
*/
public interface IAppointmentLogService extends IService<AppointmentLog> {
AppointmentLog queryOne(String appointmentLogBizId);
}
package com.yd.csf.service.service;
import com.yd.csf.service.model.AppointmentReferrerLog;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 预约-转介人信息日志表(快照表) 服务类
* </p>
*
* @author zxm
* @since 2025-12-15
*/
public interface IAppointmentReferrerLogService extends IService<AppointmentReferrerLog> {
List<AppointmentReferrerLog> queryList(String appointmentLogBizId);
}
package com.yd.csf.service.service;
import com.yd.csf.service.model.AppointmentReferrer;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 预约-转介人信息表 服务类
* </p>
*
* @author zxm
* @since 2025-12-15
*/
public interface IAppointmentReferrerService extends IService<AppointmentReferrer> {
Boolean delByAppointmentBizId(String appointmentBizId);
}
...@@ -2,7 +2,9 @@ package com.yd.csf.service.service; ...@@ -2,7 +2,9 @@ package com.yd.csf.service.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.feign.request.appointment.ApiAppointmentLogPageRequest;
import com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest; import com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest;
import com.yd.csf.feign.response.appointment.ApiAppointmentLogPageResponse;
import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse; import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse;
import com.yd.csf.feign.dto.appointmentfile.ItineraryDto; import com.yd.csf.feign.dto.appointmentfile.ItineraryDto;
import com.yd.csf.service.model.Appointment; import com.yd.csf.service.model.Appointment;
...@@ -26,4 +28,7 @@ public interface IAppointmentService extends IService<Appointment> { ...@@ -26,4 +28,7 @@ public interface IAppointmentService extends IService<Appointment> {
ItineraryDto getItineraryDto(String appointmentBizId); ItineraryDto getItineraryDto(String appointmentBizId);
void del(String appointmentBizId); void del(String appointmentBizId);
IPage<ApiAppointmentLogPageResponse> logPage(Page<ApiAppointmentLogPageResponse> page,
ApiAppointmentLogPageRequest request);
} }
package com.yd.csf.service.service;
import com.yd.csf.service.model.AppointmentUserSignLog;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 预约-签单员信息日志表(快照表) 服务类
* </p>
*
* @author zxm
* @since 2025-12-15
*/
public interface IAppointmentUserSignLogService extends IService<AppointmentUserSignLog> {
List<AppointmentUserSignLog> queryList(String appointmentLogBizId);
}
package com.yd.csf.service.service;
import com.yd.csf.service.model.AppointmentUserSign;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 预约-签单员信息表 服务类
* </p>
*
* @author zxm
* @since 2025-12-15
*/
public interface IAppointmentUserSignService extends IService<AppointmentUserSign> {
Boolean delByAppointmentBizId(String appointmentBizId);
}
package com.yd.csf.service.service;
import com.yd.csf.service.model.Taxation;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 税务信息表 服务类
* </p>
*
* @author zxm
* @since 2025-12-17
*/
public interface ITaxationService extends IService<Taxation> {
}
package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.csf.service.model.AppointmentLog;
import com.yd.csf.service.dao.AppointmentLogMapper;
import com.yd.csf.service.service.IAppointmentLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 预约信息日志表(快照表) 服务实现类
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@Service
public class AppointmentLogServiceImpl extends ServiceImpl<AppointmentLogMapper, AppointmentLog> implements IAppointmentLogService {
@Override
public AppointmentLog queryOne(String appointmentLogBizId) {
return this.getOne(new LambdaQueryWrapper<AppointmentLog>().eq(AppointmentLog::getAppointmentLogBizId,appointmentLogBizId));
}
}
package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.csf.service.model.AppointmentReferrerLog;
import com.yd.csf.service.dao.AppointmentReferrerLogMapper;
import com.yd.csf.service.service.IAppointmentReferrerLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 预约-转介人信息日志表(快照表) 服务实现类
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@Service
public class AppointmentReferrerLogServiceImpl extends ServiceImpl<AppointmentReferrerLogMapper, AppointmentReferrerLog> implements IAppointmentReferrerLogService {
@Override
public List<AppointmentReferrerLog> queryList(String appointmentLogBizId) {
return this.baseMapper.selectList(new LambdaQueryWrapper<AppointmentReferrerLog>()
.eq(AppointmentReferrerLog::getAppointmentLogBizId,appointmentLogBizId));
}
}
package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.csf.service.model.AppointmentReferrer;
import com.yd.csf.service.dao.AppointmentReferrerMapper;
import com.yd.csf.service.service.IAppointmentReferrerService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 预约-转介人信息表 服务实现类
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@Service
public class AppointmentReferrerServiceImpl extends ServiceImpl<AppointmentReferrerMapper, AppointmentReferrer> implements IAppointmentReferrerService {
@Override
public Boolean delByAppointmentBizId(String appointmentBizId) {
return this.remove(new LambdaQueryWrapper<AppointmentReferrer>().eq(AppointmentReferrer::getAppointmentBizId,appointmentBizId));
}
}
...@@ -3,7 +3,9 @@ package com.yd.csf.service.service.impl; ...@@ -3,7 +3,9 @@ package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.feign.request.appointment.ApiAppointmentLogPageRequest;
import com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest; import com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest;
import com.yd.csf.feign.response.appointment.ApiAppointmentLogPageResponse;
import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse; import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse;
import com.yd.csf.feign.dto.appointmentfile.ItineraryDto; import com.yd.csf.feign.dto.appointmentfile.ItineraryDto;
import com.yd.csf.service.model.Appointment; import com.yd.csf.service.model.Appointment;
...@@ -63,4 +65,10 @@ public class AppointmentServiceImpl extends ServiceImpl<AppointmentMapper, Appoi ...@@ -63,4 +65,10 @@ public class AppointmentServiceImpl extends ServiceImpl<AppointmentMapper, Appoi
baseMapper.updateDelStatus(appointmentBizId); baseMapper.updateDelStatus(appointmentBizId);
} }
@Override
public IPage<ApiAppointmentLogPageResponse> logPage(Page<ApiAppointmentLogPageResponse> page,
ApiAppointmentLogPageRequest request) {
return baseMapper.logPage(page,request);
}
} }
package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.csf.service.model.AppointmentUserSignLog;
import com.yd.csf.service.dao.AppointmentUserSignLogMapper;
import com.yd.csf.service.service.IAppointmentUserSignLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 预约-签单员信息日志表(快照表) 服务实现类
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@Service
public class AppointmentUserSignLogServiceImpl extends ServiceImpl<AppointmentUserSignLogMapper, AppointmentUserSignLog> implements IAppointmentUserSignLogService {
@Override
public List<AppointmentUserSignLog> queryList(String appointmentLogBizId) {
return this.baseMapper.selectList(new LambdaQueryWrapper<AppointmentUserSignLog>()
.eq(AppointmentUserSignLog::getAppointmentLogBizId,appointmentLogBizId));
}
}
package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.csf.service.model.AppointmentUserSign;
import com.yd.csf.service.dao.AppointmentUserSignMapper;
import com.yd.csf.service.service.IAppointmentUserSignService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 预约-签单员信息表 服务实现类
* </p>
*
* @author zxm
* @since 2025-12-15
*/
@Service
public class AppointmentUserSignServiceImpl extends ServiceImpl<AppointmentUserSignMapper, AppointmentUserSign> implements IAppointmentUserSignService {
@Override
public Boolean delByAppointmentBizId(String appointmentBizId) {
return this.remove(new LambdaQueryWrapper<AppointmentUserSign>().eq(AppointmentUserSign::getAppointmentBizId,appointmentBizId));
}
}
...@@ -104,7 +104,7 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy> ...@@ -104,7 +104,7 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
if (apiProductPlanMainInfoDto != null) { if (apiProductPlanMainInfoDto != null) {
BeanUtils.copyProperties(apiProductPlanMainInfoDto, policy, "policyBizId", "id"); BeanUtils.copyProperties(apiProductPlanMainInfoDto, policy, "policyBizId", "id");
policy.setPaymentPremium(apiProductPlanMainInfoDto.getEachIssuePremium()); policy.setPaymentPremium(apiProductPlanMainInfoDto.getEachIssuePremium());
policy.setIsPrepaid(apiProductPlanMainInfoDto.getIsPrepay()); policy.setIsPrepaid(Integer.parseInt(apiProductPlanMainInfoDto.getIsPrepay()));
policy.setUpdateTime(now); policy.setUpdateTime(now);
// 更新保单 // 更新保单
this.updateById(policy); this.updateById(policy);
......
package com.yd.csf.service.service.impl;
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;
/**
* <p>
* 税务信息表 服务实现类
* </p>
*
* @author zxm
* @since 2025-12-17
*/
@Service
public class TaxationServiceImpl extends ServiceImpl<TaxationMapper, Taxation> implements ITaxationService {
}
...@@ -5,11 +5,11 @@ import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; ...@@ -5,11 +5,11 @@ import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
public class MyBatisPlusCodeGenerator { public class MyBatisPlusCodeGenerator {
public static void main(String[] args) { public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://139.224.145.34:3308/yd_csf?serverTimezone=GMT%2B8", "root", "Zxm7320017") FastAutoGenerator.create("jdbc:mysql://139.224.145.34:3308/yd_csf_v1?serverTimezone=GMT%2B8", "root", "Zxm7320017")
.globalConfig(builder -> { .globalConfig(builder -> {
builder.author("zxm") builder.author("zxm")
// .outputDir("src/main/java/com/yd/csf/service"); .outputDir("src/main/java/com/yd/csf/service");
.outputDir("D:/soft/ideaproject/v2/yd-csf/yd-csf-service/src/main/java"); // .outputDir("D:/soft/ideaproject/v2/yd-csf/yd-csf-service/src/main/java");
}) })
.packageConfig(builder -> { .packageConfig(builder -> {
builder.parent("com.yd.csf.service") builder.parent("com.yd.csf.service")
...@@ -21,7 +21,7 @@ public class MyBatisPlusCodeGenerator { ...@@ -21,7 +21,7 @@ public class MyBatisPlusCodeGenerator {
}) })
.strategyConfig(builder -> { .strategyConfig(builder -> {
builder.addInclude( builder.addInclude(
"expected_fortune_log" "second_holder"
) )
.entityBuilder() .entityBuilder()
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.csf.service.dao.AppointmentLogMapper">
</mapper>
...@@ -81,6 +81,13 @@ ...@@ -81,6 +81,13 @@
limit 1 limit 1
</select> </select>
<select id="logPage" resultType="com.yd.csf.feign.response.appointment.ApiAppointmentLogPageResponse">
select al.* from appointment_log al
<where>
and al.is_deleted = 0
</where>
</select>
<!-- 更新预约状态 --> <!-- 更新预约状态 -->
<update id="updateDelStatus"> <update id="updateDelStatus">
update appointment set is_deleted = 1 where appointment_biz_id = #{appointmentBizId}; update appointment set is_deleted = 1 where appointment_biz_id = #{appointmentBizId};
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.csf.service.dao.AppointmentReferrerLogMapper">
</mapper>
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