Commit c64cbec2 by zhangxingmin

Fixed.gitignore and applied new ignore rules

parent ca3c7262
### 通用开发环境 ###
# IDE 配置
.idea/
.vscode/
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# 编辑器临时文件
*~
~$*
*.tmp
*.bak
*.swp
### 操作系统文件 ###
# macOS
.DS_Store
.AppleDouble
.LSOverride
._*
.Spotlight-V100
.Trashes
# Windows
Thumbs.db
ehthumbs.db
[Dd]esktop.ini
$RECYCLE.BIN/
# Linux
.directory
.trash-*
### 编程语言相关 ###
# Java
*.class
*.jar
*.war
*.ear
*.log
target/
build/
out/
bin/
# Python
__pycache__/
*.pyc
*.pyo
*.pyd
*.pyc
env/
venv/
.python-version
# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnp/
.pnp.js
# C/C++
*.o
*.ko
*.obj
*.exe
*.dll
*.so
*.dylib
# Rust
/target/
**/*.rs.bk
### 构建系统 ###
# Maven
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
# Gradle
.gradle/
build/
!gradle/wrapper/gradle-wrapper.jar
# Android
*.apk
*.ap_
*.dex
*.class
gen/
bin/
### 日志文件 ###
*.log
logs/
*.logs
### 测试文件 ###
coverage/
.nyc_output/
test-results/
### 系统文件 ###
*.cab
*.msi
*.msix
*.msm
*.msp
### 文档文件 ###
*.pdf
*.doc
*.docx
*.xls
*.xlsx
*.ppt
*.pptx
### 压缩文件 ###
*.zip
*.tar.gz
*.7z
*.rar
*.gz
### 自定义规则 ###
# 项目特定文件
.env
config.local.yml
secrets.ini
# 临时文件
temp/
tmp/
dump.rdb
# 大文件
*.large
*.h5
*.dat
# 排除特定文件
**/pom.properties
**/inputFiles.lst
**/createdFiles.lst
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/../../../../../../:\soft\ideaproject\v2\yd-insurance-base\.idea/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
</state>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="yd-insurance-base-api" />
<module name="yd-insurance-base-feign" />
<module name="yd-insurance-base-service" />
</profile>
</annotationProcessing>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/yd-insurance-base-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-insurance-base-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-insurance-base-feign/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-insurance-base-feign/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-insurance-base-service/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/yd-insurance-base-service/src/main/resources" charset="UTF-8" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="yd-releases" />
<option name="name" value="yd-releases" />
<option name="url" value="http://139.224.145.34:8081/repository/yd-maven-public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="http://139.224.145.34:8081/repository/yd-maven-public/" />
</remote-repository>
<remote-repository>
<option name="id" value="yd-snapshots" />
<option name="name" value="yd-snapshots" />
<option name="url" value="http://139.224.145.34:8081/repository/yd-maven-public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
\ No newline at end of file
......@@ -15,6 +15,6 @@ public class BaseApiApplication {
new SpringApplicationBuilder(BaseApiApplication.class)
.properties("spring.application.name="+ ServerNameConstants.ydInsuranceBaseApi)
.build().run(args);
System.out.println("(♥◠‿◠)ノ゙ yd-user-api启动成功 ლ(´ڡ`ლ)゙ ");
System.out.println("(♥◠‿◠)ノ゙ yd-insurance-base-api启动成功 ლ(´ڡ`ლ)゙ ");
}
}
package com.yd.insurance.base.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.insurance.base.api.service.ApiInsuranceAdditionalProductService;
import com.yd.insurance.base.feign.client.ApiInsuranceAdditionalProductFeignClient;
import com.yd.insurance.base.feign.request.ApiInsuranceAdditionalProductAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceAdditionalProductEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceAdditionalProductPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceAdditionalProductDetailResponse;
import com.yd.insurance.base.feign.response.ApiInsuranceAdditionalProductPageResponse;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPageResponse;
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 javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 保险附加产品基础信息
*
* @author zxm
* @since 2025-08-29
*/
@RestController
@RequestMapping("/insuranceAdditionalProduct")
@Validated
public class ApiInsuranceAdditionalProductController implements ApiInsuranceAdditionalProductFeignClient {
@Autowired
private ApiInsuranceAdditionalProductService apiInsuranceAdditionalProductService;
/**
* 保险附加产品分页查询
* @param request
* @return
*/
@Override
public Result<IPage<ApiInsuranceAdditionalProductPageResponse>> page(ApiInsuranceAdditionalProductPageRequest request) {
return apiInsuranceAdditionalProductService.page(request);
}
/**
* 获取保险附加产品详情
* @param additionalProductBizId 保险附加产品唯一标识(业务ID)
* @return
*/
@Override
public Result<ApiInsuranceAdditionalProductDetailResponse> detail(String additionalProductBizId) {
return apiInsuranceAdditionalProductService.detail(additionalProductBizId);
}
/**
* 添加保险附加产品
* @param request
* @return
*/
@Override
public Result add(ApiInsuranceAdditionalProductAddRequest request) {
return apiInsuranceAdditionalProductService.add(request);
}
/**
* 编辑保险附加产品
* @param request
* @return
*/
@Override
public Result edit(ApiInsuranceAdditionalProductEditRequest request) {
return apiInsuranceAdditionalProductService.edit(request);
}
/**
* 删除保险附加产品(逻辑删除)
* @param additionalProductBizId 保险附加产品唯一标识(业务ID)
* @return
*/
@Override
public Result del(String additionalProductBizId) {
return apiInsuranceAdditionalProductService.del(additionalProductBizId);
}
/**
* 编辑保险附加产品状态
* @param additionalProductBizId 保险附加产品唯一标识(业务ID)
* @param status '保险附加产品状态:0=下架,1=在售'
* @return
*/
@Override
public Result editStatus(String additionalProductBizId,Integer status) {
return apiInsuranceAdditionalProductService.editStatus(additionalProductBizId,status);
}
}
package com.yd.insurance.base.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.insurance.base.api.service.ApiInsuranceProductService;
import com.yd.insurance.base.feign.client.ApiInsuranceProductFeignClient;
import com.yd.insurance.base.feign.request.ApiInsuranceProductAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductDetailResponse;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPageResponse;
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 javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 保险产品基础信息
*
* @author zxm
* @since 2025-08-25
*/
@RestController
@RequestMapping("/insuranceProduct")
@Validated
public class ApiInsuranceProductController implements ApiInsuranceProductFeignClient {
@Autowired
private ApiInsuranceProductService apiInsuranceProductService;
/**
* 保险产品分页查询
* @param request
* @return
*/
@Override
public Result<IPage<ApiInsuranceProductPageResponse>> page(ApiInsuranceProductPageRequest request) {
return apiInsuranceProductService.page(request);
}
/**
* 获取保险产品详情
* @param productBizId 保险产品唯一标识(业务ID)
* @return
*/
@Override
public Result<ApiInsuranceProductDetailResponse> detail(String productBizId) {
return apiInsuranceProductService.detail(productBizId);
}
/**
* 添加保险产品
* @param request
* @return
*/
@Override
public Result add(ApiInsuranceProductAddRequest request) {
return apiInsuranceProductService.add(request);
}
/**
* 编辑保险产品
* @param request
* @return
*/
@Override
public Result edit(ApiInsuranceProductEditRequest request) {
return apiInsuranceProductService.edit(request);
}
/**
* 删除保险产品(逻辑删除) TODO
* @param productBizId 保险产品唯一标识(业务ID)
* @return
*/
@Override
public Result del(String productBizId) {
return apiInsuranceProductService.del(productBizId);
}
/**
* 编辑保险产品状态
* @param productBizId 保险产品唯一标识(业务ID)
* @param status '保险产品状态:0=下架,1=在售'
* @return
*/
@Override
public Result editStatus(String productBizId,Integer status) {
return apiInsuranceProductService.editStatus(productBizId,status);
}
}
package com.yd.insurance.base.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.insurance.base.api.service.ApiInsuranceProductPlanService;
import com.yd.insurance.base.feign.client.ApiInsuranceProductPlanFeignClient;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPlanDetailResponse;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPlanPageResponse;
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 javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 保险产品计划信息
*
* @author zxm
* @since 2025-08-25
*/
@RestController
@RequestMapping("/insuranceProductPlan")
@Validated
public class ApiInsuranceProductPlanController implements ApiInsuranceProductPlanFeignClient {
@Autowired
private ApiInsuranceProductPlanService apiInsuranceProductPlanService;
/**
* 保险产品计划分页查询
* @param request
* @return
*/
@Override
public Result<IPage<ApiInsuranceProductPlanPageResponse>> page(ApiInsuranceProductPlanPageRequest request) {
return apiInsuranceProductPlanService.page(request);
}
/**
* 获取保险产品计划详情
* @param planBizId 保险产品计划唯一标识(业务ID)
* @return
*/
@Override
public Result<ApiInsuranceProductPlanDetailResponse> detail(String planBizId) {
return apiInsuranceProductPlanService.detail(planBizId);
}
/**
* 添加保险产品计划
* @param request
* @return
*/
@Override
public Result add(ApiInsuranceProductPlanAddRequest request) {
return apiInsuranceProductPlanService.add(request);
}
/**
* 编辑保险产品计划
* @param request
* @return
*/
@Override
public Result edit(ApiInsuranceProductPlanEditRequest request) {
return apiInsuranceProductPlanService.edit(request);
}
/**
* 删除保险产品计划(逻辑删除)
* @param planBizId 保险产品计划唯一标识(业务ID)
* @return
*/
@Override
public Result del(String planBizId) {
return apiInsuranceProductPlanService.detail(planBizId);
}
/**
* 编辑保险产品计划状态
* @param planBizId 保险产品计划唯一标识(业务ID)
* @param status 状态(0:禁用 1:启用)
* @return
*/
@Override
public Result editStatus(String planBizId, Integer status) {
return apiInsuranceProductPlanService.editStatus(planBizId,status);
}
}
package com.yd.insurance.base.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.insurance.base.api.service.ApiRelTenantInsuranceProductService;
import com.yd.insurance.base.feign.client.ApiRelTenantInsuranceProductFeignClient;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductListAddRequest;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductListPageRequest;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductSelectPageRequest;
import com.yd.insurance.base.feign.response.ApiRelTenantInsuranceProductListPageResponse;
import com.yd.insurance.base.feign.response.ApiRelTenantInsuranceProductSelectPageResponse;
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;
/**
* 租户-保险产品关系信息
*
* @author zxm
* @since 2025-08-25
*/
@RestController
@RequestMapping("/relTenantInsuranceProduct")
@Validated
public class ApiRelTenantInsuranceProductController implements ApiRelTenantInsuranceProductFeignClient {
@Autowired
private ApiRelTenantInsuranceProductService apiRelTenantInsuranceProductService;
/**
* 租户和保险产品关系分页查询
* @param request
* @return
*/
@Override
public Result<IPage<ApiRelTenantInsuranceProductListPageResponse>> page(ApiRelTenantInsuranceProductListPageRequest request) {
return apiRelTenantInsuranceProductService.page(request);
}
/**
* 添加租户和保险产品列表关系
* @param request
* @return
*/
@Override
public Result addProductList(ApiRelTenantInsuranceProductListAddRequest request) {
return apiRelTenantInsuranceProductService.addProductList(request);
}
/**
* 删除租户和保险产品关系
* @param id 租户和保险产品关系表主键id
* @return
*/
@Override
public Result del(Long id) {
return apiRelTenantInsuranceProductService.del(id);
}
/**
* 导入-选择保险产品分页查询(查询当前租户级(当前所属租户绑定的保险产品)或者系统级(全局保险产品在任何地方都适用导入绑定)的保险产品表数据)
* @param request
* @return
*/
@Override
public Result<IPage<ApiRelTenantInsuranceProductSelectPageResponse>> selectProductPage(ApiRelTenantInsuranceProductSelectPageRequest request) {
return apiRelTenantInsuranceProductService.selectProductPage(request);
}
}
......@@ -5,14 +5,14 @@ import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 保险产品基础表 前端控制器
* 保险产品-保险附加产品关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-08-25
* @since 2025-08-29
*/
@RestController
@RequestMapping("/insuranceProduct")
public class InsuranceProductController {
@RequestMapping("/relInsuranceAdditionalProduct")
public class RelInsuranceAdditionalProductController {
}
......@@ -5,14 +5,14 @@ import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 保险产品计划表 前端控制器
* 保险附加产品-部门关系表(多对多关系) 前端控制器
* </p>
*
* @author zxm
* @since 2025-08-25
* @since 2025-08-31
*/
@RestController
@RequestMapping("/insuranceProductPlan")
public class InsuranceProductPlanController {
@RequestMapping("/relInsuranceAdditionalProductDept")
public class RelInsuranceAdditionalProductDeptController {
}
......@@ -5,14 +5,14 @@ import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 组织架构-用户关系表(多对多关系) 前端控制器
* 保险产品-部门关系表(多对多关系) 前端控制器
* </p>
*
* @author zxm
* @since 2025-08-25
* @since 2025-08-27
*/
@RestController
@RequestMapping("/relInsuranceProductCompany")
public class RelInsuranceProductCompanyController {
@RequestMapping("/relInsuranceProductDept")
public class RelInsuranceProductDeptController {
}
package com.yd.insurance.base.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 租户-保险产品关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-08-25
*/
@RestController
@RequestMapping("/relTenantInsuranceProduct")
public class RelTenantInsuranceProductController {
}
package com.yd.insurance.base.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.request.ApiInsuranceAdditionalProductAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceAdditionalProductEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceAdditionalProductPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceAdditionalProductDetailResponse;
import com.yd.insurance.base.feign.response.ApiInsuranceAdditionalProductPageResponse;
public interface ApiInsuranceAdditionalProductService {
Result<IPage<ApiInsuranceAdditionalProductPageResponse>> page(ApiInsuranceAdditionalProductPageRequest request);
Result<ApiInsuranceAdditionalProductDetailResponse> detail(String additionalProductBizId);
Result add(ApiInsuranceAdditionalProductAddRequest request);
Result edit(ApiInsuranceAdditionalProductEditRequest request);
Result del(String additionalProductBizId);
Result editStatus(String additionalProductBizId, Integer status);
}
package com.yd.insurance.base.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPlanDetailResponse;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPlanPageResponse;
public interface ApiInsuranceProductPlanService {
Result<IPage<ApiInsuranceProductPlanPageResponse>> page(ApiInsuranceProductPlanPageRequest request);
Result<ApiInsuranceProductPlanDetailResponse> detail(String planBizId);
Result add(ApiInsuranceProductPlanAddRequest request);
Result edit(ApiInsuranceProductPlanEditRequest request);
Result del(String planBizId);
Result editStatus(String planBizId, Integer status);
}
package com.yd.insurance.base.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.request.ApiInsuranceProductAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductDetailResponse;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPageResponse;
public interface ApiInsuranceProductService {
Result<IPage<ApiInsuranceProductPageResponse>> page(ApiInsuranceProductPageRequest request);
Result<ApiInsuranceProductDetailResponse> detail(String productBizId);
Result add(ApiInsuranceProductAddRequest request);
Result edit(ApiInsuranceProductEditRequest request);
Result del(String productBizId);
Result editStatus(String productBizId, Integer status);
}
package com.yd.insurance.base.api.service;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.dto.CdDeptDto;
import com.yd.insurance.base.feign.dto.SsDeptDto;
import java.util.List;
public interface ApiRelInsuranceAdditionalProductDeptService {
Result updateRelInsuranceAdditionalProductDeptList(Integer type,
String additionalProductBizId,
List<String> deptBizIdList);
Result<List<SsDeptDto>> getSsDeptDtoList(String additionalProductBizId);
Result<List<CdDeptDto>> getCdDeptDtoList(String additionalProductBizId);
}
package com.yd.insurance.base.api.service;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.dto.InsuranceAdditionalProductDto;
import java.util.List;
public interface ApiRelInsuranceAdditionalProductService {
Result updateRelInsuranceAdditionalProductList(String productBizId, List<String> additionalProductBizIdList);
Result<List<InsuranceAdditionalProductDto>> getInsuranceAdditionalProductDtoList(String productBizId);
}
package com.yd.insurance.base.api.service;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.dto.CdDeptDto;
import com.yd.insurance.base.feign.dto.SsDeptDto;
import java.util.List;
public interface ApiRelInsuranceProductDeptService {
Result updateRelInsuranceProductDeptList(Integer type, String productBizId, List<String> deptBizIdList);
Result<List<SsDeptDto>> getSsDeptDtoList(String productBizId);
Result<List<CdDeptDto>> getCdDeptDtoList(String productBizId);
}
package com.yd.insurance.base.api.service;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.dto.PlanDto;
import java.util.List;
public interface ApiRelInsuranceProductPlanService {
Result updateRelInsuranceProductPlanList(String productBizId, List<String> planBizIdList);
Result<List<PlanDto>> getPlanDtoList(String productBizId);
}
package com.yd.insurance.base.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductListAddRequest;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductListPageRequest;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductSelectPageRequest;
import com.yd.insurance.base.feign.response.ApiRelTenantInsuranceProductListPageResponse;
import com.yd.insurance.base.feign.response.ApiRelTenantInsuranceProductSelectPageResponse;
public interface ApiRelTenantInsuranceProductService {
Result<IPage<ApiRelTenantInsuranceProductListPageResponse>> page(ApiRelTenantInsuranceProductListPageRequest request);
Result addProductList(ApiRelTenantInsuranceProductListAddRequest request);
Result del(Long id);
Result<IPage<ApiRelTenantInsuranceProductSelectPageResponse>> selectProductPage(ApiRelTenantInsuranceProductSelectPageRequest request);
Result addSingleRel(String tenantBizId, String roleBizId);
}
package com.yd.insurance.base.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.auth.core.dto.AuthUserDto;
import com.yd.auth.core.utils.SecurityUtil;
import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.insurance.base.api.service.ApiInsuranceProductPlanService;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductDetailResponse;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPlanDetailResponse;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPlanPageResponse;
import com.yd.insurance.base.service.dto.InsuranceProductDto;
import com.yd.insurance.base.service.dto.InsuranceProductPlanDto;
import com.yd.insurance.base.service.enums.ProductDeptEnum;
import com.yd.insurance.base.service.model.InsuranceProduct;
import com.yd.insurance.base.service.model.InsuranceProductPlan;
import com.yd.insurance.base.service.service.IInsuranceProductPlanService;
import com.yd.user.feign.response.reldeptuser.ApiRelTenantDeptUserImportPageResponse;
import com.yd.user.service.model.RelProjectMenu;
import com.yd.user.service.model.SysProject;
import com.yd.user.service.model.SysTenant;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
@Service
public class ApiInsuranceProductPlanServiceImpl implements ApiInsuranceProductPlanService {
@Autowired
private IInsuranceProductPlanService iInsuranceProductPlanService;
/**
* 保险产品计划分页查询
* @param request
* @return
*/
@Override
public Result<IPage<ApiInsuranceProductPlanPageResponse>> page(ApiInsuranceProductPlanPageRequest request) {
Page<ApiInsuranceProductPlanPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiInsuranceProductPlanPageResponse> iPage = iInsuranceProductPlanService.page(page, request);
return Result.success(iPage);
}
/**
* 获取保险产品计划详情
* @param planBizId 保险产品计划唯一标识(业务ID)
* @return
*/
@Override
public Result<ApiInsuranceProductPlanDetailResponse> detail(String planBizId) {
Result<InsuranceProductPlan> result = checkInsuranceProductPlan(planBizId);
InsuranceProductPlan insuranceProductPlan = result.getData();
ApiInsuranceProductPlanDetailResponse response = new ApiInsuranceProductPlanDetailResponse();
BeanUtils.copyProperties(insuranceProductPlan,response);
return Result.success(response);
}
/**
* 添加保险产品计划
* @param request
* @return
*/
@Override
public Result add(ApiInsuranceProductPlanAddRequest request) {
//校验产品计划名称的唯一性
List<InsuranceProductPlan> list = iInsuranceProductPlanService.queryList(InsuranceProductPlanDto.builder().planName(request.getPlanName()).build());
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException(ResultCode.PLAN_NAME_EXISTS.getCode(),ResultCode.PLAN_NAME_EXISTS.getMessage());
}
//新增保险产品
InsuranceProductPlan insuranceProductPlan = new InsuranceProductPlan();
BeanUtils.copyProperties(request,insuranceProductPlan);
insuranceProductPlan.setPlanBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_INSURANCE_PRODUCT_PLAN.getCode()));
iInsuranceProductPlanService.saveOrUpdate(insuranceProductPlan);
return Result.success();
}
/**
* 编辑保险产品计划
* @param request
* @return
*/
@Override
public Result edit(ApiInsuranceProductPlanEditRequest request) {
//校验保险产品计划是否存在
Result<InsuranceProductPlan> result = checkInsuranceProductPlan(request.getPlanBizId());
InsuranceProductPlan insuranceProductPlan = result.getData();
//校验保险产品计划名称的唯一性
List<InsuranceProductPlan> list = iInsuranceProductPlanService.queryList(InsuranceProductPlanDto.builder()
.planName(request.getPlanName())
.planBizId(request.getPlanBizId())
.isExcludeMy(true)
.build());
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException(ResultCode.PRODUCT_NAME_EXISTS.getCode(),ResultCode.PRODUCT_NAME_EXISTS.getMessage());
}
BeanUtils.copyProperties(request,insuranceProductPlan);
iInsuranceProductPlanService.saveOrUpdate(insuranceProductPlan);
return Result.success();
}
/**
* 删除保险产品计划(逻辑删除)
* @param planBizId 保险产品计划唯一标识(业务ID)
* @return
*/
@Override
public Result del(String planBizId) {
InsuranceProductPlan insuranceProductPlan = iInsuranceProductPlanService.queryOne(planBizId);
if (Objects.isNull(insuranceProductPlan)) {
//数据不存在
throw new BusinessException(ResultCode.NULL_ERROR.getCode(),ResultCode.NULL_ERROR.getMessage());
}
iInsuranceProductPlanService.removeByPlanBizId(planBizId);
return Result.success();
}
/**
* 编辑保险产品计划状态
* @param planBizId 保险产品计划唯一标识(业务ID)
* @param status 状态(0:禁用 1:启用)
* @return
*/
@Override
public Result editStatus(String planBizId, Integer status) {
//校验保险产品计划是否存在
Result<InsuranceProductPlan> result = checkInsuranceProductPlan(planBizId);
InsuranceProductPlan insuranceProductPlan = result.getData();
insuranceProductPlan.setStatus(status);
iInsuranceProductPlanService.saveOrUpdate(insuranceProductPlan);
return Result.success();
}
/**
* 校验保险产品计划是否存在
* @param planBizId
* @return
*/
public Result<InsuranceProductPlan> checkInsuranceProductPlan(String planBizId) {
InsuranceProductPlan insuranceProductPlan = iInsuranceProductPlanService.queryOne(planBizId);
if (Objects.isNull(insuranceProductPlan)) {
//数据不存在
throw new BusinessException(ResultCode.NULL_ERROR.getCode(),ResultCode.NULL_ERROR.getMessage());
}
return Result.success(insuranceProductPlan);
}
}
package com.yd.insurance.base.api.service.impl;
import com.yd.common.result.Result;
import com.yd.insurance.base.api.service.ApiRelInsuranceAdditionalProductDeptService;
import com.yd.insurance.base.feign.dto.CdDeptDto;
import com.yd.insurance.base.feign.dto.SsDeptDto;
import com.yd.insurance.base.service.dto.RelInsuranceAdditionalProductDeptDto;
import com.yd.insurance.base.service.enums.ProductDeptEnum;
import com.yd.insurance.base.service.model.RelInsuranceAdditionalProductDept;
import com.yd.insurance.base.service.service.IRelInsuranceAdditionalProductDeptService;
import com.yd.user.service.dto.SysDeptDto;
import com.yd.user.service.model.SysDept;
import com.yd.user.service.service.ISysDeptService;
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.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ApiRelInsuranceAdditionalProductDeptServiceImpl implements ApiRelInsuranceAdditionalProductDeptService {
@Autowired
private IRelInsuranceAdditionalProductDeptService iRelInsuranceAdditionalProductDeptService;
@Autowired
private ISysDeptService iSysDeptService;
/**
* 更新保险附加产品和部门关系数据(先删后增加)
* @param type 更新类型(1-所属保险公司 2-出单公司)
* @param additionalProductBizId 保险附加产品ID(业务id)
* @param deptBizIdList 部门id列表(业务id)
* @return
*/
@Override
public Result updateRelInsuranceAdditionalProductDeptList(Integer type,
String additionalProductBizId,
List<String> deptBizIdList) {
//先删后增加
iRelInsuranceAdditionalProductDeptService.removeByAdditionalProductBizIdAndType(type,additionalProductBizId);
List<RelInsuranceAdditionalProductDept> list = new ArrayList<>();
if (!CollectionUtils.isEmpty(deptBizIdList)) {
//部门唯一标识(业务ID) 列表(选中列表)不为空
list = deptBizIdList.stream().map(bizId -> {
RelInsuranceAdditionalProductDept relInsuranceAdditionalProductDept = new RelInsuranceAdditionalProductDept();
relInsuranceAdditionalProductDept.setType(type);
relInsuranceAdditionalProductDept.setAdditionalProductBizId(additionalProductBizId);
relInsuranceAdditionalProductDept.setDeptBizId(bizId);
return relInsuranceAdditionalProductDept;
}).collect(Collectors.toList());
iRelInsuranceAdditionalProductDeptService.saveOrUpdateBatch(list);
}
return Result.success();
}
/**
* 根据附加产品id查询所属公司对象集合
* @param additionalProductBizId
* @return
*/
@Override
public Result<List<SsDeptDto>> getSsDeptDtoList(String additionalProductBizId) {
List<SsDeptDto> ssDeptDtoList = new ArrayList<>();
List<RelInsuranceAdditionalProductDept> list = iRelInsuranceAdditionalProductDeptService.queryList(RelInsuranceAdditionalProductDeptDto.builder()
.additionalProductBizId(additionalProductBizId)
.type(ProductDeptEnum.SS.getValue())
.build());
if (!CollectionUtils.isEmpty(list)) {
List<String> deptBizIdList = list.stream().map(RelInsuranceAdditionalProductDept::getDeptBizId).collect(Collectors.toList());
List<SysDept> sysDeptList = iSysDeptService.queryList(SysDeptDto.builder()
.deptBizIdList(deptBizIdList)
.build());
if (!CollectionUtils.isEmpty(sysDeptList)) {
ssDeptDtoList = sysDeptList.stream().map(dto -> {
SsDeptDto ssDeptDto = new SsDeptDto();
BeanUtils.copyProperties(dto,ssDeptDto);
return ssDeptDto;
}).collect(Collectors.toList());
}
}
return Result.success(ssDeptDtoList);
}
@Override
public Result<List<CdDeptDto>> getCdDeptDtoList(String additionalProductBizId) {
List<CdDeptDto> cdDeptDtoList = new ArrayList<>();
List<RelInsuranceAdditionalProductDept> list = iRelInsuranceAdditionalProductDeptService.queryList(RelInsuranceAdditionalProductDeptDto.builder()
.additionalProductBizId(additionalProductBizId)
.type(ProductDeptEnum.CD.getValue())
.build());
if (!CollectionUtils.isEmpty(list)) {
List<String> deptBizIdList = list.stream().map(RelInsuranceAdditionalProductDept::getDeptBizId).collect(Collectors.toList());
List<SysDept> sysDeptList = iSysDeptService.queryList(SysDeptDto.builder()
.deptBizIdList(deptBizIdList)
.build());
if (!CollectionUtils.isEmpty(sysDeptList)) {
cdDeptDtoList = sysDeptList.stream().map(dto -> {
CdDeptDto cdDeptDto = new CdDeptDto();
BeanUtils.copyProperties(dto,cdDeptDto);
return cdDeptDto;
}).collect(Collectors.toList());
}
}
return Result.success(cdDeptDtoList);
}
}
package com.yd.insurance.base.api.service.impl;
import com.yd.common.result.Result;
import com.yd.insurance.base.api.service.ApiRelInsuranceAdditionalProductService;
import com.yd.insurance.base.feign.dto.InsuranceAdditionalProductDto;
import com.yd.insurance.base.service.dto.RelInsuranceAdditionalProductDto;
import com.yd.insurance.base.service.model.InsuranceAdditionalProduct;
import com.yd.insurance.base.service.model.RelInsuranceAdditionalProduct;
import com.yd.insurance.base.service.service.IInsuranceAdditionalProductService;
import com.yd.insurance.base.service.service.IRelInsuranceAdditionalProductService;
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.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ApiRelInsuranceAdditionalProductServiceImpl implements ApiRelInsuranceAdditionalProductService {
@Autowired
private IRelInsuranceAdditionalProductService iRelInsuranceAdditionalProductService;
@Autowired
private IInsuranceAdditionalProductService iInsuranceAdditionalProductService;
/**
* 更新保险产品和保险附加产品列表的关系数据(先删后增加)
* @param productBizId
* @param additionalProductBizIdList
* @return
*/
@Override
public Result updateRelInsuranceAdditionalProductList(String productBizId,
List<String> additionalProductBizIdList) {
//先删后增加
iRelInsuranceAdditionalProductService.removeByProductBizId(productBizId);
List<RelInsuranceAdditionalProduct> list = new ArrayList<>();
if (!CollectionUtils.isEmpty(additionalProductBizIdList)) {
//保险附加产品唯一标识(业务ID) 列表(选中列表)不为空
list = additionalProductBizIdList.stream().map(bizId -> {
RelInsuranceAdditionalProduct insuranceAdditionalProduct = new RelInsuranceAdditionalProduct();
insuranceAdditionalProduct.setProductBizId(productBizId);
insuranceAdditionalProduct.setAdditionalProductBizId(bizId);
return insuranceAdditionalProduct;
}).collect(Collectors.toList());
iRelInsuranceAdditionalProductService.saveOrUpdateBatch(list);
}
return Result.success();
}
/**
* 根据产品id获取保险附加产品集合
* @param productBizId
* @return
*/
@Override
public Result<List<InsuranceAdditionalProductDto>> getInsuranceAdditionalProductDtoList(String productBizId) {
List<InsuranceAdditionalProductDto> insuranceAdditionalProductDtoList = new ArrayList<>();
List<RelInsuranceAdditionalProduct> list = iRelInsuranceAdditionalProductService.queryList(RelInsuranceAdditionalProductDto.builder().productBizId(productBizId).build());
if (!CollectionUtils.isEmpty(list)) {
List<String> additionalProductBizIdList = list.stream().map(RelInsuranceAdditionalProduct::getAdditionalProductBizId).collect(Collectors.toList());
List<InsuranceAdditionalProduct> insuranceAdditionalProductList = iInsuranceAdditionalProductService.queryList(com.yd.insurance.base.service.dto.InsuranceAdditionalProductDto.builder()
.additionalProductBizIdList(additionalProductBizIdList)
.build());
if (!CollectionUtils.isEmpty(insuranceAdditionalProductList)) {
insuranceAdditionalProductDtoList = insuranceAdditionalProductList.stream().map(dto -> {
InsuranceAdditionalProductDto insuranceAdditionalProductDto = new InsuranceAdditionalProductDto();
BeanUtils.copyProperties(dto,insuranceAdditionalProductDto);
return insuranceAdditionalProductDto;
}).collect(Collectors.toList());
}
}
return Result.success(insuranceAdditionalProductDtoList);
}
}
package com.yd.insurance.base.api.service.impl;
import com.yd.common.result.Result;
import com.yd.insurance.base.api.service.ApiRelInsuranceProductDeptService;
import com.yd.insurance.base.feign.dto.CdDeptDto;
import com.yd.insurance.base.feign.dto.SsDeptDto;
import com.yd.insurance.base.service.dto.RelInsuranceProductDeptDto;
import com.yd.insurance.base.service.enums.ProductDeptEnum;
import com.yd.insurance.base.service.model.RelInsuranceProductDept;
import com.yd.insurance.base.service.service.IRelInsuranceProductDeptService;
import com.yd.user.service.dto.SysDeptDto;
import com.yd.user.service.model.SysDept;
import com.yd.user.service.service.ISysDeptService;
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.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ApiRelInsuranceProductDeptServiceImpl implements ApiRelInsuranceProductDeptService {
@Autowired
private IRelInsuranceProductDeptService iRelInsuranceProductDeptService;
@Autowired
private ISysDeptService iSysDeptService;
/**
* 更新保险产品和部门关系数据(先删后增加)
* @param type 更新类型(1-所属保险公司 2-出单公司)
* @param productBizId 保险产品ID(业务id)
* @param deptBizIdList 部门id列表(业务id)
* @return
*/
@Override
public Result updateRelInsuranceProductDeptList(Integer type,
String productBizId,
List<String> deptBizIdList) {
//先删后增加
iRelInsuranceProductDeptService.removeByProductBizIdAndType(type,productBizId);
List<RelInsuranceProductDept> list = new ArrayList<>();
if (!CollectionUtils.isEmpty(deptBizIdList)) {
//部门唯一标识(业务ID) 列表(选中列表)不为空
list = deptBizIdList.stream().map(bizId -> {
RelInsuranceProductDept relInsuranceProductDept = new RelInsuranceProductDept();
relInsuranceProductDept.setType(type);
relInsuranceProductDept.setProductBizId(productBizId);
relInsuranceProductDept.setDeptBizId(bizId);
return relInsuranceProductDept;
}).collect(Collectors.toList());
iRelInsuranceProductDeptService.saveOrUpdateBatch(list);
}
return Result.success();
}
/**
* 根据产品id查询所属公司对象集合
* @param productBizId
* @return
*/
@Override
public Result<List<SsDeptDto>> getSsDeptDtoList(String productBizId) {
List<SsDeptDto> ssDeptDtoList = new ArrayList<>();
List<RelInsuranceProductDept> list = iRelInsuranceProductDeptService.queryList(RelInsuranceProductDeptDto.builder()
.productBizId(productBizId)
.type(ProductDeptEnum.SS.getValue())
.build());
if (!CollectionUtils.isEmpty(list)) {
List<String> deptBizIdList = list.stream().map(RelInsuranceProductDept::getDeptBizId).collect(Collectors.toList());
List<SysDept> sysDeptList = iSysDeptService.queryList(SysDeptDto.builder()
.deptBizIdList(deptBizIdList)
.build());
if (!CollectionUtils.isEmpty(sysDeptList)) {
ssDeptDtoList = sysDeptList.stream().map(dto -> {
SsDeptDto ssDeptDto = new SsDeptDto();
BeanUtils.copyProperties(dto,ssDeptDto);
return ssDeptDto;
}).collect(Collectors.toList());
}
}
return Result.success(ssDeptDtoList);
}
/**
* 根据产品id查询出单公司对象集合
* @param productBizId
* @return
*/
@Override
public Result<List<CdDeptDto>> getCdDeptDtoList(String productBizId) {
List<CdDeptDto> cdDeptDtoList = new ArrayList<>();
List<RelInsuranceProductDept> list = iRelInsuranceProductDeptService.queryList(RelInsuranceProductDeptDto.builder()
.productBizId(productBizId)
.type(ProductDeptEnum.CD.getValue())
.build());
if (!CollectionUtils.isEmpty(list)) {
List<String> deptBizIdList = list.stream().map(RelInsuranceProductDept::getDeptBizId).collect(Collectors.toList());
List<SysDept> sysDeptList = iSysDeptService.queryList(SysDeptDto.builder()
.deptBizIdList(deptBizIdList)
.build());
if (!CollectionUtils.isEmpty(sysDeptList)) {
cdDeptDtoList = sysDeptList.stream().map(dto -> {
CdDeptDto cdDeptDto = new CdDeptDto();
BeanUtils.copyProperties(dto,cdDeptDto);
return cdDeptDto;
}).collect(Collectors.toList());
}
}
return Result.success(cdDeptDtoList);
}
}
package com.yd.insurance.base.api.service.impl;
import com.yd.common.result.Result;
import com.yd.insurance.base.api.service.ApiRelInsuranceProductPlanService;
import com.yd.insurance.base.feign.dto.CdDeptDto;
import com.yd.insurance.base.feign.dto.PlanDto;
import com.yd.insurance.base.service.dto.InsuranceProductPlanDto;
import com.yd.insurance.base.service.model.InsuranceProductPlan;
import com.yd.insurance.base.service.model.RelInsuranceProductPlan;
import com.yd.insurance.base.service.service.IInsuranceProductPlanService;
import com.yd.insurance.base.service.service.IRelInsuranceProductPlanService;
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.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ApiRelInsuranceProductPlanServiceImpl implements ApiRelInsuranceProductPlanService {
@Autowired
private IRelInsuranceProductPlanService iRelInsuranceProductPlanService;
@Autowired
private IInsuranceProductPlanService iInsuranceProductPlanService;
/**
* 更新保险产品和保险产品计划列表的关系数据(先删后增加)
* @param productBizId
* @param planBizIdList
* @return
*/
@Override
public Result updateRelInsuranceProductPlanList(String productBizId, List<String> planBizIdList) {
//先删后增加
iRelInsuranceProductPlanService.removeByProductBizId(productBizId);
List<RelInsuranceProductPlan> list = new ArrayList<>();
if (!CollectionUtils.isEmpty(planBizIdList)) {
//产品计划唯一标识(业务ID) 列表(选中列表)不为空
list = planBizIdList.stream().map(bizId -> {
RelInsuranceProductPlan relInsuranceProductPlan = new RelInsuranceProductPlan();
relInsuranceProductPlan.setProductBizId(productBizId);
relInsuranceProductPlan.setPlanBizId(bizId);
return relInsuranceProductPlan;
}).collect(Collectors.toList());
iRelInsuranceProductPlanService.saveOrUpdateBatch(list);
}
return Result.success();
}
/**
* 根据产品id获取计划集合
* @param productBizId
* @return
*/
@Override
public Result<List<PlanDto>> getPlanDtoList(String productBizId) {
List<PlanDto> planDtoList = new ArrayList<>();
List<RelInsuranceProductPlan> list = iRelInsuranceProductPlanService.queryList(productBizId);
if (!CollectionUtils.isEmpty(list)) {
List<String> planBizIdList = list.stream().map(RelInsuranceProductPlan::getPlanBizId).collect(Collectors.toList());
List<InsuranceProductPlan> insuranceProductPlanList = iInsuranceProductPlanService.queryList(InsuranceProductPlanDto.builder()
.planBizIdList(planBizIdList)
.build());
if (!CollectionUtils.isEmpty(insuranceProductPlanList)) {
planDtoList = insuranceProductPlanList.stream().map(dto -> {
PlanDto planDto = new PlanDto();
BeanUtils.copyProperties(dto,planDto);
return planDto;
}).collect(Collectors.toList());
}
}
return Result.success(planDtoList);
}
}
package com.yd.insurance.base.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.insurance.base.api.service.ApiRelTenantInsuranceProductService;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductListAddRequest;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductListPageRequest;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductSelectPageRequest;
import com.yd.insurance.base.feign.response.ApiRelTenantInsuranceProductListPageResponse;
import com.yd.insurance.base.feign.response.ApiRelTenantInsuranceProductSelectPageResponse;
import com.yd.insurance.base.service.model.RelTenantInsuranceProduct;
import com.yd.insurance.base.service.service.IRelTenantInsuranceProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Service
public class ApiRelTenantInsuranceProductServiceImpl implements ApiRelTenantInsuranceProductService {
@Autowired
private IRelTenantInsuranceProductService iRelTenantInsuranceProductService;
/**
* 租户和保险产品关系分页查询
* @param request
* @return
*/
@Override
public Result<IPage<ApiRelTenantInsuranceProductListPageResponse>> page(ApiRelTenantInsuranceProductListPageRequest request) {
Page<ApiRelTenantInsuranceProductListPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiRelTenantInsuranceProductListPageResponse> iPage = iRelTenantInsuranceProductService.page(page, request);
return Result.success(iPage);
}
/**
* 添加租户和保险产品列表关系
* @param request
* @return
*/
@Override
public Result addProductList(ApiRelTenantInsuranceProductListAddRequest request) {
List<RelTenantInsuranceProduct> list = new ArrayList<>();
if (!CollectionUtils.isEmpty(request.getProductBizIdList())) {
//产品唯一标识(业务ID) 列表(选中列表)不为空
list = request.getProductBizIdList().stream().map(bizId -> {
RelTenantInsuranceProduct relTenantInsuranceProduct = new RelTenantInsuranceProduct();
relTenantInsuranceProduct.setTenantBizId(request.getTenantBizId());
relTenantInsuranceProduct.setProductBizId(bizId);
return relTenantInsuranceProduct;
}).collect(Collectors.toList());
iRelTenantInsuranceProductService.saveOrUpdateBatch(list);
}
return Result.success();
}
/**
* 删除租户和保险产品关系
* @param id 租户和保险产品关系表主键id
* @return
*/
@Override
public Result del(Long id) {
RelTenantInsuranceProduct relTenantInsuranceProduct = iRelTenantInsuranceProductService.queryOne(id);
if (Objects.isNull(relTenantInsuranceProduct)) {
//数据不存在
throw new BusinessException(ResultCode.NULL_ERROR.getCode(),ResultCode.NULL_ERROR.getMessage());
}
iRelTenantInsuranceProductService.removeById(relTenantInsuranceProduct.getId());
return Result.success();
}
/**
* 导入-保险产品分页查询
* @param request
* @return
*/
@Override
public Result<IPage<ApiRelTenantInsuranceProductSelectPageResponse>> selectProductPage(ApiRelTenantInsuranceProductSelectPageRequest request) {
Page<ApiRelTenantInsuranceProductSelectPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiRelTenantInsuranceProductSelectPageResponse> iPage = iRelTenantInsuranceProductService.selectProductPage(page, request);
return Result.success(iPage);
}
/**
* 添加-单个租户和保险产品关系
* @param tenantBizId
* @param roleBizId
* @return
*/
@Override
public Result addSingleRel(String tenantBizId, String roleBizId) {
//新增关系
RelTenantInsuranceProduct relTenantInsuranceProduct = new RelTenantInsuranceProduct();
relTenantInsuranceProduct.setTenantBizId(tenantBizId);
relTenantInsuranceProduct.setProductBizId(roleBizId);
iRelTenantInsuranceProductService.saveOrUpdate(relTenantInsuranceProduct);
return Result.success();
}
}
package com.yd.insurance.base.feign.client;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.fallback.ApiInsuranceAdditionalProductFeignFallbackFactory;
import com.yd.insurance.base.feign.request.*;
import com.yd.insurance.base.feign.response.ApiInsuranceAdditionalProductDetailResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 保险基础数据服务-保险附加产品基础信息Feign客户端
*/
@FeignClient(name = "yd-insurance-base-api", fallbackFactory = ApiInsuranceAdditionalProductFeignFallbackFactory.class)
public interface ApiInsuranceAdditionalProductFeignClient {
/**
* 保险附加产品分页查询
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiInsuranceAdditionalProductPageRequest request);
/**
* 获取保险附加产品详情
* @param additionalProductBizId 保险附加产品唯一标识(业务ID)
* @return
*/
@GetMapping("/detail")
Result<ApiInsuranceAdditionalProductDetailResponse> detail(@NotBlank(message = "保险附加产品唯一标识(业务ID)不能为空") @RequestParam(value = "additionalProductBizId") String additionalProductBizId);
/**
* 添加保险附加产品
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiInsuranceAdditionalProductAddRequest request);
/**
* 编辑保险附加产品
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiInsuranceAdditionalProductEditRequest request);
/**
* 删除保险附加产品(逻辑删除)
* @param additionalProductBizId 保险附加产品唯一标识(业务ID)
* @return
*/
@DeleteMapping("/del")
Result del(@RequestParam(value = "additionalProductBizId") String additionalProductBizId);
/**
* 编辑保险附加产品状态
* @param additionalProductBizId 保险附加产品唯一标识(业务ID)
* @param status '保险附加产品状态:0=下架,1=在售'
* @return
*/
@PatchMapping("/edit/status")
Result editStatus(@NotBlank(message = "保险附加产品唯一标识(业务ID)不能为空") @RequestParam(value = "additionalProductBizId") String additionalProductBizId,
@NotNull(message = "状态不能为空") @RequestParam(value = "status") Integer status);
}
package com.yd.insurance.base.feign.client;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.fallback.ApiInsuranceProductFeignFallbackFactory;
import com.yd.insurance.base.feign.request.ApiInsuranceProductAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductDetailResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 保险基础数据服务-保险产品基础信息Feign客户端
*/
@FeignClient(name = "yd-insurance-base-api", fallbackFactory = ApiInsuranceProductFeignFallbackFactory.class)
public interface ApiInsuranceProductFeignClient {
/**
* 保险产品分页查询
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiInsuranceProductPageRequest request);
/**
* 获取保险产品详情
* @param productBizId 保险产品唯一标识(业务ID)
* @return
*/
@GetMapping("/detail")
Result<ApiInsuranceProductDetailResponse> detail(@NotBlank(message = "保险产品唯一标识(业务ID)不能为空") @RequestParam(value = "productBizId") String productBizId);
/**
* 添加保险产品
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiInsuranceProductAddRequest request);
/**
* 编辑保险产品
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiInsuranceProductEditRequest request);
/**
* 删除保险产品(逻辑删除)
* @param productBizId 保险产品唯一标识(业务ID)
* @return
*/
@DeleteMapping("/del")
Result del(@RequestParam(value = "productBizId") String productBizId);
/**
* 编辑保险产品状态
* @param productBizId 保险产品唯一标识(业务ID)
* @param status '保险产品状态:0=下架,1=在售'
* @return
*/
@PatchMapping("/edit/status")
Result editStatus(@NotBlank(message = "保险产品唯一标识(业务ID)不能为空") @RequestParam(value = "productBizId") String productBizId,
@NotNull(message = "状态不能为空") @RequestParam(value = "status") Integer status);
}
package com.yd.insurance.base.feign.client;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.fallback.ApiInsuranceProductPlanFeignFallbackFactory;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPlanDetailResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 保险基础数据服务-保险产品计划信息Feign客户端
*/
@FeignClient(name = "yd-insurance-base-api", fallbackFactory = ApiInsuranceProductPlanFeignFallbackFactory.class)
public interface ApiInsuranceProductPlanFeignClient {
/**
* 保险产品计划分页查询
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiInsuranceProductPlanPageRequest request);
/**
* 获取保险产品计划详情
* @param planBizId 保险产品计划唯一标识(业务ID)
* @return
*/
@GetMapping("/detail")
Result<ApiInsuranceProductPlanDetailResponse> detail(@NotBlank(message = "保险产品计划唯一标识(业务ID)不能为空") @RequestParam(value = "planBizId") String planBizId);
/**
* 添加保险产品计划
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiInsuranceProductPlanAddRequest request);
/**
* 编辑保险产品计划
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiInsuranceProductPlanEditRequest request);
/**
* 删除保险产品计划(逻辑删除)
* @param planBizId 保险产品计划唯一标识(业务ID)
* @return
*/
@DeleteMapping("/del")
Result del(@RequestParam(value = "planBizId") String planBizId);
/**
* 编辑保险产品计划状态
* @param planBizId 保险产品计划唯一标识(业务ID)
* @param status 状态(0:禁用 1:启用)
* @return
*/
@PatchMapping("/edit/status")
Result editStatus(@NotBlank(message = "保险产品计划唯一标识(业务ID)不能为空") @RequestParam(value = "planBizId") String planBizId,
@NotNull(message = "状态不能为空") @RequestParam(value = "status") Integer status);
}
package com.yd.insurance.base.feign.client;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.fallback.ApiRelTenantInsuranceProductFeignFallbackFactory;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductListAddRequest;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductListPageRequest;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductSelectPageRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotNull;
/**
* 保险基础数据服务-租户保险产品关系信息Feign客户端
*/
@FeignClient(name = "yd-insurance-base-api", fallbackFactory = ApiRelTenantInsuranceProductFeignFallbackFactory.class)
public interface ApiRelTenantInsuranceProductFeignClient {
/**
* 租户和保险产品关系分页查询
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiRelTenantInsuranceProductListPageRequest request);
/**
* 添加租户和保险产品列表关系
* @param request
* @return
*/
@PostMapping("/add/product/list")
Result addProductList(@Validated @RequestBody ApiRelTenantInsuranceProductListAddRequest request);
/**
* 删除租户和保险产品关系
* @param id 租户和保险产品关系表主键id
* @return
*/
@DeleteMapping("/del")
Result del(@NotNull(message = "租户和保险产品关系表主键id不能为空") @RequestParam(value = "id") Long id);
/**
* 导入-选择保险产品分页查询(查询当前租户级(当前所属租户绑定的保险产品)或者系统级(全局保险产品在任何地方都适用导入绑定)的保险产品表数据)
* @param request
* @return
*/
@PostMapping("/select/product/page")
Result selectProductPage(@Validated @RequestBody ApiRelTenantInsuranceProductSelectPageRequest request);
}
package com.yd.insurance.base.feign.dto;
import lombok.Data;
@Data
public class CdDeptDto {
/**
* 部门业务id
*/
private String deptBizId;
/**
* 部门名称
*/
private String deptName;
}
package com.yd.insurance.base.feign.dto;
import lombok.Data;
@Data
public class InsuranceAdditionalProductDto {
/**
* 保险附加产品唯一业务ID
*/
private String additionalProductBizId;
/**
* 保险附加产品名称
*/
private String productName;
}
package com.yd.insurance.base.feign.dto;
import lombok.Data;
@Data
public class PlanDto {
/**
* 保险产品计划唯一业务ID
*/
private String planBizId;
/**
* 保险产品计划名称
*/
private String planName;
}
package com.yd.insurance.base.feign.dto;
import lombok.Data;
@Data
public class SsDeptDto {
/**
* 部门业务id
*/
private String deptBizId;
/**
* 部门名称
*/
private String deptName;
}
package com.yd.insurance.base.feign.fallback;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.client.ApiInsuranceAdditionalProductFeignClient;
import com.yd.insurance.base.feign.request.ApiInsuranceAdditionalProductAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceAdditionalProductEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceAdditionalProductPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceAdditionalProductDetailResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 保险基础数据服务-保险附加产品基础信息Feign降级处理
*/
@Slf4j
@Component
public class ApiInsuranceAdditionalProductFeignFallbackFactory implements FallbackFactory<ApiInsuranceAdditionalProductFeignClient> {
@Override
public ApiInsuranceAdditionalProductFeignClient create(Throwable cause) {
return new ApiInsuranceAdditionalProductFeignClient() {
@Override
public Result page(ApiInsuranceAdditionalProductPageRequest request) {
return null;
}
@Override
public Result<ApiInsuranceAdditionalProductDetailResponse> detail(String additionalProductBizId) {
return null;
}
@Override
public Result add(ApiInsuranceAdditionalProductAddRequest request) {
return null;
}
@Override
public Result edit(ApiInsuranceAdditionalProductEditRequest request) {
return null;
}
@Override
public Result del(String additionalProductBizId) {
return null;
}
@Override
public Result editStatus(String additionalProductBizId, Integer status) {
return null;
}
};
}
}
package com.yd.insurance.base.feign.fallback;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.client.ApiInsuranceProductFeignClient;
import com.yd.insurance.base.feign.request.ApiInsuranceProductAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductDetailResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 保险基础数据服务-保险产品基础信息Feign降级处理
*/
@Slf4j
@Component
public class ApiInsuranceProductFeignFallbackFactory implements FallbackFactory<ApiInsuranceProductFeignClient> {
@Override
public ApiInsuranceProductFeignClient create(Throwable cause) {
return new ApiInsuranceProductFeignClient() {
@Override
public Result page(ApiInsuranceProductPageRequest request) {
return null;
}
@Override
public Result<ApiInsuranceProductDetailResponse> detail(String productBizId) {
return null;
}
@Override
public Result add(ApiInsuranceProductAddRequest request) {
return null;
}
@Override
public Result edit(ApiInsuranceProductEditRequest request) {
return null;
}
@Override
public Result del(String productBizId) {
return null;
}
@Override
public Result editStatus(String productBizId,Integer status) {
return null;
}
};
}
}
package com.yd.insurance.base.feign.fallback;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.client.ApiInsuranceProductPlanFeignClient;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanAddRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanEditRequest;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPlanDetailResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 保险基础数据服务-保险产品计划信息Feign降级处理
*/
@Slf4j
@Component
public class ApiInsuranceProductPlanFeignFallbackFactory implements FallbackFactory<ApiInsuranceProductPlanFeignClient> {
@Override
public ApiInsuranceProductPlanFeignClient create(Throwable cause) {
return new ApiInsuranceProductPlanFeignClient() {
@Override
public Result page(ApiInsuranceProductPlanPageRequest request) {
return null;
}
@Override
public Result<ApiInsuranceProductPlanDetailResponse> detail(String planBizId) {
return null;
}
@Override
public Result add(ApiInsuranceProductPlanAddRequest request) {
return null;
}
@Override
public Result edit(ApiInsuranceProductPlanEditRequest request) {
return null;
}
@Override
public Result del(String planBizId) {
return null;
}
@Override
public Result editStatus(String planBizId,Integer status) {
return null;
}
};
}
}
package com.yd.insurance.base.feign.fallback;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.client.ApiRelTenantInsuranceProductFeignClient;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductListAddRequest;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductListPageRequest;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductSelectPageRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 保险基础数据服务-租户保险产品关系信息Feign降级处理
*/
@Slf4j
@Component
public class ApiRelTenantInsuranceProductFeignFallbackFactory implements FallbackFactory<ApiRelTenantInsuranceProductFeignClient> {
@Override
public ApiRelTenantInsuranceProductFeignClient create(Throwable cause) {
return new ApiRelTenantInsuranceProductFeignClient() {
@Override
public Result page(ApiRelTenantInsuranceProductListPageRequest request) {
return null;
}
@Override
public Result addProductList(ApiRelTenantInsuranceProductListAddRequest request) {
return null;
}
@Override
public Result del(Long id) {
return null;
}
@Override
public Result selectProductPage(ApiRelTenantInsuranceProductSelectPageRequest request) {
return null;
}
};
}
}
package com.yd.insurance.base.feign.request;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Data
public class ApiInsuranceAdditionalProductAddRequest {
/**
* 保险附加产品名称
*/
@NotBlank(message = "保险附加产品名称不能为空")
private String productName;
/**
* 保险附加产品类型
*/
@NotBlank(message = "保险附加产品类型不能为空")
private String productType;
/**
* 支持货币
*/
@NotBlank(message = "支持货币不能为空")
private String currency;
/**
* 受保年龄范围
*/
@NotBlank(message = "受保年龄范围不能为空")
private String insuredAgeRange;
/**
* 是否区分吸烟:0=不区分,1=区分
*/
@NotNull(message = "是否区分吸烟不能为空")
private Integer smokingAllowed;
/**
* 保障内容
*/
@NotBlank(message = "保障内容不能为空")
private String coverageContent;
/**
* 基础费率
*/
@NotNull(message = "基础费率不能为空")
private BigDecimal premiumRate;
/**
* 保险附加产品状态:0=下架,1=在售
*/
@NotNull(message = "保险附加产品状态不能为空")
private Integer productStatus;
/**
* 绑定供款年期列表
*/
@NotEmpty(message = "绑定供款年期列表不能为空")
private List<String> paymentTermList;
/**
* 绑定附加产品所属保险公司唯一业务ID列表(部门id集合)
*/
@NotEmpty(message = "绑定附加产品所属保险公司唯一业务ID列表(部门id集合)不能为空")
private List<String> ssDeptBizIdList;
/**
* 绑定保险附加产品出单公司唯一业务ID列表(部门id集合)
*/
private List<String> cdDeptBizIdList;
/**
* 附加产品图片
*/
private String picture;
}
package com.yd.insurance.base.feign.request;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Data
public class ApiInsuranceAdditionalProductEditRequest {
@NotNull(message = "主键id不能为空")
private Long id;
/**
* 保险附加产品唯一业务ID
*/
@NotBlank(message = "保险附加产品唯一业务ID不能为空")
private String additionalProductBizId;
/**
* 保险附加产品名称
*/
@NotBlank(message = "保险附加产品名称不能为空")
private String productName;
/**
* 保险附加产品类型
*/
@NotBlank(message = "保险附加产品类型不能为空")
private String productType;
/**
* 支持货币
*/
@NotBlank(message = "支持货币不能为空")
private String currency;
/**
* 受保年龄范围
*/
@NotBlank(message = "受保年龄范围不能为空")
private String insuredAgeRange;
/**
* 是否区分吸烟:0=不区分,1=区分
*/
@NotNull(message = "是否区分吸烟不能为空")
private Integer smokingAllowed;
/**
* 保障内容
*/
@NotBlank(message = "保障内容不能为空")
private String coverageContent;
/**
* 基础费率
*/
@NotNull(message = "基础费率不能为空")
private BigDecimal premiumRate;
/**
* 保险附加产品状态:0=下架,1=在售
*/
@NotNull(message = "保险附加产品状态不能为空")
private Integer productStatus;
/**
* 绑定供款年期列表
*/
@NotEmpty(message = "绑定供款年期列表不能为空")
private List<String> paymentTermList;
/**
* 绑定附加产品所属保险公司唯一业务ID列表(部门id集合)
*/
@NotEmpty(message = "绑定附加产品所属保险公司唯一业务ID列表(部门id集合)不能为空")
private List<String> ssDeptBizIdList;
/**
* 绑定保险附加产品出单公司唯一业务ID列表(部门id集合)
*/
private List<String> cdDeptBizIdList;
/**
* 附加产品图片
*/
private String picture;
}
package com.yd.insurance.base.feign.request;
import com.yd.common.dto.PageDto;
import lombok.Data;
@Data
public class ApiInsuranceAdditionalProductPageRequest extends PageDto {
/**
* 保险附加产品名称
*/
private String productName;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
}
package com.yd.insurance.base.feign.request;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Data
public class ApiInsuranceProductAddRequest {
/**
* 保险产品名称
*/
@NotBlank(message = "保险产品名称不能为空")
private String productName;
/**
* 保险产品类型
*/
@NotBlank(message = "保险产品类型不能为空")
private String productType;
/**
* 支持货币
*/
@NotBlank(message = "支持货币不能为空")
private String currency;
/**
* 受保年龄范围
*/
@NotBlank(message = "受保年龄范围不能为空")
private String insuredAgeRange;
/**
* 是否区分吸烟:0=不区分,1=区分
*/
@NotNull(message = "是否区分吸烟不能为空")
private Integer smokingAllowed;
/**
* 保障内容
*/
@NotBlank(message = "保障内容不能为空")
private String coverageContent;
/**
* 基础费率
*/
@NotNull(message = "基础费率不能为空")
private BigDecimal premiumRate;
/**
* 保险产品状态:0=下架,1=在售
*/
@NotNull(message = "保险产品状态不能为空")
private Integer productStatus;
/**
* 作用域(1:系统级(全局) 2:租户级 3:项目级)
*/
@NotNull(message = "作用域不能为空")
private Integer scope;
/**
* 所属租户ID(业务id)
*/
private String tenantBizId;
/**
* 所属项目ID(业务id)
*/
private String projectBizId;
/**
* 绑定产品所属保险公司唯一业务ID列表(部门id集合)
*/
@NotEmpty(message = "绑定产品所属保险公司唯一业务ID列表(部门id集合)不能为空")
private List<String> ssDeptBizIdList;
/**
* 绑定供款年期列表
*/
@NotEmpty(message = "绑定供款年期列表不能为空")
private List<String> paymentTermList;
/**
* 绑定保险产品出单公司唯一业务ID列表(部门id集合)
*/
private List<String> cdDeptBizIdList;
/**
* 绑定保险产品计划唯一业务ID列表
*/
private List<String> planBizIdList;
/**
* 绑定保险附加产品唯一业务ID列表
*/
private List<String> additionalProductBizIdList;
/**
* 产品图片
*/
private String picture;
}
package com.yd.insurance.base.feign.request;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Data
public class ApiInsuranceProductEditRequest {
@NotNull(message = "主键id不能为空")
private Long id;
/**
* 保险产品唯一业务ID
*/
@NotBlank(message = "保险产品唯一业务ID不能为空")
private String productBizId;
/**
* 保险产品名称
*/
@NotBlank(message = "保险产品名称不能为空")
private String productName;
/**
* 保险产品类型
*/
@NotBlank(message = "保险产品类型不能为空")
private String productType;
/**
* 支持货币
*/
@NotBlank(message = "支持货币不能为空")
private String currency;
/**
* 受保年龄范围
*/
@NotBlank(message = "受保年龄范围不能为空")
private String insuredAgeRange;
/**
* 是否区分吸烟:0=不区分,1=区分
*/
@NotNull(message = "是否区分吸烟不能为空")
private Integer smokingAllowed;
/**
* 保障内容
*/
@NotBlank(message = "保障内容不能为空")
private String coverageContent;
/**
* 基础费率
*/
@NotNull(message = "基础费率不能为空")
private BigDecimal premiumRate;
/**
* 保险产品状态:0=下架,1=在售
*/
@NotNull(message = "保险产品状态不能为空")
private Integer productStatus;
/**
* 作用域(1:系统级(全局) 2:租户级 3:项目级)
*/
@NotNull(message = "作用域不能为空")
private Integer scope;
/**
* 所属租户ID(业务id)
*/
private String tenantBizId;
/**
* 所属项目ID(业务id)
*/
private String projectBizId;
/**
* 绑定产品所属保险公司唯一业务ID列表(部门id集合)
*/
@NotEmpty(message = "绑定产品所属保险公司唯一业务ID列表(部门id集合)不能为空")
private List<String> ssDeptBizIdList;
/**
* 绑定供款年期列表
*/
@NotEmpty(message = "绑定供款年期列表不能为空")
private List<String> paymentTermList;
/**
* 绑定保险产品出单公司唯一业务ID列表(部门id集合)
*/
private List<String> cdDeptBizIdList;
/**
* 绑定保险产品计划唯一业务ID列表
*/
private List<String> planBizIdList;
/**
* 绑定保险附加产品唯一业务ID列表
*/
private List<String> additionalProductBizIdList;
/**
* 产品图片
*/
private String picture;
}
package com.yd.insurance.base.feign.request;
import com.yd.common.dto.PageDto;
import lombok.Data;
@Data
public class ApiInsuranceProductPageRequest extends PageDto {
/**
* 当前登录用户所属的租户id(当前页面右上角显示的租户)
*/
private String loginTenantBizId;
/**
* 保险产品名称
*/
private String productName;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
}
package com.yd.insurance.base.feign.request;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class ApiInsuranceProductPlanAddRequest {
/**
* 保险产品计划名称
*/
@NotBlank(message = "保险产品计划名称不能为空")
private String planName;
/**
* 状态(0:禁用 1:启用)
*/
@NotNull(message = "状态不能为空")
private Integer status;
/**
* 产品计划图片
*/
private String picture;
}
package com.yd.insurance.base.feign.request;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class ApiInsuranceProductPlanEditRequest {
@NotNull(message = "保险产品计划主键id不能为空")
private Long id;
/**
* 保险产品计划唯一业务ID
*/
@NotBlank(message = "保险产品计划唯一业务ID不能为空")
private String planBizId;
/**
* 保险产品计划名称
*/
@NotBlank(message = "保险产品计划名称不能为空")
private String planName;
/**
* 状态(0:禁用 1:启用)
*/
@NotNull(message = "状态不能为空")
private Integer status;
/**
* 产品计划图片
*/
private String picture;
}
package com.yd.insurance.base.feign.request;
import com.yd.common.dto.PageDto;
import lombok.Data;
@Data
public class ApiInsuranceProductPlanPageRequest extends PageDto {
/**
* 保险产品计划名称
*/
private String planName;
}
package com.yd.insurance.base.feign.request;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@Data
public class ApiRelTenantInsuranceProductListAddRequest{
/**
* 租户唯一标识(业务ID)
*/
@NotBlank(message = "租户唯一标识(业务ID)不能为空")
private String tenantBizId;
/**
* 保险产品唯一标识(业务ID) 列表(选中列表)
*/
@NotEmpty(message = "保险产品唯一标识(业务ID) 列表(选中列表)不能为空")
private List<String> productBizIdList;
}
package com.yd.insurance.base.feign.request;
import com.yd.common.dto.PageDto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class ApiRelTenantInsuranceProductListPageRequest extends PageDto {
/**
* 租户唯一标识(业务ID)
*/
@NotBlank(message = "租户唯一标识(业务ID)不能为空")
private String tenantBizId;
/**
* 保险产品名称
*/
private String productName;
}
package com.yd.insurance.base.feign.request;
import com.yd.common.dto.PageDto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class ApiRelTenantInsuranceProductSelectPageRequest extends PageDto {
/**
* 租户唯一标识(业务ID)
*/
@NotBlank(message = "租户唯一标识(业务ID)不能为空")
private String tenantBizId;
/**
* 保险产品名称
*/
private String productName;
}
package com.yd.insurance.base.feign.response;
import com.yd.insurance.base.feign.dto.CdDeptDto;
import com.yd.insurance.base.feign.dto.PlanDto;
import com.yd.insurance.base.feign.dto.SsDeptDto;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class ApiInsuranceAdditionalProductDetailResponse {
/**
* 保险附加产品主键id
*/
private Long id;
/**
* 保险附加产品唯一业务ID
*/
private String additionalProductBizId;
/**
* 保险附加产品名称
*/
private String productName;
/**
* 保险附加产品类型
*/
private String productType;
/**
* 支持货币
*/
private String currency;
/**
* 供款年期
*/
private String paymentTerm;
/**
* 受保年龄范围
*/
private String insuredAgeRange;
/**
* 是否区分吸烟:0=不区分,1=区分
*/
private Integer smokingAllowed;
/**
* 保障内容
*/
private String coverageContent;
/**
* 基础费率
*/
private BigDecimal premiumRate;
/**
* 保险附加产品状态:0=下架,1=在售
*/
private Integer productStatus;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 更新人ID
*/
private String updaterId;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 绑定供款年期列表
*/
private List<String> paymentTermList;
/**
* 绑定产品所属保险公司对象集合
*/
private List<SsDeptDto> ssDeptDtoList;
/**
* 绑定保险附加产品出单公司对象集合
*/
private List<CdDeptDto> cdDeptDtoList;
/**
* 附加产品图片
*/
private String picture;
}
package com.yd.insurance.base.feign.response;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class ApiInsuranceAdditionalProductPageResponse {
/**
* 保险附加产品主键id
*/
private Long id;
/**
* 保险附加产品唯一业务ID
*/
private String additionalProductBizId;
/**
* 保险附加产品名称
*/
private String productName;
/**
* 保险附加产品类型
*/
private String productType;
/**
* 支持货币
*/
private String currency;
/**
* 供款年期
*/
private String paymentTerm;
/**
* 受保年龄范围
*/
private String insuredAgeRange;
/**
* 是否区分吸烟:0=不区分,1=区分
*/
private Integer smokingAllowed;
/**
* 保障内容
*/
private String coverageContent;
/**
* 基础费率
*/
private BigDecimal premiumRate;
/**
* 保险附加产品状态:0=下架,1=在售
*/
private Integer productStatus;
/**
* 附加产品图片
*/
private String picture;
}
package com.yd.insurance.base.feign.response;
import com.yd.insurance.base.feign.dto.CdDeptDto;
import com.yd.insurance.base.feign.dto.InsuranceAdditionalProductDto;
import com.yd.insurance.base.feign.dto.PlanDto;
import com.yd.insurance.base.feign.dto.SsDeptDto;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class ApiInsuranceProductDetailResponse {
/**
* 保险产品主键id
*/
private Long id;
/**
* 保险产品唯一业务ID
*/
private String productBizId;
/**
* 保险产品名称
*/
private String productName;
/**
* 保险产品类型
*/
private String productType;
/**
* 支持货币
*/
private String currency;
/**
* 供款年期
*/
private String paymentTerm;
/**
* 受保年龄范围
*/
private String insuredAgeRange;
/**
* 是否区分吸烟:0=不区分,1=区分
*/
private Integer smokingAllowed;
/**
* 保障内容
*/
private String coverageContent;
/**
* 基础费率
*/
private BigDecimal premiumRate;
/**
* 保险产品状态:0=下架,1=在售
*/
private Integer productStatus;
/**
* 作用域(1:系统级(全局) 2:租户级 3:项目级)
*/
private Integer scope;
/**
* 所属租户ID(业务id)
*/
private String tenantBizId;
/**
* 所属租户名称
*/
private String tenantName;
/**
* 所属项目ID(业务id)
*/
private String projectBizId;
/**
* 所属项目名称
*/
private String projectName;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 更新人ID
*/
private String updaterId;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 绑定供款年期列表
*/
private List<String> paymentTermList;
/**
* 绑定产品所属保险公司对象集合
*/
private List<SsDeptDto> ssDeptDtoList;
/**
* 绑定保险产品出单公司对象集合
*/
private List<CdDeptDto> cdDeptDtoList;
/**
* 绑定保险产品计划对象集合
*/
private List<PlanDto> planDtoList;
/**
* 绑定保险附加产品对象集合
*/
private List<InsuranceAdditionalProductDto> insuranceAdditionalProductDtoList;
/**
* 产品图片
*/
private String picture;
}
package com.yd.insurance.base.feign.response;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class ApiInsuranceProductPageResponse {
/**
* 保险产品主键id
*/
private Long id;
/**
* 保险产品唯一业务ID
*/
private String productBizId;
/**
* 保险产品名称
*/
private String productName;
/**
* 保险产品类型
*/
private String productType;
/**
* 支持货币
*/
private String currency;
/**
* 供款年期
*/
private String paymentTerm;
/**
* 受保年龄范围
*/
private String insuredAgeRange;
/**
* 是否区分吸烟:0=不区分,1=区分
*/
private Integer smokingAllowed;
/**
* 保障内容
*/
private String coverageContent;
/**
* 基础费率
*/
private BigDecimal premiumRate;
/**
* 保险产品状态:0=下架,1=在售
*/
private Integer productStatus;
/**
* 作用域(1:系统级(全局) 2:租户级 3:项目级)
*/
private Integer scope;
/**
* 所属租户ID(业务id)
*/
private String tenantBizId;
/**
* 所属租户名称
*/
private String tenantName;
/**
* 所属项目ID(业务id)
*/
private String projectBizId;
/**
* 所属项目名称
*/
private String projectName;
/**
* 产品图片
*/
private String picture;
}
package com.yd.insurance.base.feign.response;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
@Data
public class ApiInsuranceProductPlanDetailResponse {
/**
* 保险产品计划主键id
*/
private Long id;
/**
* 保险产品计划唯一业务ID
*/
private String planBizId;
/**
* 保险产品计划名称
*/
private String planName;
/**
* 状态(0:禁用 1:启用)
*/
private Integer status;
/**
* 通用备注
*/
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
private Integer isDeleted;
/**
* 创建人ID
*/
private String creatorId;
/**
* 更新人ID
*/
private String updaterId;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 产品计划图片
*/
private String picture;
}
package com.yd.insurance.base.feign.response;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ApiInsuranceProductPlanPageResponse {
/**
* 保险产品计划主键id
*/
private Long id;
/**
* 保险产品计划唯一业务ID
*/
private String planBizId;
/**
* 保险产品计划名称
*/
private String planName;
/**
* 状态(0:禁用 1:启用)
*/
private Integer status;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 产品计划图片
*/
private String picture;
}
package com.yd.insurance.base.feign.response;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class ApiRelTenantInsuranceProductListPageResponse {
/**
* 租户保险产品关系主键id
*/
private Long id;
/**
* 租户ID(业务id)
*/
private String tenantBizId;
/**
* 保险产品表主键id
*/
private Long productId;
/**
* 保险产品唯一业务ID
*/
private String productBizId;
/**
* 保险产品名称
*/
private String productName;
/**
* 保险产品类型
*/
private String productType;
/**
* 支持货币
*/
private String currency;
/**
* 供款年期
*/
private String paymentTerm;
/**
* 受保年龄范围
*/
private String insuredAgeRange;
/**
* 是否区分吸烟:0=不区分,1=区分
*/
private Integer smokingAllowed;
/**
* 保障内容
*/
private String coverageContent;
/**
* 基础费率
*/
private BigDecimal premiumRate;
/**
* 作用域(1:系统级(全局) 2:租户级 3:项目级)
*/
private Integer scope;
}
package com.yd.insurance.base.feign.response;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class ApiRelTenantInsuranceProductSelectPageResponse {
/**
* 保险产品基础表主键id
*/
private Long id;
/**
* 保险产品唯一业务ID
*/
private String productBizId;
/**
* 保险产品名称
*/
private String productName;
/**
* 保险产品类型
*/
private String productType;
/**
* 支持货币
*/
private String currency;
/**
* 供款年期
*/
private String paymentTerm;
/**
* 受保年龄范围
*/
private String insuredAgeRange;
/**
* 是否区分吸烟:0=不区分,1=区分
*/
private Integer smokingAllowed;
/**
* 保障内容
*/
private String coverageContent;
/**
* 基础费率
*/
private BigDecimal premiumRate;
/**
* 保险产品状态:0=下架,1=在售
*/
private Integer productStatus;
/**
* 作用域(1:系统级(全局) 2:租户级 3:项目级)
*/
private Integer scope;
}
......@@ -56,6 +56,13 @@
<artifactId>yd-insurance-base-feign</artifactId>
</dependency>
<!-- 用户服务 -->
<dependency>
<groupId>com.yd</groupId>
<artifactId>yd-user-service</artifactId>
<version>${project.version}</version>
</dependency>
<!-- 认证模块 -->
<dependency>
<groupId>com.yd</groupId>
......
package com.yd.insurance.base.service.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.time.LocalDateTime;
@Configuration
public class InsuranceBaseMybatisPlusConfig {
/**
* 分页插件配置(必须)
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 使用正确的枚举值 DbType.MYSQL
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
/**
* 自动填充字段配置(如创建时间、更新时间)
*/
@Bean
public MetaObjectHandler metaObjectHandler() {
return new MetaObjectHandler() {
@Override
public void insertFill(MetaObject metaObject) {
this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now());
}
@Override
public void updateFill(MetaObject metaObject) {
this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
}
};
}
}
package com.yd.insurance.base.service.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.insurance.base.feign.request.ApiInsuranceAdditionalProductPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceAdditionalProductPageResponse;
import com.yd.insurance.base.service.model.InsuranceAdditionalProduct;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
* <p>
* 保险附加产品基础表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-08-29
*/
public interface InsuranceAdditionalProductMapper extends BaseMapper<InsuranceAdditionalProduct> {
IPage<ApiInsuranceAdditionalProductPageResponse> page(@Param("page") Page<ApiInsuranceAdditionalProductPageResponse> page,
@Param("request") ApiInsuranceAdditionalProductPageRequest request);
}
package com.yd.insurance.base.service.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPageResponse;
import com.yd.insurance.base.service.model.InsuranceProduct;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
......@@ -13,4 +20,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface InsuranceProductMapper extends BaseMapper<InsuranceProduct> {
IPage<ApiInsuranceProductPageResponse> page(@Param("page") Page<ApiInsuranceProductPageResponse> page,
@Param("request") ApiInsuranceProductPageRequest request,
@Param("isAdmin") Boolean isAdmin,
@Param("projectBizIdList") List<String> projectBizIdList,
@Param("loginTenantBizId") String loginTenantBizId);
}
package com.yd.insurance.base.service.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPlanPageResponse;
import com.yd.insurance.base.service.model.InsuranceProductPlan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
* <p>
......@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface InsuranceProductPlanMapper extends BaseMapper<InsuranceProductPlan> {
IPage<ApiInsuranceProductPlanPageResponse> page(@Param("page") Page<ApiInsuranceProductPlanPageResponse> page,
@Param("request") ApiInsuranceProductPlanPageRequest request);
}
package com.yd.insurance.base.service.dao;
import com.yd.insurance.base.service.model.RelInsuranceProductCompany;
import com.yd.insurance.base.service.model.RelInsuranceAdditionalProductDept;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 组织架构-用户关系表(多对多关系) Mapper 接口
* 保险附加产品-部门关系表(多对多关系) Mapper 接口
* </p>
*
* @author zxm
* @since 2025-08-25
* @since 2025-08-31
*/
public interface RelInsuranceProductCompanyMapper extends BaseMapper<RelInsuranceProductCompany> {
public interface RelInsuranceAdditionalProductDeptMapper extends BaseMapper<RelInsuranceAdditionalProductDept> {
}
package com.yd.insurance.base.service.dao;
import com.yd.insurance.base.service.model.RelInsuranceAdditionalProduct;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 保险产品-保险附加产品关系表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-08-29
*/
public interface RelInsuranceAdditionalProductMapper extends BaseMapper<RelInsuranceAdditionalProduct> {
}
package com.yd.insurance.base.service.dao;
import com.yd.insurance.base.service.model.RelInsuranceProductDept;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 保险产品-部门关系表(多对多关系) Mapper 接口
* </p>
*
* @author zxm
* @since 2025-08-27
*/
public interface RelInsuranceProductDeptMapper extends BaseMapper<RelInsuranceProductDept> {
}
package com.yd.insurance.base.service.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductListPageRequest;
import com.yd.insurance.base.feign.request.ApiRelTenantInsuranceProductSelectPageRequest;
import com.yd.insurance.base.feign.response.ApiRelTenantInsuranceProductListPageResponse;
import com.yd.insurance.base.feign.response.ApiRelTenantInsuranceProductSelectPageResponse;
import com.yd.insurance.base.service.model.RelTenantInsuranceProduct;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
* <p>
......@@ -13,4 +20,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface RelTenantInsuranceProductMapper extends BaseMapper<RelTenantInsuranceProduct> {
IPage<ApiRelTenantInsuranceProductListPageResponse> page(@Param("page") Page<ApiRelTenantInsuranceProductListPageResponse> page,
@Param("request") ApiRelTenantInsuranceProductListPageRequest request);
IPage<ApiRelTenantInsuranceProductSelectPageResponse> selectProductPage(@Param("page") Page<ApiRelTenantInsuranceProductSelectPageResponse> page,
@Param("request") ApiRelTenantInsuranceProductSelectPageRequest request);
}
package com.yd.insurance.base.service.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InsuranceAdditionalProductDto {
/**
* 主键id
*/
private Long id;
/**
* 保险附加产品唯一标识(业务ID)
*/
private String additionalProductBizId;
/**
* 保险附加产品唯一标识(业务ID)集合
*/
private List<String> additionalProductBizIdList;
/**
* 保险附加产品名称
*/
private String productName;
/**
* 查询是否排除当前保险附加产品唯一标识数据,默认false不排除,true的话additionalProductBizId必传
*/
@Builder.Default
private Boolean isExcludeMy = false;
}
package com.yd.insurance.base.service.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InsuranceProductDto {
/**
* 主键id
*/
private Long id;
/**
* 保险产品唯一标识(业务ID)
*/
private String productBizId;
/**
* 保险产品唯一标识(业务ID)集合
*/
private List<String> productBizIdList;
/**
* 保险产品名称
*/
private String productName;
/**
* 查询是否排除当前保险产品唯一标识数据,默认false不排除,true的话productBizId必传
*/
@Builder.Default
private Boolean isExcludeMy = false;
}
package com.yd.insurance.base.service.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InsuranceProductPlanDto {
/**
* 保险产品计划唯一标识(业务ID)集合
*/
private List<String> planBizIdList;
/**
* 主键id
*/
private Long id;
/**
* 保险产品计划唯一标识(业务ID)
*/
private String planBizId;
/**
* 保险产品计划名称
*/
private String planName;
/**
* 查询是否排除当前保险产品计划唯一标识数据,默认false不排除,true的话planBizId必传
*/
@Builder.Default
private Boolean isExcludeMy = false;
}
package com.yd.insurance.base.service.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RelInsuranceAdditionalProductDeptDto {
/**
* 附加产品业务id
*/
private String additionalProductBizId;
/**
* 类型(1-所属保险公司 2-出单公司)
*/
private Integer type;
}
package com.yd.insurance.base.service.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RelInsuranceAdditionalProductDto {
/**
* 产品业务id
*/
private String productBizId;
}
package com.yd.insurance.base.service.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RelInsuranceProductDeptDto {
/**
* 产品业务id
*/
private String productBizId;
/**
* 类型(1-所属保险公司 2-出单公司)
*/
private Integer type;
}
package com.yd.insurance.base.service.enums;
/**
* 保险产品-部门关系类型
*/
public enum ProductDeptEnum {
SS(1,"所属保险公司"),
CD(2,"出单公司"),
;
//值
private Integer value;
//名称
private String name;
//构造函数
ProductDeptEnum(Integer value, String name) {
this.value = value;
this.name = name;
}
public Integer getValue() {
return value;
}
public String getName() {
return name;
}
}
package com.yd.insurance.base.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.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 保险附加产品基础表
* </p>
*
* @author zxm
* @since 2025-08-29
*/
@Getter
@Setter
@TableName("insurance_additional_product")
public class InsuranceAdditionalProduct implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 保险附加产品唯一业务ID
*/
@TableField("additional_product_biz_id")
private String additionalProductBizId;
/**
* 保险附加产品名称
*/
@TableField("product_name")
private String productName;
/**
* 保险附加产品类型
*/
@TableField("product_type")
private String productType;
/**
* 支持货币
*/
@TableField("currency")
private String currency;
/**
* 供款年期
*/
@TableField("payment_term")
private String paymentTerm;
/**
* 受保年龄范围
*/
@TableField("insured_age_range")
private String insuredAgeRange;
/**
* 是否区分吸烟:0=不区分,1=区分
*/
@TableField("smoking_allowed")
private Integer smokingAllowed;
/**
* 保障内容
*/
@TableField("coverage_content")
private String coverageContent;
/**
* 基础费率
*/
@TableField("premium_rate")
private BigDecimal premiumRate;
/**
* 保险附加产品状态:0=下架,1=在售
*/
@TableField("product_status")
private Integer productStatus;
/**
* 附加产品图片
*/
@TableField("picture")
private String picture;
/**
* 通用备注
*/
@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;
}
......@@ -79,7 +79,7 @@ public class InsuranceCompanyExpand implements Serializable {
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Boolean isDeleted;
private Integer isDeleted;
/**
* 创建人ID
......
......@@ -79,7 +79,7 @@ public class InsuranceIntermediaryExpand implements Serializable {
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Boolean isDeleted;
private Integer isDeleted;
/**
* 创建人ID
......
......@@ -68,7 +68,7 @@ public class InsuranceProduct implements Serializable {
* 是否区分吸烟:0=不区分,1=区分
*/
@TableField("smoking_allowed")
private Byte smokingAllowed;
private Integer smokingAllowed;
/**
* 保障内容
......@@ -86,13 +86,13 @@ public class InsuranceProduct implements Serializable {
* 保险产品状态:0=下架,1=在售
*/
@TableField("product_status")
private Byte productStatus;
private Integer productStatus;
/**
* 作用域(1:系统级(全局) 2:租户级 3:项目级)
*/
@TableField("scope")
private Byte scope;
private Integer scope;
/**
* 所属租户ID(业务id)
......@@ -107,6 +107,12 @@ public class InsuranceProduct implements Serializable {
private String projectBizId;
/**
* 产品图片
*/
@TableField("picture")
private String picture;
/**
* 通用备注
*/
@TableField("remark")
......@@ -116,7 +122,7 @@ public class InsuranceProduct implements Serializable {
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Boolean isDeleted;
private Integer isDeleted;
/**
* 创建人ID
......
......@@ -40,6 +40,18 @@ public class InsuranceProductPlan implements Serializable {
private String planName;
/**
* 状态(0:禁用 1:启用)
*/
@TableField("status")
private Integer status;
/**
* 产品计划图片
*/
@TableField("picture")
private String picture;
/**
* 通用备注
*/
@TableField("remark")
......@@ -49,7 +61,7 @@ public class InsuranceProductPlan implements Serializable {
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Boolean isDeleted;
private Integer isDeleted;
/**
* 创建人ID
......
package com.yd.insurance.base.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-08-29
*/
@Getter
@Setter
@TableName("rel_insurance_additional_product")
public class RelInsuranceAdditionalProduct implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 保险产品唯一业务ID
*/
@TableField("product_biz_id")
private String productBizId;
/**
* 保险附加产品唯一业务ID
*/
@TableField("additional_product_biz_id")
private String additionalProductBizId;
/**
* 通用备注
*/
@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;
}
......@@ -11,16 +11,16 @@ import lombok.Setter;
/**
* <p>
* 组织架构-用户关系表(多对多关系)
* 保险附加产品-部门关系表(多对多关系)
* </p>
*
* @author zxm
* @since 2025-08-25
* @since 2025-08-31
*/
@Getter
@Setter
@TableName("rel_insurance_product_company")
public class RelInsuranceProductCompany implements Serializable {
@TableName("rel_insurance_additional_product_dept")
public class RelInsuranceAdditionalProductDept implements Serializable {
private static final long serialVersionUID = 1L;
......@@ -28,34 +28,28 @@ public class RelInsuranceProductCompany implements Serializable {
private Long id;
/**
* 租户ID(业务id)(冗余字段,目的当前关系是发生在哪个作用域下:租户级)
* 保险附加产品ID(业务id)
*/
@TableField("tenant_biz_id")
private String tenantBizId;
@TableField("additional_product_biz_id")
private String additionalProductBizId;
/**
* 项目ID(业务id)(冗余字段,目的当前关系是发生在哪个作用域下:项目级)
*/
@TableField("project_biz_id")
private String projectBizId;
/**
* 组织架构唯一业务ID
* 部门唯一标识(业务ID)
*/
@TableField("dept_biz_id")
private String deptBizId;
/**
* 用户唯一业务ID
* 类型(1-所属保险公司 2-出单公司)
*/
@TableField("user_biz_id")
private String userBizId;
@TableField("type")
private Integer type;
/**
* 状态(0:禁用 1:启用)
*/
@TableField("status")
private Byte status;
private Integer status;
/**
* 通用备注
......@@ -67,7 +61,7 @@ public class RelInsuranceProductCompany implements Serializable {
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Boolean isDeleted;
private Integer isDeleted;
/**
* 创建人ID
......
package com.yd.insurance.base.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-08-27
*/
@Getter
@Setter
@TableName("rel_insurance_product_dept")
public class RelInsuranceProductDept implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 保险产品ID(业务id)
*/
@TableField("product_biz_id")
private String productBizId;
/**
* 部门唯一标识(业务ID)
*/
@TableField("dept_biz_id")
private String deptBizId;
/**
* 类型(1-所属保险公司 2-出单公司)
*/
@TableField("type")
private Integer type;
/**
* 状态(0:禁用 1:启用)
*/
@TableField("status")
private Integer status;
/**
* 通用备注
*/
@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;
}
......@@ -49,7 +49,7 @@ public class RelInsuranceProductPlan implements Serializable {
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Boolean isDeleted;
private Integer isDeleted;
/**
* 创建人ID
......
......@@ -43,7 +43,7 @@ public class RelProjectInsuranceProduct implements Serializable {
* 状态(0:禁用 1:启用)
*/
@TableField("status")
private Byte status;
private Integer status;
/**
* 通用备注
......@@ -55,7 +55,7 @@ public class RelProjectInsuranceProduct implements Serializable {
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Boolean isDeleted;
private Integer isDeleted;
/**
* 创建人ID
......
......@@ -43,7 +43,7 @@ public class RelTenantInsuranceProduct implements Serializable {
* 状态(0:禁用 1:启用)
*/
@TableField("status")
private Byte status;
private Integer status;
/**
* 通用备注
......@@ -55,7 +55,7 @@ public class RelTenantInsuranceProduct implements Serializable {
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Boolean isDeleted;
private Integer isDeleted;
/**
* 创建人ID
......
......@@ -55,7 +55,7 @@ public class UserSaleExpand implements Serializable {
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Boolean isDeleted;
private Integer isDeleted;
/**
* 创建人ID
......
......@@ -55,7 +55,7 @@ public class UserSignExpand implements Serializable {
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Boolean isDeleted;
private Integer isDeleted;
/**
* 创建人ID
......
package com.yd.insurance.base.service.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.insurance.base.feign.request.ApiInsuranceAdditionalProductPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceAdditionalProductPageResponse;
import com.yd.insurance.base.service.dto.InsuranceAdditionalProductDto;
import com.yd.insurance.base.service.dto.InsuranceProductDto;
import com.yd.insurance.base.service.model.InsuranceAdditionalProduct;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.insurance.base.service.model.InsuranceProduct;
import java.util.List;
/**
* <p>
* 保险附加产品基础表 服务类
* </p>
*
* @author zxm
* @since 2025-08-29
*/
public interface IInsuranceAdditionalProductService extends IService<InsuranceAdditionalProduct> {
IPage<ApiInsuranceAdditionalProductPageResponse> page(Page<ApiInsuranceAdditionalProductPageResponse> page,
ApiInsuranceAdditionalProductPageRequest request);
InsuranceAdditionalProduct queryOne(String additionalProductBizId);
List<InsuranceAdditionalProduct> queryList(InsuranceAdditionalProductDto dto);
}
package com.yd.insurance.base.service.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPlanPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPlanPageResponse;
import com.yd.insurance.base.service.dto.InsuranceProductPlanDto;
import com.yd.insurance.base.service.model.InsuranceProductPlan;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 保险产品计划表 服务类
......@@ -13,4 +20,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IInsuranceProductPlanService extends IService<InsuranceProductPlan> {
List<InsuranceProductPlan> queryList(InsuranceProductPlanDto dto);
InsuranceProductPlan queryOne(String planBizId);
IPage<ApiInsuranceProductPlanPageResponse> page(Page<ApiInsuranceProductPlanPageResponse> page,
ApiInsuranceProductPlanPageRequest request);
Boolean removeByPlanBizId(String planBizId);
}
package com.yd.insurance.base.service.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.insurance.base.feign.request.ApiInsuranceProductPageRequest;
import com.yd.insurance.base.feign.response.ApiInsuranceProductPageResponse;
import com.yd.insurance.base.service.dto.InsuranceProductDto;
import com.yd.insurance.base.service.model.InsuranceProduct;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.user.service.dto.SysRoleDto;
import com.yd.user.service.model.SysRole;
import java.util.List;
/**
* <p>
......@@ -13,4 +22,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IInsuranceProductService extends IService<InsuranceProduct> {
IPage<ApiInsuranceProductPageResponse> page(Page<ApiInsuranceProductPageResponse> page,
ApiInsuranceProductPageRequest request,
Boolean isAdmin,
List<String> projectBizIdList,
String loginTenantBizId);
InsuranceProduct queryOne(String productBizId);
List<InsuranceProduct> queryList(InsuranceProductDto dto);
}
package com.yd.insurance.base.service.service;
import com.yd.insurance.base.service.dto.RelInsuranceAdditionalProductDeptDto;
import com.yd.insurance.base.service.dto.RelInsuranceProductDeptDto;
import com.yd.insurance.base.service.model.RelInsuranceAdditionalProductDept;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.insurance.base.service.model.RelInsuranceProductDept;
import java.util.List;
/**
* <p>
* 保险附加产品-部门关系表(多对多关系) 服务类
* </p>
*
* @author zxm
* @since 2025-08-31
*/
public interface IRelInsuranceAdditionalProductDeptService extends IService<RelInsuranceAdditionalProductDept> {
Boolean removeByAdditionalProductBizIdAndType(Integer type,String additionalProductBizId);
List<RelInsuranceAdditionalProductDept> queryList(RelInsuranceAdditionalProductDeptDto dto);
}
package com.yd.insurance.base.service.service;
import com.yd.insurance.base.service.dto.RelInsuranceAdditionalProductDto;
import com.yd.insurance.base.service.model.RelInsuranceAdditionalProduct;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 保险产品-保险附加产品关系表 服务类
* </p>
*
* @author zxm
* @since 2025-08-29
*/
public interface IRelInsuranceAdditionalProductService extends IService<RelInsuranceAdditionalProduct> {
Boolean removeByProductBizId(String productBizId);
List<RelInsuranceAdditionalProduct> queryList(RelInsuranceAdditionalProductDto dto);
}
package com.yd.insurance.base.service.service;
import com.yd.insurance.base.service.model.RelInsuranceProductCompany;
import com.yd.insurance.base.service.dto.RelInsuranceProductDeptDto;
import com.yd.insurance.base.service.model.RelInsuranceProductDept;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 组织架构-用户关系表(多对多关系) 服务类
* 保险产品-部门关系表(多对多关系) 服务类
* </p>
*
* @author zxm
* @since 2025-08-25
* @since 2025-08-27
*/
public interface IRelInsuranceProductCompanyService extends IService<RelInsuranceProductCompany> {
public interface IRelInsuranceProductDeptService extends IService<RelInsuranceProductDept> {
Boolean removeByProductBizIdAndType(Integer type,String productBizId);
List<RelInsuranceProductDept> queryList(RelInsuranceProductDeptDto dto);
}
......@@ -3,6 +3,8 @@ package com.yd.insurance.base.service.service;
import com.yd.insurance.base.service.model.RelInsuranceProductPlan;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 保险产品-保险产品计划关联表(支撑多产品组合计划) 服务类
......@@ -13,4 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IRelInsuranceProductPlanService extends IService<RelInsuranceProductPlan> {
Boolean removeByProductBizId(String productBizId);
List<RelInsuranceProductPlan> queryList(String productBizId);
}
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