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 { ...@@ -15,6 +15,6 @@ public class BaseApiApplication {
new SpringApplicationBuilder(BaseApiApplication.class) new SpringApplicationBuilder(BaseApiApplication.class)
.properties("spring.application.name="+ ServerNameConstants.ydInsuranceBaseApi) .properties("spring.application.name="+ ServerNameConstants.ydInsuranceBaseApi)
.build().run(args); .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; ...@@ -5,14 +5,14 @@ import org.springframework.web.bind.annotation.RestController;
/** /**
* <p> * <p>
* 保险产品基础表 前端控制器 * 保险产品-保险附加产品关系表 前端控制器
* </p> * </p>
* *
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-29
*/ */
@RestController @RestController
@RequestMapping("/insuranceProduct") @RequestMapping("/relInsuranceAdditionalProduct")
public class InsuranceProductController { public class RelInsuranceAdditionalProductController {
} }
...@@ -5,14 +5,14 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -5,14 +5,14 @@ import org.springframework.web.bind.annotation.RestController;
/** /**
* <p> * <p>
* 保险产品计划表 前端控制器 * 保险附加产品-部门关系表(多对多关系) 前端控制器
* </p> * </p>
* *
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-31
*/ */
@RestController @RestController
@RequestMapping("/insuranceProductPlan") @RequestMapping("/relInsuranceAdditionalProductDept")
public class InsuranceProductPlanController { public class RelInsuranceAdditionalProductDeptController {
} }
...@@ -5,14 +5,14 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -5,14 +5,14 @@ import org.springframework.web.bind.annotation.RestController;
/** /**
* <p> * <p>
* 组织架构-用户关系表(多对多关系) 前端控制器 * 保险产品-部门关系表(多对多关系) 前端控制器
* </p> * </p>
* *
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-27
*/ */
@RestController @RestController
@RequestMapping("/relInsuranceProductCompany") @RequestMapping("/relInsuranceProductDept")
public class RelInsuranceProductCompanyController { 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.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.ApiInsuranceAdditionalProductService;
import com.yd.insurance.base.api.service.ApiRelInsuranceAdditionalProductDeptService;
import com.yd.insurance.base.api.service.ApiRelInsuranceAdditionalProductService;
import com.yd.insurance.base.feign.dto.CdDeptDto;
import com.yd.insurance.base.feign.dto.SsDeptDto;
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.service.dto.InsuranceAdditionalProductDto;
import com.yd.insurance.base.service.enums.ProductDeptEnum;
import com.yd.insurance.base.service.model.InsuranceAdditionalProduct;
import com.yd.insurance.base.service.service.IInsuranceAdditionalProductService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Slf4j
@Service
public class ApiInsuranceAdditionalProductServiceImpl implements ApiInsuranceAdditionalProductService {
@Autowired
private IInsuranceAdditionalProductService iInsuranceAdditionalProductService;
@Autowired
private ApiRelInsuranceAdditionalProductDeptService apiRelInsuranceAdditionalProductDeptService;
/**
* 保险附加产品分页查询
* @param request
* @return
*/
@Override
public Result<IPage<ApiInsuranceAdditionalProductPageResponse>> page(ApiInsuranceAdditionalProductPageRequest request) {
Page<ApiInsuranceAdditionalProductPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiInsuranceAdditionalProductPageResponse> iPage = iInsuranceAdditionalProductService.page(page, request);
return Result.success(iPage);
}
/**
* 获取保险附加产品详情
* @param additionalProductBizId 保险附加产品唯一标识(业务ID)
* @return
*/
@Override
public Result<ApiInsuranceAdditionalProductDetailResponse> detail(String additionalProductBizId) {
Result<InsuranceAdditionalProduct> result = checkInsuranceAdditionalProductIsExist(additionalProductBizId);
InsuranceAdditionalProduct insuranceAdditionalProduct = result.getData();
ApiInsuranceAdditionalProductDetailResponse response = new ApiInsuranceAdditionalProductDetailResponse();
BeanUtils.copyProperties(insuranceAdditionalProduct,response);
if (StringUtils.isNotBlank(response.getPaymentTerm())) {
//绑定供款年期列表
List<String> paymentTermList = Arrays.stream(response.getPaymentTerm().split(","))
.collect(Collectors.toList());
response.setPaymentTermList(paymentTermList);
}
ApiInsuranceAdditionalProductDetailResponse response1 = detailExpand(additionalProductBizId);
response.setSsDeptDtoList(response1.getSsDeptDtoList());
response.setCdDeptDtoList(response1.getCdDeptDtoList());
return Result.success(response);
}
/**
* 添加保险附加产品
* @param request
* @return
*/
@Override
public Result add(ApiInsuranceAdditionalProductAddRequest request) {
//校验保险附加产品名称的唯一性
List<InsuranceAdditionalProduct> list = iInsuranceAdditionalProductService.queryList(InsuranceAdditionalProductDto.builder().productName(request.getProductName()).build());
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException(ResultCode.ADDITIONAL_PRODUCT_NAME_EXISTS.getCode(),ResultCode.ADDITIONAL_PRODUCT_NAME_EXISTS.getMessage());
}
//新增保险附加产品
InsuranceAdditionalProduct insuranceAdditionalProduct = new InsuranceAdditionalProduct();
BeanUtils.copyProperties(request,insuranceAdditionalProduct);
insuranceAdditionalProduct.setAdditionalProductBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_INSURANCE_ADDITIONAL_PRODUCT.getCode()));
if (!CollectionUtils.isEmpty(request.getPaymentTermList())) {
//绑定供款年期列表转成逗号分隔的字符串
insuranceAdditionalProduct.setPaymentTerm(String.join(",", request.getPaymentTermList()));
}
iInsuranceAdditionalProductService.saveOrUpdate(insuranceAdditionalProduct);
//更新绑定附加产品所属保险公司唯一业务ID列表(部门id集合)
apiRelInsuranceAdditionalProductDeptService.updateRelInsuranceAdditionalProductDeptList(ProductDeptEnum.SS.getValue(),
insuranceAdditionalProduct.getAdditionalProductBizId(),
request.getSsDeptBizIdList());
//更新绑定的保险附加产品出单公司列表数据(部门id集合)
apiRelInsuranceAdditionalProductDeptService.updateRelInsuranceAdditionalProductDeptList(ProductDeptEnum.CD.getValue(),
insuranceAdditionalProduct.getAdditionalProductBizId(),
request.getCdDeptBizIdList());
return Result.success();
}
/**
* 编辑保险附加产品
* @param request
* @return
*/
@Override
public Result edit(ApiInsuranceAdditionalProductEditRequest request) {
//校验保险附加产品是否存在
Result<InsuranceAdditionalProduct> result = checkInsuranceAdditionalProductIsExist(request.getAdditionalProductBizId());
InsuranceAdditionalProduct insuranceAdditionalProduct = result.getData();
//校验保险附加产品名称的唯一性
List<InsuranceAdditionalProduct> list = iInsuranceAdditionalProductService.queryList(InsuranceAdditionalProductDto.builder()
.productName(request.getProductName())
.additionalProductBizId(request.getAdditionalProductBizId())
.isExcludeMy(true)
.build());
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException(ResultCode.ADDITIONAL_PRODUCT_NAME_EXISTS.getCode(),ResultCode.ADDITIONAL_PRODUCT_NAME_EXISTS.getMessage());
}
//编辑保险附加产品
BeanUtils.copyProperties(request,insuranceAdditionalProduct);
if (!CollectionUtils.isEmpty(request.getPaymentTermList())) {
//绑定供款年期列表转成逗号分隔的字符串
insuranceAdditionalProduct.setPaymentTerm(String.join(",", request.getPaymentTermList()));
}
iInsuranceAdditionalProductService.saveOrUpdate(insuranceAdditionalProduct);
//更新绑定附加产品所属保险公司唯一业务ID列表(部门id集合)
apiRelInsuranceAdditionalProductDeptService.updateRelInsuranceAdditionalProductDeptList(ProductDeptEnum.SS.getValue(),
insuranceAdditionalProduct.getAdditionalProductBizId(),
request.getSsDeptBizIdList());
//更新绑定的保险附加产品出单公司列表数据(部门id集合)
apiRelInsuranceAdditionalProductDeptService.updateRelInsuranceAdditionalProductDeptList(ProductDeptEnum.CD.getValue(),
insuranceAdditionalProduct.getAdditionalProductBizId(),
request.getCdDeptBizIdList());
return Result.success();
}
/**
* 删除保险附加产品(逻辑删除)
* @param additionalProductBizId 保险附加产品唯一标识(业务ID)
* @return
*/
@Override
public Result del(String additionalProductBizId) {
return null;
}
/**
* 编辑保险附加产品状态
* @param additionalProductBizId 保险附加产品唯一标识(业务ID)
* @param status '保险附加产品状态:0=下架,1=在售'
* @return
*/
@Override
public Result editStatus(String additionalProductBizId, Integer status) {
//校验保险附加产品是否存在
Result<InsuranceAdditionalProduct> result = checkInsuranceAdditionalProductIsExist(additionalProductBizId);
InsuranceAdditionalProduct insuranceAdditionalProduct = result.getData();
insuranceAdditionalProduct.setProductStatus(status);
iInsuranceAdditionalProductService.saveOrUpdate(insuranceAdditionalProduct);
return Result.success();
}
/**
* 获取保险附加产品详情-扩展信息
* @param additionalProductBizId
* @return
*/
public ApiInsuranceAdditionalProductDetailResponse detailExpand(String additionalProductBizId) {
ApiInsuranceAdditionalProductDetailResponse response = new ApiInsuranceAdditionalProductDetailResponse();
//根据保险附加产品id查询所属公司对象集合
Result<List<SsDeptDto>> ssResult = apiRelInsuranceAdditionalProductDeptService.getSsDeptDtoList(additionalProductBizId);
//根据保险附加产品id查询出单公司对象集合
Result<List<CdDeptDto>> cdResult = apiRelInsuranceAdditionalProductDeptService.getCdDeptDtoList(additionalProductBizId);
response.setSsDeptDtoList(ssResult.getData());
response.setCdDeptDtoList(cdResult.getData());
return response;
}
/**
* 校验保险附加产品是否存在
* @param additionalProductBizId
* @return
*/
public Result<InsuranceAdditionalProduct> checkInsuranceAdditionalProductIsExist(String additionalProductBizId) {
InsuranceAdditionalProduct insuranceAdditionalProduct = iInsuranceAdditionalProductService.queryOne(additionalProductBizId);
if (Objects.isNull(insuranceAdditionalProduct)) {
//数据不存在
throw new BusinessException(ResultCode.NULL_ERROR.getCode(),ResultCode.NULL_ERROR.getMessage());
}
return Result.success(insuranceAdditionalProduct);
}
}
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.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.*;
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 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 com.yd.insurance.base.service.dto.InsuranceProductDto;
import com.yd.insurance.base.service.enums.ProductDeptEnum;
import com.yd.insurance.base.service.model.InsuranceProduct;
import com.yd.insurance.base.service.service.IInsuranceProductService;
import com.yd.user.service.model.SysProject;
import com.yd.user.service.model.SysTenant;
import com.yd.user.service.service.ISysProjectService;
import com.yd.user.service.service.ISysTenantService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Service
public class ApiInsuranceProductServiceImpl implements ApiInsuranceProductService {
@Autowired
private IInsuranceProductService iInsuranceProductService;
@Autowired
private ApiRelTenantInsuranceProductService apiRelTenantInsuranceProductService;
@Autowired
private ApiRelInsuranceProductPlanService apiRelInsuranceProductPlanService;
@Autowired
private ApiRelInsuranceProductDeptService apiRelInsuranceProductDeptService;
@Autowired
private ApiRelInsuranceAdditionalProductService apiRelInsuranceAdditionalProductService;
@Autowired
private ISysTenantService iSysTenantService;
@Autowired
private ISysProjectService iSysProjectService;
/**
* 保险产品分页查询
* @param request
* @return
*/
@Override
public Result<IPage<ApiInsuranceProductPageResponse>> page(ApiInsuranceProductPageRequest request) {
//获取Security上下文当前用户的登录信息
AuthUserDto authUserDto = SecurityUtil.getCurrentLoginUser();
//当前登录用户的保险产品类型 true是超级管理员 false是超级管理员
Boolean isAdmin = authUserDto.getIsSuperAdmin() == 1;
//当前所属的租户id(当前页面右上角显示的租户) 超级管理员不传值,非超级管理员根据传值来
if (!isAdmin && StringUtils.isBlank(request.getLoginTenantBizId())) {
//非超级管理员并且LoginTenantBizId为空,提示必须传值LoginTenantBizId
throw new BusinessException("非超级管理员,当前登录用户所属的租户id(当前页面右上角显示的租户)必须传值");
}
String loginTenantBizId = isAdmin ? "" : request.getLoginTenantBizId();
Page<ApiInsuranceProductPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
List<String> projectBizIdList = new ArrayList<>();
//TODO
// if (!isAdmin) {
// //查询当前租户下绑定的项目列表id
// List<RelTenantProject> relTenantProjectList = iRelTenantProjectService.queryList(RelTenantProjectDto.builder().tenantBizId(loginTenantBizId).build());
// if (CollectionUtils.isEmpty(relTenantProjectList)) {
// projectBizIdList = relTenantProjectList.stream().map(RelTenantProject::getProjectBizId).collect(Collectors.toList());
// }
// }
IPage<ApiInsuranceProductPageResponse> iPage = iInsuranceProductService.page(page, request,isAdmin,projectBizIdList,loginTenantBizId);
return Result.success(iPage);
}
/**
* 获取保险产品详情
* @param productBizId 保险产品唯一标识(业务ID)
* @return
*/
@Override
public Result<ApiInsuranceProductDetailResponse> detail(String productBizId) {
Result<InsuranceProduct> result = checkInsuranceProductIsExist(productBizId);
InsuranceProduct insuranceProduct = result.getData();
ApiInsuranceProductDetailResponse response = new ApiInsuranceProductDetailResponse();
BeanUtils.copyProperties(insuranceProduct,response);
if (CommonEnum.SCOPE_SYS.getCode().equals(response.getScope().toString())) {
//系统级
response.setTenantBizId("");
response.setTenantName("");
response.setProjectBizId("");
response.setProjectName("");
}else if (CommonEnum.SCOPE_TENANT.getCode().equals(response.getScope().toString())) {
//租户级
SysTenant sysTenant = iSysTenantService.queryOne(response.getTenantBizId());
if (!Objects.isNull(sysTenant)) {
response.setTenantName(sysTenant.getTenantName());
}
response.setProjectBizId("");
response.setProjectName("");
}else if (CommonEnum.SCOPE_PROJECT.getCode().equals(response.getScope().toString())) {
//项目级
SysProject sysProject = iSysProjectService.queryOne(response.getProjectBizId());
if (!Objects.isNull(sysProject)) {
response.setProjectName(sysProject.getProjectName());
}
response.setTenantBizId("");
response.setTenantName("");
}
if (StringUtils.isNotBlank(response.getPaymentTerm())) {
//绑定供款年期列表
List<String> paymentTermList = Arrays.stream(response.getPaymentTerm().split(","))
.collect(Collectors.toList());
response.setPaymentTermList(paymentTermList);
}
ApiInsuranceProductDetailResponse response1 = detailExpand(productBizId);
response.setSsDeptDtoList(response1.getSsDeptDtoList());
response.setCdDeptDtoList(response1.getCdDeptDtoList());
response.setPlanDtoList(response1.getPlanDtoList());
response.setInsuranceAdditionalProductDtoList(response1.getInsuranceAdditionalProductDtoList());
return Result.success(response);
}
/**
* 获取保险产品详情-扩展信息
* @param productBizId
* @return
*/
public ApiInsuranceProductDetailResponse detailExpand(String productBizId) {
ApiInsuranceProductDetailResponse response = new ApiInsuranceProductDetailResponse();
//根据产品id查询所属公司对象集合
Result<List<SsDeptDto>> ssResult = apiRelInsuranceProductDeptService.getSsDeptDtoList(productBizId);
//根据产品id查询出单公司对象集合
Result<List<CdDeptDto>> cdResult = apiRelInsuranceProductDeptService.getCdDeptDtoList(productBizId);
//根据产品id获取计划集合
Result<List<PlanDto>> planResult = apiRelInsuranceProductPlanService.getPlanDtoList(productBizId);
//根据产品id获取保险附加产品集合
Result<List<InsuranceAdditionalProductDto>> insuranceAdditionalProductDtoList = apiRelInsuranceAdditionalProductService.getInsuranceAdditionalProductDtoList(productBizId);
response.setSsDeptDtoList(ssResult.getData());
response.setCdDeptDtoList(cdResult.getData());
response.setPlanDtoList(planResult.getData());
response.setInsuranceAdditionalProductDtoList(insuranceAdditionalProductDtoList.getData());
return response;
}
/**
* 添加保险产品
* @param request
* @return
*/
@Override
public Result add(ApiInsuranceProductAddRequest request) {
//获取Security上下文当前用户的登录信息
AuthUserDto authUserDto = SecurityUtil.getCurrentLoginUser();
//当前登录用户的保险产品类型 true是超级管理员 false是超级管理员
Boolean isAdmin = authUserDto.getIsSuperAdmin() == 1;
//添加和编辑校验入参
addAndEditReqCheck(isAdmin,
request.getScope(),
request.getTenantBizId(),
request.getProjectBizId());
//校验产品名称的唯一性
List<InsuranceProduct> list = iInsuranceProductService.queryList(InsuranceProductDto.builder().productName(request.getProductName()).build());
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException(ResultCode.PRODUCT_NAME_EXISTS.getCode(),ResultCode.PRODUCT_NAME_EXISTS.getMessage());
}
//新增保险产品
InsuranceProduct insuranceProduct = new InsuranceProduct();
BeanUtils.copyProperties(request,insuranceProduct);
insuranceProduct.setProductBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_INSURANCE_PRODUCT.getCode()));
insuranceProduct = addAndEditSaveSetCommon(insuranceProduct);
if (!CollectionUtils.isEmpty(request.getPaymentTermList())) {
//绑定供款年期列表转成逗号分隔的字符串
insuranceProduct.setPaymentTerm(String.join(",", request.getPaymentTermList()));
}
iInsuranceProductService.saveOrUpdate(insuranceProduct);
//新增或者编辑-更新租户校色关系、更新项目保险产品关系公共方法
addAndEditByRelCommon(request.getTenantBizId(),
request.getProjectBizId(),
insuranceProduct.getProductBizId(),
request.getScope(),
CommonEnum.OPR_SOURCE_ADD.getCode());
//更新绑定产品所属保险公司唯一业务ID列表(部门id集合)
apiRelInsuranceProductDeptService.updateRelInsuranceProductDeptList(ProductDeptEnum.SS.getValue(),
insuranceProduct.getProductBizId(),
request.getSsDeptBizIdList());
//更新绑定的保险产品出单公司列表数据(部门id集合)
apiRelInsuranceProductDeptService.updateRelInsuranceProductDeptList(ProductDeptEnum.CD.getValue(),
insuranceProduct.getProductBizId(),
request.getCdDeptBizIdList());
//更新绑定的保险产品计划列表数据
apiRelInsuranceProductPlanService.updateRelInsuranceProductPlanList(insuranceProduct.getProductBizId(),request.getPlanBizIdList());
//更新绑定的保险附加产品列表数据
apiRelInsuranceAdditionalProductService.updateRelInsuranceAdditionalProductList(insuranceProduct.getProductBizId(),request.getAdditionalProductBizIdList());
return Result.success();
}
/**
* 编辑保险产品
* @param request
* @return
*/
@Override
public Result edit(ApiInsuranceProductEditRequest request) {
//获取Security上下文当前用户的登录信息
AuthUserDto authUserDto = SecurityUtil.getCurrentLoginUser();
//当前登录用户的保险产品类型 true是超级管理员 false是超级管理员
Boolean isAdmin = authUserDto.getIsSuperAdmin() == 1;
//添加和编辑校验入参
addAndEditReqCheck(isAdmin,
request.getScope(),
request.getTenantBizId(),
request.getProjectBizId());
//校验保险产品是否存在
Result<InsuranceProduct> result = checkInsuranceProductIsExist(request.getProductBizId());
InsuranceProduct insuranceProduct = result.getData();
//校验保险产品名称的唯一性
List<InsuranceProduct> list = iInsuranceProductService.queryList(InsuranceProductDto.builder()
.productName(request.getProductName())
.productBizId(request.getProductBizId())
.isExcludeMy(true)
.build());
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException(ResultCode.PRODUCT_NAME_EXISTS.getCode(),ResultCode.PRODUCT_NAME_EXISTS.getMessage());
}
//TODO 换绑逻辑(作用域换绑:提示校验需要先把什么解绑再来换绑)
//编辑保险产品
BeanUtils.copyProperties(request,insuranceProduct);
insuranceProduct = addAndEditSaveSetCommon(insuranceProduct);
if (!CollectionUtils.isEmpty(request.getPaymentTermList())) {
//绑定供款年期列表转成逗号分隔的字符串
insuranceProduct.setPaymentTerm(String.join(",", request.getPaymentTermList()));
}
iInsuranceProductService.saveOrUpdate(insuranceProduct);
//新增或者编辑-更新租户校色关系、更新项目保险产品关系公共方法 TODO
// addAndEditByRelCommon(request.getTenantBizId(),
// request.getProjectBizId(),
// sysRole.getRoleBizId(),
// request.getScope(),
// CommonEnum.OPR_SOURCE_ADD.getCode());
//更新绑定产品所属保险公司唯一业务ID列表(部门id集合)
apiRelInsuranceProductDeptService.updateRelInsuranceProductDeptList(ProductDeptEnum.SS.getValue(),
insuranceProduct.getProductBizId(),
request.getSsDeptBizIdList());
//更新绑定的保险产品出单公司列表数据(部门id集合)
apiRelInsuranceProductDeptService.updateRelInsuranceProductDeptList(ProductDeptEnum.CD.getValue(),
insuranceProduct.getProductBizId(),
request.getCdDeptBizIdList());
//更新绑定的保险产品计划列表数据
apiRelInsuranceProductPlanService.updateRelInsuranceProductPlanList(insuranceProduct.getProductBizId(),request.getPlanBizIdList());
//更新绑定的保险附加产品列表数据
apiRelInsuranceAdditionalProductService.updateRelInsuranceAdditionalProductList(insuranceProduct.getProductBizId(),request.getAdditionalProductBizIdList());
return Result.success();
}
/**
* 删除保险产品(逻辑删除)
* @param productBizId 保险产品唯一标识(业务ID)
* @return
*/
@Override
public Result del(String productBizId) {
return null;
}
/**
* 编辑保险产品状态
* @param productBizId 保险产品唯一标识(业务ID)
* @param status '保险产品状态:0=下架,1=在售'
* @return
*/
@Override
public Result editStatus(String productBizId,Integer status) {
//校验保险产品是否存在
Result<InsuranceProduct> result = checkInsuranceProductIsExist(productBizId);
InsuranceProduct insuranceProduct = result.getData();
insuranceProduct.setProductStatus(status);
iInsuranceProductService.saveOrUpdate(insuranceProduct);
return Result.success();
}
/**
* 新增或者编辑-更新租户保险产品关系、更新项目保险产品关系公共方法
* @param tenantBizId 租户id
* @param projectBizId 项目id
* @param productBizId 保险产品id
* @param scope 作用域
* @param oprSource 操作来源 1-添加 2-编辑
*/
public void addAndEditByRelCommon(String tenantBizId,
String projectBizId,
String productBizId,
Integer scope,
String oprSource) {
if (CommonEnum.OPR_SOURCE_ADD.getCode().equals(oprSource)) {
//添加来源
if (CommonEnum.SCOPE_TENANT.getCode().equals(scope.toString())) {
//作用域租户级-新增租户保险产品关系
apiRelTenantInsuranceProductService.addSingleRel(tenantBizId,productBizId);
}
//TODO
// if (CommonEnum.SCOPE_PROJECT.getCode().equals(scope.toString())) {
// //作用域项目级-新增项目保险产品关系
// apiRelProjectRoleService.addSingleRel(projectBizId,productBizId);
// }
}else if (CommonEnum.OPR_SOURCE_EDIT.getCode().equals(oprSource)) {
//编辑来源 TODO 编辑
}
}
/**
* 添加和编辑保存设置参数公共方法
* @param insuranceProduct
* @return
*/
public InsuranceProduct addAndEditSaveSetCommon(InsuranceProduct insuranceProduct) {
if (CommonEnum.SCOPE_SYS.getCode().equals(insuranceProduct.getScope().toString())) {
//系统级
insuranceProduct.setTenantBizId("");
insuranceProduct.setProjectBizId("");
}else if (CommonEnum.SCOPE_TENANT.getCode().equals(insuranceProduct.getScope().toString())) {
//租户级
insuranceProduct.setProjectBizId("");
}else if (CommonEnum.SCOPE_PROJECT.getCode().equals(insuranceProduct.getScope().toString())) {
//项目级
insuranceProduct.setTenantBizId("");
}
return insuranceProduct;
}
/**
* 添加和编辑校验入参
* @param isAdmin
* @param scope
* @param tenantBizId
* @param projectBizId
*/
public void addAndEditReqCheck(Boolean isAdmin,
Integer scope,
String tenantBizId,
String projectBizId) {
if (!isAdmin && CommonEnum.SCOPE_SYS.getCode().equals(scope.toString())) {
//非超级管理员不能选择系统级作用域
throw new BusinessException("非超级管理员不能选择系统级作用域!");
}
//校验作用域scope字段,如果为作用域租户级所属租户id必须传值
if(CommonEnum.SCOPE_TENANT.getCode().equals(scope.toString())
&& StringUtils.isBlank(tenantBizId)) {
throw new BusinessException("租户级作用域,所属租户id不能为空");
}
//校验作用域scope字段,如果为作用域项目级所属项目id必须传值
if(CommonEnum.SCOPE_PROJECT.getCode().equals(scope.toString())
&& StringUtils.isBlank(projectBizId)) {
throw new BusinessException("项目级作用域,所属项目id不能为空");
}
}
/**
* 校验保险产品是否存在
* @param productBizId
* @return
*/
public Result<InsuranceProduct> checkInsuranceProductIsExist(String productBizId) {
InsuranceProduct insuranceProduct = iInsuranceProductService.queryOne(productBizId);
if (Objects.isNull(insuranceProduct)) {
//数据不存在
throw new BusinessException(ResultCode.NULL_ERROR.getCode(),ResultCode.NULL_ERROR.getMessage());
}
return Result.success(insuranceProduct);
}
}
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 @@ ...@@ -56,6 +56,13 @@
<artifactId>yd-insurance-base-feign</artifactId> <artifactId>yd-insurance-base-feign</artifactId>
</dependency> </dependency>
<!-- 用户服务 -->
<dependency>
<groupId>com.yd</groupId>
<artifactId>yd-user-service</artifactId>
<version>${project.version}</version>
</dependency>
<!-- 认证模块 --> <!-- 认证模块 -->
<dependency> <dependency>
<groupId>com.yd</groupId> <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; 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.yd.insurance.base.service.model.InsuranceProduct;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +20,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +20,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface InsuranceProductMapper extends BaseMapper<InsuranceProduct> { 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; 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.yd.insurance.base.service.model.InsuranceProductPlan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/** /**
* <p> * <p>
...@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface InsuranceProductPlanMapper extends BaseMapper<InsuranceProductPlan> { 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; 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; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/** /**
* <p> * <p>
* 组织架构-用户关系表(多对多关系) Mapper 接口 * 保险附加产品-部门关系表(多对多关系) Mapper 接口
* </p> * </p>
* *
* @author zxm * @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; 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.yd.insurance.base.service.model.RelTenantInsuranceProduct;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/** /**
* <p> * <p>
...@@ -13,4 +20,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +20,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface RelTenantInsuranceProductMapper extends BaseMapper<RelTenantInsuranceProduct> { 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 { ...@@ -79,7 +79,7 @@ public class InsuranceCompanyExpand implements Serializable {
* 删除标识: 0-正常, 1-删除 * 删除标识: 0-正常, 1-删除
*/ */
@TableField("is_deleted") @TableField("is_deleted")
private Boolean isDeleted; private Integer isDeleted;
/** /**
* 创建人ID * 创建人ID
......
...@@ -79,7 +79,7 @@ public class InsuranceIntermediaryExpand implements Serializable { ...@@ -79,7 +79,7 @@ public class InsuranceIntermediaryExpand implements Serializable {
* 删除标识: 0-正常, 1-删除 * 删除标识: 0-正常, 1-删除
*/ */
@TableField("is_deleted") @TableField("is_deleted")
private Boolean isDeleted; private Integer isDeleted;
/** /**
* 创建人ID * 创建人ID
......
...@@ -68,7 +68,7 @@ public class InsuranceProduct implements Serializable { ...@@ -68,7 +68,7 @@ public class InsuranceProduct implements Serializable {
* 是否区分吸烟:0=不区分,1=区分 * 是否区分吸烟:0=不区分,1=区分
*/ */
@TableField("smoking_allowed") @TableField("smoking_allowed")
private Byte smokingAllowed; private Integer smokingAllowed;
/** /**
* 保障内容 * 保障内容
...@@ -86,13 +86,13 @@ public class InsuranceProduct implements Serializable { ...@@ -86,13 +86,13 @@ public class InsuranceProduct implements Serializable {
* 保险产品状态:0=下架,1=在售 * 保险产品状态:0=下架,1=在售
*/ */
@TableField("product_status") @TableField("product_status")
private Byte productStatus; private Integer productStatus;
/** /**
* 作用域(1:系统级(全局) 2:租户级 3:项目级) * 作用域(1:系统级(全局) 2:租户级 3:项目级)
*/ */
@TableField("scope") @TableField("scope")
private Byte scope; private Integer scope;
/** /**
* 所属租户ID(业务id) * 所属租户ID(业务id)
...@@ -107,6 +107,12 @@ public class InsuranceProduct implements Serializable { ...@@ -107,6 +107,12 @@ public class InsuranceProduct implements Serializable {
private String projectBizId; private String projectBizId;
/** /**
* 产品图片
*/
@TableField("picture")
private String picture;
/**
* 通用备注 * 通用备注
*/ */
@TableField("remark") @TableField("remark")
...@@ -116,7 +122,7 @@ public class InsuranceProduct implements Serializable { ...@@ -116,7 +122,7 @@ public class InsuranceProduct implements Serializable {
* 删除标识: 0-正常, 1-删除 * 删除标识: 0-正常, 1-删除
*/ */
@TableField("is_deleted") @TableField("is_deleted")
private Boolean isDeleted; private Integer isDeleted;
/** /**
* 创建人ID * 创建人ID
......
...@@ -40,6 +40,18 @@ public class InsuranceProductPlan implements Serializable { ...@@ -40,6 +40,18 @@ public class InsuranceProductPlan implements Serializable {
private String planName; private String planName;
/** /**
* 状态(0:禁用 1:启用)
*/
@TableField("status")
private Integer status;
/**
* 产品计划图片
*/
@TableField("picture")
private String picture;
/**
* 通用备注 * 通用备注
*/ */
@TableField("remark") @TableField("remark")
...@@ -49,7 +61,7 @@ public class InsuranceProductPlan implements Serializable { ...@@ -49,7 +61,7 @@ public class InsuranceProductPlan implements Serializable {
* 删除标识: 0-正常, 1-删除 * 删除标识: 0-正常, 1-删除
*/ */
@TableField("is_deleted") @TableField("is_deleted")
private Boolean isDeleted; private Integer isDeleted;
/** /**
* 创建人ID * 创建人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; ...@@ -11,16 +11,16 @@ import lombok.Setter;
/** /**
* <p> * <p>
* 组织架构-用户关系表(多对多关系) * 保险附加产品-部门关系表(多对多关系)
* </p> * </p>
* *
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-31
*/ */
@Getter @Getter
@Setter @Setter
@TableName("rel_insurance_product_company") @TableName("rel_insurance_additional_product_dept")
public class RelInsuranceProductCompany implements Serializable { public class RelInsuranceAdditionalProductDept implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -28,34 +28,28 @@ public class RelInsuranceProductCompany implements Serializable { ...@@ -28,34 +28,28 @@ public class RelInsuranceProductCompany implements Serializable {
private Long id; private Long id;
/** /**
* 租户ID(业务id)(冗余字段,目的当前关系是发生在哪个作用域下:租户级) * 保险附加产品ID(业务id)
*/ */
@TableField("tenant_biz_id") @TableField("additional_product_biz_id")
private String tenantBizId; private String additionalProductBizId;
/** /**
* 项目ID(业务id)(冗余字段,目的当前关系是发生在哪个作用域下:项目级) * 部门唯一标识(业务ID)
*/
@TableField("project_biz_id")
private String projectBizId;
/**
* 组织架构唯一业务ID
*/ */
@TableField("dept_biz_id") @TableField("dept_biz_id")
private String deptBizId; private String deptBizId;
/** /**
* 用户唯一业务ID * 类型(1-所属保险公司 2-出单公司)
*/ */
@TableField("user_biz_id") @TableField("type")
private String userBizId; private Integer type;
/** /**
* 状态(0:禁用 1:启用) * 状态(0:禁用 1:启用)
*/ */
@TableField("status") @TableField("status")
private Byte status; private Integer status;
/** /**
* 通用备注 * 通用备注
...@@ -67,7 +61,7 @@ public class RelInsuranceProductCompany implements Serializable { ...@@ -67,7 +61,7 @@ public class RelInsuranceProductCompany implements Serializable {
* 删除标识: 0-正常, 1-删除 * 删除标识: 0-正常, 1-删除
*/ */
@TableField("is_deleted") @TableField("is_deleted")
private Boolean isDeleted; private Integer isDeleted;
/** /**
* 创建人ID * 创建人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 { ...@@ -49,7 +49,7 @@ public class RelInsuranceProductPlan implements Serializable {
* 删除标识: 0-正常, 1-删除 * 删除标识: 0-正常, 1-删除
*/ */
@TableField("is_deleted") @TableField("is_deleted")
private Boolean isDeleted; private Integer isDeleted;
/** /**
* 创建人ID * 创建人ID
......
...@@ -43,7 +43,7 @@ public class RelProjectInsuranceProduct implements Serializable { ...@@ -43,7 +43,7 @@ public class RelProjectInsuranceProduct implements Serializable {
* 状态(0:禁用 1:启用) * 状态(0:禁用 1:启用)
*/ */
@TableField("status") @TableField("status")
private Byte status; private Integer status;
/** /**
* 通用备注 * 通用备注
...@@ -55,7 +55,7 @@ public class RelProjectInsuranceProduct implements Serializable { ...@@ -55,7 +55,7 @@ public class RelProjectInsuranceProduct implements Serializable {
* 删除标识: 0-正常, 1-删除 * 删除标识: 0-正常, 1-删除
*/ */
@TableField("is_deleted") @TableField("is_deleted")
private Boolean isDeleted; private Integer isDeleted;
/** /**
* 创建人ID * 创建人ID
......
...@@ -43,7 +43,7 @@ public class RelTenantInsuranceProduct implements Serializable { ...@@ -43,7 +43,7 @@ public class RelTenantInsuranceProduct implements Serializable {
* 状态(0:禁用 1:启用) * 状态(0:禁用 1:启用)
*/ */
@TableField("status") @TableField("status")
private Byte status; private Integer status;
/** /**
* 通用备注 * 通用备注
...@@ -55,7 +55,7 @@ public class RelTenantInsuranceProduct implements Serializable { ...@@ -55,7 +55,7 @@ public class RelTenantInsuranceProduct implements Serializable {
* 删除标识: 0-正常, 1-删除 * 删除标识: 0-正常, 1-删除
*/ */
@TableField("is_deleted") @TableField("is_deleted")
private Boolean isDeleted; private Integer isDeleted;
/** /**
* 创建人ID * 创建人ID
......
...@@ -55,7 +55,7 @@ public class UserSaleExpand implements Serializable { ...@@ -55,7 +55,7 @@ public class UserSaleExpand implements Serializable {
* 删除标识: 0-正常, 1-删除 * 删除标识: 0-正常, 1-删除
*/ */
@TableField("is_deleted") @TableField("is_deleted")
private Boolean isDeleted; private Integer isDeleted;
/** /**
* 创建人ID * 创建人ID
......
...@@ -55,7 +55,7 @@ public class UserSignExpand implements Serializable { ...@@ -55,7 +55,7 @@ public class UserSignExpand implements Serializable {
* 删除标识: 0-正常, 1-删除 * 删除标识: 0-正常, 1-删除
*/ */
@TableField("is_deleted") @TableField("is_deleted")
private Boolean isDeleted; private Integer isDeleted;
/** /**
* 创建人ID * 创建人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; 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.yd.insurance.base.service.model.InsuranceProductPlan;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
* 保险产品计划表 服务类 * 保险产品计划表 服务类
...@@ -13,4 +20,11 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +20,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IInsuranceProductPlanService extends IService<InsuranceProductPlan> { 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; 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.yd.insurance.base.service.model.InsuranceProduct;
import com.baomidou.mybatisplus.extension.service.IService; 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> * <p>
...@@ -13,4 +22,13 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +22,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IInsuranceProductService extends IService<InsuranceProduct> { 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; 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 com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
* 组织架构-用户关系表(多对多关系) 服务类 * 保险产品-部门关系表(多对多关系) 服务类
* </p> * </p>
* *
* @author zxm * @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; ...@@ -3,6 +3,8 @@ package com.yd.insurance.base.service.service;
import com.yd.insurance.base.service.model.RelInsuranceProductPlan; import com.yd.insurance.base.service.model.RelInsuranceProductPlan;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
* 保险产品-保险产品计划关联表(支撑多产品组合计划) 服务类 * 保险产品-保险产品计划关联表(支撑多产品组合计划) 服务类
...@@ -13,4 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IRelInsuranceProductPlanService extends IService<RelInsuranceProductPlan> { public interface IRelInsuranceProductPlanService extends IService<RelInsuranceProductPlan> {
Boolean removeByProductBizId(String productBizId);
List<RelInsuranceProductPlan> queryList(String productBizId);
} }
package com.yd.insurance.base.service.service; 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.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.model.RelTenantInsuranceProduct;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
...@@ -13,4 +19,11 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +19,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IRelTenantInsuranceProductService extends IService<RelTenantInsuranceProduct> { public interface IRelTenantInsuranceProductService extends IService<RelTenantInsuranceProduct> {
IPage<ApiRelTenantInsuranceProductListPageResponse> page(Page<ApiRelTenantInsuranceProductListPageResponse> page,
ApiRelTenantInsuranceProductListPageRequest request);
RelTenantInsuranceProduct queryOne(Long id);
IPage<ApiRelTenantInsuranceProductSelectPageResponse> selectProductPage(Page<ApiRelTenantInsuranceProductSelectPageResponse> page,
ApiRelTenantInsuranceProductSelectPageRequest request);
} }
package com.yd.insurance.base.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.model.InsuranceAdditionalProduct;
import com.yd.insurance.base.service.dao.InsuranceAdditionalProductMapper;
import com.yd.insurance.base.service.model.InsuranceProduct;
import com.yd.insurance.base.service.service.IInsuranceAdditionalProductService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/**
* <p>
* 保险附加产品基础表 服务实现类
* </p>
*
* @author zxm
* @since 2025-08-29
*/
@Service
public class InsuranceAdditionalProductServiceImpl extends ServiceImpl<InsuranceAdditionalProductMapper, InsuranceAdditionalProduct> implements IInsuranceAdditionalProductService {
@Override
public IPage<ApiInsuranceAdditionalProductPageResponse> page(Page<ApiInsuranceAdditionalProductPageResponse> page,
ApiInsuranceAdditionalProductPageRequest request) {
return baseMapper.page(page,request);
}
/**
* 查询单个对象
* @param additionalProductBizId
* @return
*/
@Override
public InsuranceAdditionalProduct queryOne(String additionalProductBizId) {
return this.getOne(new LambdaQueryWrapper<InsuranceAdditionalProduct>().eq(InsuranceAdditionalProduct::getAdditionalProductBizId,additionalProductBizId));
}
/**
* 查询列表
* @param dto
* @return
*/
@Override
public List<InsuranceAdditionalProduct> queryList(InsuranceAdditionalProductDto dto) {
List<InsuranceAdditionalProduct> list = baseMapper.selectList(new LambdaQueryWrapper<InsuranceAdditionalProduct>()
.eq(!Objects.isNull(dto.getId()),InsuranceAdditionalProduct::getId,dto.getId())
.eq(StringUtils.isNotBlank(dto.getAdditionalProductBizId()) && !dto.getIsExcludeMy(),InsuranceAdditionalProduct::getAdditionalProductBizId,dto.getAdditionalProductBizId())
.eq(StringUtils.isNotBlank(dto.getProductName()),InsuranceAdditionalProduct::getProductName,dto.getProductName())
.in(!CollectionUtils.isEmpty(dto.getAdditionalProductBizIdList()),InsuranceAdditionalProduct::getAdditionalProductBizId,dto.getAdditionalProductBizIdList())
.ne(dto.getIsExcludeMy(),InsuranceAdditionalProduct::getAdditionalProductBizId,dto.getAdditionalProductBizId())
);
return list;
}
}
...@@ -4,6 +4,8 @@ import com.yd.insurance.base.service.model.InsuranceCompanyExpand; ...@@ -4,6 +4,8 @@ import com.yd.insurance.base.service.model.InsuranceCompanyExpand;
import com.yd.insurance.base.service.dao.InsuranceCompanyExpandMapper; import com.yd.insurance.base.service.dao.InsuranceCompanyExpandMapper;
import com.yd.insurance.base.service.service.IInsuranceCompanyExpandService; import com.yd.insurance.base.service.service.IInsuranceCompanyExpandService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
...@@ -14,6 +16,9 @@ import org.springframework.stereotype.Service; ...@@ -14,6 +16,9 @@ import org.springframework.stereotype.Service;
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-25
*/ */
@Slf4j
@Primary
@Service @Service
public class InsuranceCompanyExpandServiceImpl extends ServiceImpl<InsuranceCompanyExpandMapper, InsuranceCompanyExpand> implements IInsuranceCompanyExpandService { public class InsuranceCompanyExpandServiceImpl extends ServiceImpl<InsuranceCompanyExpandMapper, InsuranceCompanyExpand> implements IInsuranceCompanyExpandService {
......
...@@ -4,6 +4,8 @@ import com.yd.insurance.base.service.model.InsuranceIntermediaryExpand; ...@@ -4,6 +4,8 @@ import com.yd.insurance.base.service.model.InsuranceIntermediaryExpand;
import com.yd.insurance.base.service.dao.InsuranceIntermediaryExpandMapper; import com.yd.insurance.base.service.dao.InsuranceIntermediaryExpandMapper;
import com.yd.insurance.base.service.service.IInsuranceIntermediaryExpandService; import com.yd.insurance.base.service.service.IInsuranceIntermediaryExpandService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
...@@ -14,6 +16,9 @@ import org.springframework.stereotype.Service; ...@@ -14,6 +16,9 @@ import org.springframework.stereotype.Service;
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-25
*/ */
@Slf4j
@Primary
@Service @Service
public class InsuranceIntermediaryExpandServiceImpl extends ServiceImpl<InsuranceIntermediaryExpandMapper, InsuranceIntermediaryExpand> implements IInsuranceIntermediaryExpandService { public class InsuranceIntermediaryExpandServiceImpl extends ServiceImpl<InsuranceIntermediaryExpandMapper, InsuranceIntermediaryExpand> implements IInsuranceIntermediaryExpandService {
......
package com.yd.insurance.base.service.service.impl; package com.yd.insurance.base.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.InsuranceProduct;
import com.yd.insurance.base.service.model.InsuranceProductPlan; import com.yd.insurance.base.service.model.InsuranceProductPlan;
import com.yd.insurance.base.service.dao.InsuranceProductPlanMapper; import com.yd.insurance.base.service.dao.InsuranceProductPlanMapper;
import com.yd.insurance.base.service.model.RelInsuranceProductPlan;
import com.yd.insurance.base.service.service.IInsuranceProductPlanService; import com.yd.insurance.base.service.service.IInsuranceProductPlanService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/** /**
* <p> * <p>
...@@ -14,7 +29,47 @@ import org.springframework.stereotype.Service; ...@@ -14,7 +29,47 @@ import org.springframework.stereotype.Service;
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-25
*/ */
@Slf4j
@Primary
@Service @Service
public class InsuranceProductPlanServiceImpl extends ServiceImpl<InsuranceProductPlanMapper, InsuranceProductPlan> implements IInsuranceProductPlanService { public class InsuranceProductPlanServiceImpl extends ServiceImpl<InsuranceProductPlanMapper, InsuranceProductPlan> implements IInsuranceProductPlanService {
/**
* 查询列表
* @param dto
* @return
*/
@Override
public List<InsuranceProductPlan> queryList(InsuranceProductPlanDto dto) {
List<InsuranceProductPlan> list = baseMapper.selectList(new LambdaQueryWrapper<InsuranceProductPlan>()
.eq(!Objects.isNull(dto.getId()),InsuranceProductPlan::getId,dto.getId())
.eq(StringUtils.isNotBlank(dto.getPlanBizId()) && !dto.getIsExcludeMy(),InsuranceProductPlan::getPlanBizId,dto.getPlanBizId())
.eq(StringUtils.isNotBlank(dto.getPlanName()),InsuranceProductPlan::getPlanName,dto.getPlanName())
.in(!CollectionUtils.isEmpty(dto.getPlanBizIdList()),InsuranceProductPlan::getPlanBizId,dto.getPlanBizIdList())
.ne(dto.getIsExcludeMy(),InsuranceProductPlan::getPlanBizId,dto.getPlanBizId())
);
return list;
}
/**
* 查询单个对象
* @param planBizId
* @return
*/
@Override
public InsuranceProductPlan queryOne(String planBizId) {
return this.getOne(new LambdaQueryWrapper<InsuranceProductPlan>().eq(InsuranceProductPlan::getPlanBizId,planBizId));
}
@Override
public IPage<ApiInsuranceProductPlanPageResponse> page(Page<ApiInsuranceProductPlanPageResponse> page,
ApiInsuranceProductPlanPageRequest request) {
return baseMapper.page(page,request);
}
@Override
public Boolean removeByPlanBizId(String planBizId) {
return this.remove(new LambdaQueryWrapper<InsuranceProductPlan>().eq(InsuranceProductPlan::getPlanBizId,planBizId));
}
} }
package com.yd.insurance.base.service.service.impl; package com.yd.insurance.base.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.yd.insurance.base.service.model.InsuranceProduct;
import com.yd.insurance.base.service.dao.InsuranceProductMapper; import com.yd.insurance.base.service.dao.InsuranceProductMapper;
import com.yd.insurance.base.service.service.IInsuranceProductService; import com.yd.insurance.base.service.service.IInsuranceProductService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.user.service.model.SysDept;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/** /**
* <p> * <p>
...@@ -14,7 +28,41 @@ import org.springframework.stereotype.Service; ...@@ -14,7 +28,41 @@ import org.springframework.stereotype.Service;
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-25
*/ */
@Slf4j
@Primary
@Service @Service
public class InsuranceProductServiceImpl extends ServiceImpl<InsuranceProductMapper, InsuranceProduct> implements IInsuranceProductService { public class InsuranceProductServiceImpl extends ServiceImpl<InsuranceProductMapper, InsuranceProduct> implements IInsuranceProductService {
@Override
public IPage<ApiInsuranceProductPageResponse> page(Page<ApiInsuranceProductPageResponse> page,
ApiInsuranceProductPageRequest request,
Boolean isAdmin,
List<String> projectBizIdList,
String loginTenantBizId) {
return baseMapper.page(page,request,isAdmin,projectBizIdList,loginTenantBizId);
}
/**
* 查询单个对象
* @param productBizId
* @return
*/
@Override
public InsuranceProduct queryOne(String productBizId) {
return this.getOne(new LambdaQueryWrapper<InsuranceProduct>().eq(InsuranceProduct::getProductBizId,productBizId));
}
@Override
public List<InsuranceProduct> queryList(InsuranceProductDto dto) {
List<InsuranceProduct> list = baseMapper.selectList(new LambdaQueryWrapper<InsuranceProduct>()
.eq(!Objects.isNull(dto.getId()),InsuranceProduct::getId,dto.getId())
.eq(StringUtils.isNotBlank(dto.getProductBizId()) && !dto.getIsExcludeMy(),InsuranceProduct::getProductBizId,dto.getProductBizId())
.eq(StringUtils.isNotBlank(dto.getProductName()),InsuranceProduct::getProductName,dto.getProductName())
.in(!CollectionUtils.isEmpty(dto.getProductBizIdList()),InsuranceProduct::getProductBizId,dto.getProductBizIdList())
.ne(dto.getIsExcludeMy(),InsuranceProduct::getProductBizId,dto.getProductBizId())
);
return list;
}
} }
package com.yd.insurance.base.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.insurance.base.service.dto.RelInsuranceAdditionalProductDeptDto;
import com.yd.insurance.base.service.model.RelInsuranceAdditionalProductDept;
import com.yd.insurance.base.service.dao.RelInsuranceAdditionalProductDeptMapper;
import com.yd.insurance.base.service.model.RelInsuranceProductDept;
import com.yd.insurance.base.service.service.IRelInsuranceAdditionalProductDeptService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
* <p>
* 保险附加产品-部门关系表(多对多关系) 服务实现类
* </p>
*
* @author zxm
* @since 2025-08-31
*/
@Service
public class RelInsuranceAdditionalProductDeptServiceImpl extends ServiceImpl<RelInsuranceAdditionalProductDeptMapper, RelInsuranceAdditionalProductDept> implements IRelInsuranceAdditionalProductDeptService {
/**
* 根据类型和附加产品id删除附加产品部门关系
* @param type
* @param additionalProductBizId
* @return
*/
@Override
public Boolean removeByAdditionalProductBizIdAndType(Integer type, String additionalProductBizId) {
return this.remove(new LambdaQueryWrapper<RelInsuranceAdditionalProductDept>()
.eq(RelInsuranceAdditionalProductDept::getType,type)
.eq(RelInsuranceAdditionalProductDept::getAdditionalProductBizId,additionalProductBizId)
);
}
/**
* 查询列表
* @param dto
* @return
*/
@Override
public List<RelInsuranceAdditionalProductDept> queryList(RelInsuranceAdditionalProductDeptDto dto) {
List<RelInsuranceAdditionalProductDept> list = baseMapper.selectList(new LambdaQueryWrapper<RelInsuranceAdditionalProductDept>()
.eq(StringUtils.isNotBlank(dto.getAdditionalProductBizId()),RelInsuranceAdditionalProductDept::getAdditionalProductBizId,dto.getAdditionalProductBizId())
.eq(!Objects.isNull(dto.getType()),RelInsuranceAdditionalProductDept::getType,dto.getType())
);
return list;
}
}
package com.yd.insurance.base.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.insurance.base.service.dto.RelInsuranceAdditionalProductDto;
import com.yd.insurance.base.service.model.InsuranceProduct;
import com.yd.insurance.base.service.model.RelInsuranceAdditionalProduct;
import com.yd.insurance.base.service.dao.RelInsuranceAdditionalProductMapper;
import com.yd.insurance.base.service.service.IRelInsuranceAdditionalProductService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/**
* <p>
* 保险产品-保险附加产品关系表 服务实现类
* </p>
*
* @author zxm
* @since 2025-08-29
*/
@Service
public class RelInsuranceAdditionalProductServiceImpl extends ServiceImpl<RelInsuranceAdditionalProductMapper, RelInsuranceAdditionalProduct> implements IRelInsuranceAdditionalProductService {
/**
* 根据产品业务id删除关系
* @param productBizId
* @return
*/
@Override
public Boolean removeByProductBizId(String productBizId) {
return this.remove(new LambdaQueryWrapper<RelInsuranceAdditionalProduct>().eq(RelInsuranceAdditionalProduct::getProductBizId,productBizId));
}
/**
* 查询列表
* @param dto
* @return
*/
@Override
public List<RelInsuranceAdditionalProduct> queryList(RelInsuranceAdditionalProductDto dto) {
List<RelInsuranceAdditionalProduct> list = baseMapper.selectList(new LambdaQueryWrapper<RelInsuranceAdditionalProduct>()
.eq(StringUtils.isNotBlank(dto.getProductBizId()),RelInsuranceAdditionalProduct::getProductBizId,dto.getProductBizId())
);
return list;
}
}
package com.yd.insurance.base.service.service.impl;
import com.yd.insurance.base.service.model.RelInsuranceProductCompany;
import com.yd.insurance.base.service.dao.RelInsuranceProductCompanyMapper;
import com.yd.insurance.base.service.service.IRelInsuranceProductCompanyService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 组织架构-用户关系表(多对多关系) 服务实现类
* </p>
*
* @author zxm
* @since 2025-08-25
*/
@Service
public class RelInsuranceProductCompanyServiceImpl extends ServiceImpl<RelInsuranceProductCompanyMapper, RelInsuranceProductCompany> implements IRelInsuranceProductCompanyService {
}
package com.yd.insurance.base.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.insurance.base.service.dto.RelInsuranceProductDeptDto;
import com.yd.insurance.base.service.model.RelInsuranceProductDept;
import com.yd.insurance.base.service.dao.RelInsuranceProductDeptMapper;
import com.yd.insurance.base.service.service.IRelInsuranceProductDeptService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.user.service.model.RelTenantDept;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
* <p>
* 保险产品-部门关系表(多对多关系) 服务实现类
* </p>
*
* @author zxm
* @since 2025-08-27
*/
@Slf4j
@Primary
@Service
public class RelInsuranceProductDeptServiceImpl extends ServiceImpl<RelInsuranceProductDeptMapper, RelInsuranceProductDept> implements IRelInsuranceProductDeptService {
/**
* 根据类型和产品id删除产品部门关系
* @param type
* @param productBizId
* @return
*/
@Override
public Boolean removeByProductBizIdAndType(Integer type, String productBizId) {
return this.remove(new LambdaQueryWrapper<RelInsuranceProductDept>()
.eq(RelInsuranceProductDept::getType,type)
.eq(RelInsuranceProductDept::getProductBizId,productBizId)
);
}
/**
* 查询列表
* @param dto
* @return
*/
@Override
public List<RelInsuranceProductDept> queryList(RelInsuranceProductDeptDto dto) {
List<RelInsuranceProductDept> list = baseMapper.selectList(new LambdaQueryWrapper<RelInsuranceProductDept>()
.eq(StringUtils.isNotBlank(dto.getProductBizId()),RelInsuranceProductDept::getProductBizId,dto.getProductBizId())
.eq(!Objects.isNull(dto.getType()),RelInsuranceProductDept::getType,dto.getType())
);
return list;
}
}
package com.yd.insurance.base.service.service.impl; package com.yd.insurance.base.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yd.insurance.base.service.model.RelInsuranceProductPlan; import com.yd.insurance.base.service.model.RelInsuranceProductPlan;
import com.yd.insurance.base.service.dao.RelInsuranceProductPlanMapper; import com.yd.insurance.base.service.dao.RelInsuranceProductPlanMapper;
import com.yd.insurance.base.service.service.IRelInsuranceProductPlanService; import com.yd.insurance.base.service.service.IRelInsuranceProductPlanService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.user.service.model.SysDept;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/** /**
* <p> * <p>
...@@ -14,7 +23,33 @@ import org.springframework.stereotype.Service; ...@@ -14,7 +23,33 @@ import org.springframework.stereotype.Service;
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-25
*/ */
@Slf4j
@Primary
@Service @Service
public class RelInsuranceProductPlanServiceImpl extends ServiceImpl<RelInsuranceProductPlanMapper, RelInsuranceProductPlan> implements IRelInsuranceProductPlanService { public class RelInsuranceProductPlanServiceImpl extends ServiceImpl<RelInsuranceProductPlanMapper, RelInsuranceProductPlan> implements IRelInsuranceProductPlanService {
/**
* 根据保险产品id删除关系
* @param productBizId
* @return
*/
@Override
public Boolean removeByProductBizId(String productBizId) {
return this.remove(new LambdaQueryWrapper<RelInsuranceProductPlan>().eq(RelInsuranceProductPlan::getProductBizId,productBizId));
}
/**
* 查询关系列表
* @param productBizId
* @return
*/
@Override
public List<RelInsuranceProductPlan> queryList(String productBizId) {
List<RelInsuranceProductPlan> list = baseMapper.selectList(new LambdaQueryWrapper<RelInsuranceProductPlan>()
.eq(StringUtils.isNotBlank(productBizId),RelInsuranceProductPlan::getProductBizId,productBizId)
);
return list;
}
} }
...@@ -4,6 +4,8 @@ import com.yd.insurance.base.service.model.RelProjectInsuranceProduct; ...@@ -4,6 +4,8 @@ import com.yd.insurance.base.service.model.RelProjectInsuranceProduct;
import com.yd.insurance.base.service.dao.RelProjectInsuranceProductMapper; import com.yd.insurance.base.service.dao.RelProjectInsuranceProductMapper;
import com.yd.insurance.base.service.service.IRelProjectInsuranceProductService; import com.yd.insurance.base.service.service.IRelProjectInsuranceProductService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
...@@ -14,6 +16,9 @@ import org.springframework.stereotype.Service; ...@@ -14,6 +16,9 @@ import org.springframework.stereotype.Service;
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-25
*/ */
@Slf4j
@Primary
@Service @Service
public class RelProjectInsuranceProductServiceImpl extends ServiceImpl<RelProjectInsuranceProductMapper, RelProjectInsuranceProduct> implements IRelProjectInsuranceProductService { public class RelProjectInsuranceProductServiceImpl extends ServiceImpl<RelProjectInsuranceProductMapper, RelProjectInsuranceProduct> implements IRelProjectInsuranceProductService {
......
package com.yd.insurance.base.service.service.impl; package com.yd.insurance.base.service.service.impl;
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.yd.insurance.base.service.model.RelTenantInsuranceProduct;
import com.yd.insurance.base.service.dao.RelTenantInsuranceProductMapper; import com.yd.insurance.base.service.dao.RelTenantInsuranceProductMapper;
import com.yd.insurance.base.service.service.IRelTenantInsuranceProductService; import com.yd.insurance.base.service.service.IRelTenantInsuranceProductService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
...@@ -14,7 +22,31 @@ import org.springframework.stereotype.Service; ...@@ -14,7 +22,31 @@ import org.springframework.stereotype.Service;
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-25
*/ */
@Slf4j
@Primary
@Service @Service
public class RelTenantInsuranceProductServiceImpl extends ServiceImpl<RelTenantInsuranceProductMapper, RelTenantInsuranceProduct> implements IRelTenantInsuranceProductService { public class RelTenantInsuranceProductServiceImpl extends ServiceImpl<RelTenantInsuranceProductMapper, RelTenantInsuranceProduct> implements IRelTenantInsuranceProductService {
@Override
public IPage<ApiRelTenantInsuranceProductListPageResponse> page(Page<ApiRelTenantInsuranceProductListPageResponse> page,
ApiRelTenantInsuranceProductListPageRequest request) {
return baseMapper.page(page,request);
}
/**
* 根据主键id查询单个对象
* @param id
* @return
*/
@Override
public RelTenantInsuranceProduct queryOne(Long id) {
return this.getById(id);
}
@Override
public IPage<ApiRelTenantInsuranceProductSelectPageResponse> selectProductPage(Page<ApiRelTenantInsuranceProductSelectPageResponse> page,
ApiRelTenantInsuranceProductSelectPageRequest request) {
return baseMapper.selectProductPage(page,request);
}
} }
...@@ -4,6 +4,8 @@ import com.yd.insurance.base.service.model.UserSaleExpand; ...@@ -4,6 +4,8 @@ import com.yd.insurance.base.service.model.UserSaleExpand;
import com.yd.insurance.base.service.dao.UserSaleExpandMapper; import com.yd.insurance.base.service.dao.UserSaleExpandMapper;
import com.yd.insurance.base.service.service.IUserSaleExpandService; import com.yd.insurance.base.service.service.IUserSaleExpandService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
...@@ -14,6 +16,9 @@ import org.springframework.stereotype.Service; ...@@ -14,6 +16,9 @@ import org.springframework.stereotype.Service;
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-25
*/ */
@Slf4j
@Primary
@Service @Service
public class UserSaleExpandServiceImpl extends ServiceImpl<UserSaleExpandMapper, UserSaleExpand> implements IUserSaleExpandService { public class UserSaleExpandServiceImpl extends ServiceImpl<UserSaleExpandMapper, UserSaleExpand> implements IUserSaleExpandService {
......
...@@ -4,6 +4,8 @@ import com.yd.insurance.base.service.model.UserSignExpand; ...@@ -4,6 +4,8 @@ import com.yd.insurance.base.service.model.UserSignExpand;
import com.yd.insurance.base.service.dao.UserSignExpandMapper; import com.yd.insurance.base.service.dao.UserSignExpandMapper;
import com.yd.insurance.base.service.service.IUserSignExpandService; import com.yd.insurance.base.service.service.IUserSignExpandService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
...@@ -14,6 +16,9 @@ import org.springframework.stereotype.Service; ...@@ -14,6 +16,9 @@ import org.springframework.stereotype.Service;
* @author zxm * @author zxm
* @since 2025-08-25 * @since 2025-08-25
*/ */
@Slf4j
@Primary
@Service @Service
public class UserSignExpandServiceImpl extends ServiceImpl<UserSignExpandMapper, UserSignExpand> implements IUserSignExpandService { public class UserSignExpandServiceImpl extends ServiceImpl<UserSignExpandMapper, UserSignExpand> implements IUserSignExpandService {
......
...@@ -21,10 +21,7 @@ public class MyBatisPlusCodeGenerator { ...@@ -21,10 +21,7 @@ public class MyBatisPlusCodeGenerator {
}) })
.strategyConfig(builder -> { .strategyConfig(builder -> {
builder.addInclude( builder.addInclude(
"user_sale_expand", "user_sign_expand", "insurance_company_expand", "rel_insurance_additional_product_dept"
"insurance_intermediary_expand", "insurance_product", "insurance_product_plan",
"rel_insurance_product_plan", "rel_tenant_insurance_product", "rel_project_insurance_product",
"rel_insurance_product_company"
) )
.entityBuilder() .entityBuilder()
.enableLombok() .enableLombok()
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.insurance.base.service.dao.InsuranceAdditionalProductMapper">
<select id="page"
resultType="com.yd.insurance.base.feign.response.ApiInsuranceAdditionalProductPageResponse">
select iap.* from insurance_additional_product iap
<where>
<if test="request.productName != null and request.productName != ''">
and iap.product_name like concat('%', #{request.productName}, '%')
</if>
<if test="request.status != null">
and iap.product_status = #{request.status}
</if>
and iap.is_deleted = 0
</where>
</select>
</mapper>
...@@ -2,4 +2,39 @@ ...@@ -2,4 +2,39 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.insurance.base.service.dao.InsuranceProductMapper"> <mapper namespace="com.yd.insurance.base.service.dao.InsuranceProductMapper">
<select id="page" resultType="com.yd.insurance.base.feign.response.ApiInsuranceProductPageResponse">
select
ip.*,
st.tenant_name,sp.project_name
from insurance_product ip
left join sys_tenant st on st.tenant_biz_id = ip.tenant_biz_id and st.is_deleted = 0
left join sys_project sp on sp.project_biz_id = ip.project_biz_id and sp.is_deleted = 0
<where>
<if test="!isAdmin">
and ((ip.scope = 2 and ip.tenant_biz_id = #{loginTenantBizId})
<if test="projectBizIdList.size > 0 and projectBizIdList != null">
or (ip.scope = 3 and ip.project_biz_id in
<foreach collection="projectBizIdList" item="item" index="index" open="(" separator=","
close=")">
#{item}
</foreach>
)
</if>
or (ip.scope = 1)
)
</if>
<if test="request.productName != null and request.productName != ''">
and ip.product_name like concat('%', #{request.productName}, '%')
</if>
<if test="request.status != null">
and ip.product_status = #{request.status}
</if>
and ip.is_deleted = 0
</where>
</select>
</mapper> </mapper>
...@@ -2,4 +2,15 @@ ...@@ -2,4 +2,15 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.insurance.base.service.dao.InsuranceProductPlanMapper"> <mapper namespace="com.yd.insurance.base.service.dao.InsuranceProductPlanMapper">
<select id="page" resultType="com.yd.insurance.base.feign.response.ApiInsuranceProductPlanPageResponse">
select * from insurance_product_plan ipp
<where>
<if test="request.planName != null and request.planName != ''">
and ipp.plan_name like concat('%', #{request.planName}, '%')
</if>
and ipp.is_deleted = 0
</where>
</select>
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.insurance.base.service.dao.RelInsuranceProductCompanyMapper"> <mapper namespace="com.yd.insurance.base.service.dao.RelInsuranceAdditionalProductDeptMapper">
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.insurance.base.service.dao.RelInsuranceAdditionalProductMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.insurance.base.service.dao.RelInsuranceProductDeptMapper">
</mapper>
...@@ -2,4 +2,39 @@ ...@@ -2,4 +2,39 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.insurance.base.service.dao.RelTenantInsuranceProductMapper"> <mapper namespace="com.yd.insurance.base.service.dao.RelTenantInsuranceProductMapper">
<select id="page"
resultType="com.yd.insurance.base.feign.response.ApiRelTenantInsuranceProductListPageResponse">
select
rtip.id,rtip.tenant_biz_id,
ip.id as productId,ip.*
from rel_tenant_insurance_product rtip
left join insurance_product ip on rtip.product_biz_id = ip.product_biz_id and ip.is_deleted = 0
<where>
and rtip.tenant_biz_id = #{request.tenantBizId}
and rtip.is_deleted = 0
<if test="request.productName != null and request.productName != ''">
and ip.product_name like concat('%', #{request.productName}, '%')
</if>
</where>
</select>
<select id="selectProductPage"
resultType="com.yd.insurance.base.feign.response.ApiRelTenantInsuranceProductSelectPageResponse">
select
ip.*
from insurance_product ip
<where>
and ((ip.tenant_biz_id = #{request.tenantBizId} and ip.scope = 2) or ip.scope = 1)
<if test="request.productName != null and request.productName != ''">
and ip.product_name like concat('%', #{request.productName}, '%')
</if>
and ip.is_deleted = 0
and ip.product_biz_id
not in( select rtip.product_biz_id from rel_tenant_insurance_product rtip
where rtip.tenant_biz_id = #{request.tenantBizId} and rtip.is_deleted = 0)
</where>
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment