Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-csf
Commits
a2d0c11b
Commit
a2d0c11b
authored
Nov 10, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
基本法
parent
8d0d7161
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
288 additions
and
66 deletions
+288
-66
yd-csf-api/src/main/java/com/yd/csf/api/dto/AlgorithmDto.java
+6
-1
yd-csf-api/src/main/java/com/yd/csf/api/dto/AlgorithmResDto.java
+0
-3
yd-csf-api/src/main/java/com/yd/csf/api/dto/ExecuteBillingDto.java
+18
-4
yd-csf-api/src/main/java/com/yd/csf/api/dto/GenerateAgentDetailFycDto.java
+10
-7
yd-csf-api/src/main/java/com/yd/csf/api/dto/GenerateFortuneDto.java
+3
-4
yd-csf-api/src/main/java/com/yd/csf/api/dto/SqlAlgorithmResultDto.java
+18
-2
yd-csf-api/src/main/java/com/yd/csf/api/dto/SqlTemplateParamDto.java
+35
-3
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAgentDetailFycServiceImpl.java
+6
-33
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiBasicLawCalculateServiceImpl.java
+0
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiVariableServiceImpl.java
+9
-1
yd-csf-api/src/main/java/com/yd/csf/api/utils/FormulaParser.java
+12
-6
yd-csf-feign/src/main/java/com/yd/csf/feign/request/commissionruleconfig/ApiCommissionRuleConfigAddRequest.java
+3
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/commissionruleconfig/ApiCommissionRuleConfigEditRequest.java
+3
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/variable/ApiVariableAddRequest.java
+1
-1
yd-csf-feign/src/main/java/com/yd/csf/feign/request/variable/ApiVariableEditRequest.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionMapper.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionBindPolicyBrokerDto.java
+103
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionRuleBindingDto.java
+4
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/CommissionRuleBinding.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/FortuneService.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionRuleBindingServiceImpl.java
+1
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
+10
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
+11
-0
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
+18
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/dto/AlgorithmDto.java
View file @
a2d0c11b
...
@@ -21,11 +21,16 @@ public class AlgorithmDto {
...
@@ -21,11 +21,16 @@ public class AlgorithmDto {
private
String
batchBizId
;
private
String
batchBizId
;
/**
/**
* 转介人业务ID(客户端用户表唯一业务ID)
*
保单绑定的
转介人业务ID(客户端用户表唯一业务ID)
*/
*/
private
String
brokerBizId
;
private
String
brokerBizId
;
/**
/**
* 获得积分的用户(客户端用户表唯一业务ID)
*/
private
String
clientUserBizId
;
/**
* 基本法配置表唯一业务ID(业务员绑定的基本法类型(类型中含多个基本法项目(基本法项目绑定公式)))
* 基本法配置表唯一业务ID(业务员绑定的基本法类型(类型中含多个基本法项目(基本法项目绑定公式)))
*/
*/
private
String
ruleBizId
;
private
String
ruleBizId
;
...
...
yd-csf-api/src/main/java/com/yd/csf/api/dto/AlgorithmResDto.java
View file @
a2d0c11b
package
com
.
yd
.
csf
.
api
.
dto
;
package
com
.
yd
.
csf
.
api
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.List
;
...
@@ -12,7 +10,6 @@ import java.util.List;
...
@@ -12,7 +10,6 @@ import java.util.List;
@Data
@Data
public
class
AlgorithmResDto
{
public
class
AlgorithmResDto
{
/**
/**
* 基本法配置表唯一业务ID(基本法类型)
* 基本法配置表唯一业务ID(基本法类型)
*/
*/
...
...
yd-csf-api/src/main/java/com/yd/csf/api/dto/ExecuteBillingDto.java
View file @
a2d0c11b
package
com
.
yd
.
csf
.
api
.
dto
;
package
com
.
yd
.
csf
.
api
.
dto
;
import
com.yd.csf.service.dto.CommissionBindPolicyBrokerDto
;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.CommissionRuleBinding
;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.model.PolicyBroker
;
import
com.yd.csf.service.model.PolicyBroker
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
...
@@ -14,11 +16,23 @@ import lombok.NoArgsConstructor;
...
@@ -14,11 +16,23 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@AllArgsConstructor
public
class
ExecuteBillingDto
{
public
class
ExecuteBillingDto
{
private
PolicyBroker
policyBroker
;
/**
* 获得积分的业务员(客户端用户表唯一业务ID)
*/
private
String
clientUserBizId
;
private
Policy
policy
;
/**
* 获得积分的业务员姓名
private
Commission
commission
;
*/
private
String
name
;
/**
* 出账的批次号
*/
private
String
batchBizId
;
private
String
batchBizId
;
/**
* 来佣绑定的保单和转介人(销售)信息封装
*/
private
CommissionBindPolicyBrokerDto
brokerDto
;
}
}
yd-csf-api/src/main/java/com/yd/csf/api/dto/GenerateAgentDetailFycDto.java
View file @
a2d0c11b
package
com
.
yd
.
csf
.
api
.
dto
;
package
com
.
yd
.
csf
.
api
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -18,27 +16,32 @@ import java.util.List;
...
@@ -18,27 +16,32 @@ import java.util.List;
public
class
GenerateAgentDetailFycDto
{
public
class
GenerateAgentDetailFycDto
{
/**
/**
*
业务员ID(客户端用户表唯一业务ID,转介人
业务ID)
*
获得积分的业务员(客户端用户唯一
业务ID)
*/
*/
private
String
agentId
;
private
String
agentId
;
/**
/**
* 积分来源类型:保单转介费、一级管理奖、二级管理奖、辅导津贴奖、终身推荐奖
*
提供
积分来源类型:保单转介费、一级管理奖、二级管理奖、辅导津贴奖、终身推荐奖
*/
*/
private
String
sourceType
;
private
String
sourceType
;
/**
/**
* 积分提供的保单号
* 提供积分的业务员(客户端用户唯一业务ID)
*/
private
String
provider
;
/**
* 提供积分的保单号
*/
*/
private
String
policyNo
;
private
String
policyNo
;
/**
/**
* 保单发佣批次ID
*
提供积分的
保单发佣批次ID
*/
*/
private
String
batchBizId
;
private
String
batchBizId
;
/**
/**
*
转介人绑定的基本法列表对应计算值
*
获得积分的业务员绑定的基本法列表(基本法计算值列表)
*/
*/
private
List
<
AlgorithmResDto
>
algorithmResDtoList
;
private
List
<
AlgorithmResDto
>
algorithmResDtoList
;
}
}
yd-csf-api/src/main/java/com/yd/csf/api/dto/GenerateFortuneDto.java
View file @
a2d0c11b
package
com
.
yd
.
csf
.
api
.
dto
;
package
com
.
yd
.
csf
.
api
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -41,12 +40,12 @@ public class GenerateFortuneDto {
...
@@ -41,12 +40,12 @@ public class GenerateFortuneDto {
private
Integer
fortuneTotalPeriod
;
private
Integer
fortuneTotalPeriod
;
/**
/**
* 转介人
* 转介人
(获得积分的业务员)
*/
*/
private
String
broker
;
private
String
broker
;
/**
/**
* 转介人业务ID
* 转介人业务ID
(获得积分的业务员)
*/
*/
private
String
brokerBizId
;
private
String
brokerBizId
;
...
@@ -96,7 +95,7 @@ public class GenerateFortuneDto {
...
@@ -96,7 +95,7 @@ public class GenerateFortuneDto {
private
String
ruleItemBizId
;
private
String
ruleItemBizId
;
/**
/**
*
转介人
绑定的基本法列表对应计算值
*
获得积分业务员
绑定的基本法列表对应计算值
*/
*/
private
List
<
AlgorithmResDto
>
algorithmResDtoList
;
private
List
<
AlgorithmResDto
>
algorithmResDtoList
;
}
}
yd-csf-api/src/main/java/com/yd/csf/api/dto/SqlAlgorithmResultDto.java
View file @
a2d0c11b
...
@@ -8,15 +8,31 @@ import lombok.Data;
...
@@ -8,15 +8,31 @@ import lombok.Data;
@Data
@Data
public
class
SqlAlgorithmResultDto
{
public
class
SqlAlgorithmResultDto
{
//以下通用字段
/**
/**
* 计算的积分值提供者(业务员-客户端用户业务ID)
* 计算的积分值提供者(业务员-客户端用户业务ID)
*/
*/
private
String
provider
;
private
String
provider
;
/**
/**
* 计算值
* 计算
的积分
值
*/
*/
private
String
calculatedValue
;
private
String
calculatedValue
;
//TODO 后续扩展
//以下扩展字段
/**
* 计算的积分值提供者(业务员-客户端用户业务ID)绑定的保单发佣批次ID
*/
private
String
batchBizId
;
/**
* 计算的积分值提供者(业务员-客户端用户业务ID)绑定的保单发佣业务id
*/
private
String
fortuneBizId
;
/**
* 计算的积分值提供者(业务员-客户端用户业务ID)绑定的保单号
*/
private
String
policyNo
;
}
}
yd-csf-api/src/main/java/com/yd/csf/api/dto/SqlTemplateParamDto.java
View file @
a2d0c11b
...
@@ -15,7 +15,27 @@ import lombok.NoArgsConstructor;
...
@@ -15,7 +15,27 @@ import lombok.NoArgsConstructor;
public
class
SqlTemplateParamDto
{
public
class
SqlTemplateParamDto
{
/**
/**
* 条件类型表唯一业务ID
* 保单绑定转介人业务ID(销售业务员,客户端用户表唯一业务ID,也可以单独用作客户端用户ID非绑定保单使用)
*/
private
String
brokerBizId
;
/**
* 获得积分的用户(客户端用户表唯一业务ID)
*/
private
String
clientUserBizId
;
/**
* 保单发佣批次ID
*/
private
String
batchBizId
;
/**
* 保单来佣业务id
*/
private
String
commissionBizId
;
/**
* 基本法-条件类型表唯一业务ID
*/
*/
private
String
conditionTypeBizId
;
private
String
conditionTypeBizId
;
...
@@ -24,13 +44,25 @@ public class SqlTemplateParamDto {
...
@@ -24,13 +44,25 @@ public class SqlTemplateParamDto {
*/
*/
private
String
policyNo
;
private
String
policyNo
;
//======计算SQL-产品公告比例入参参数-start======
/**
* 保险产品唯一业务ID
*/
private
String
productBizId
;
/**
/**
* 产品代码
* 产品代码
*/
*/
private
String
productCode
;
private
String
productCode
;
/**
/**
*
保单绑定转介人业务ID(销售业务员,客户端用户表唯一业务ID)
*
供款年期(产品有5年期的有10年期等)(总期数)
*/
*/
private
String
brokerBizId
;
private
Integer
term
;
/**
* 期数(数字代表第几年)
*/
private
Integer
issueNumber
;
//======计算SQL-产品公告比例入参参数-end======
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAgentDetailFycServiceImpl.java
View file @
a2d0c11b
...
@@ -10,6 +10,7 @@ import com.yd.csf.service.model.AgentDetailFyc;
...
@@ -10,6 +10,7 @@ import com.yd.csf.service.model.AgentDetailFyc;
import
com.yd.csf.service.service.IAgentAccumulatedFycService
;
import
com.yd.csf.service.service.IAgentAccumulatedFycService
;
import
com.yd.csf.service.service.IAgentDetailFycService
;
import
com.yd.csf.service.service.IAgentDetailFycService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
...
@@ -45,33 +46,6 @@ public class ApiAgentDetailFycServiceImpl implements ApiAgentDetailFycService {
...
@@ -45,33 +46,6 @@ public class ApiAgentDetailFycServiceImpl implements ApiAgentDetailFycService {
}
}
if
(!
CollectionUtils
.
isEmpty
(
algorithmResDtoList
))
{
if
(!
CollectionUtils
.
isEmpty
(
algorithmResDtoList
))
{
for
(
AlgorithmResDto
algorithmResDto
:
algorithmResDtoList
){
for
(
AlgorithmResDto
algorithmResDto
:
algorithmResDtoList
){
if
(!
CollectionUtils
.
isEmpty
(
algorithmResDto
.
getSqlAlgorithmResultDtoList
()))
{
for
(
SqlAlgorithmResultDto
sqlAlgorithmResultDto
:
algorithmResDto
.
getSqlAlgorithmResultDtoList
())
{
AgentDetailFyc
agentDetailFyc
=
new
AgentDetailFyc
();
//变化前的业务员总FYC积分 -> 查询
agentDetailFyc
.
setBeforeFyc
(
totalFyc
);
//累加积分值
totalFyc
=
totalFyc
.
add
(
new
BigDecimal
(
sqlAlgorithmResultDto
.
getCalculatedValue
()));
//变化值(-代表减少)
agentDetailFyc
.
setChangeFyc
(
sqlAlgorithmResultDto
.
getCalculatedValue
());
//变化后的业务员总FYC积分
agentDetailFyc
.
setAfterFyc
(
totalFyc
);
//业务员ID(客户端用户表唯一业务ID)获取积分的人
agentDetailFyc
.
setAgentId
(
dto
.
getAgentId
());
//积分来源类型 TODO
// agentDetailFyc.setSourceType();
//积分来源基本法项目配置表唯一业务ID
agentDetailFyc
.
setRuleItemBizId
(
algorithmResDto
.
getRuleItemBizId
());
//保单发佣批次ID
agentDetailFyc
.
setBatchBizId
(
dto
.
getBatchBizId
());
//积分提供的保单号
agentDetailFyc
.
setPolicyNo
(
dto
.
getPolicyNo
());
//积分提供者(客户端用户表唯一业务ID)
agentDetailFyc
.
setProvideId
(
sqlAlgorithmResultDto
.
getProvider
());
agentDetailFycList
.
add
(
agentDetailFyc
);
}
}
else
{
AgentDetailFyc
agentDetailFyc
=
new
AgentDetailFyc
();
AgentDetailFyc
agentDetailFyc
=
new
AgentDetailFyc
();
//变化前的业务员总FYC积分 -> 查询
//变化前的业务员总FYC积分 -> 查询
agentDetailFyc
.
setBeforeFyc
(
totalFyc
);
agentDetailFyc
.
setBeforeFyc
(
totalFyc
);
...
@@ -81,22 +55,21 @@ public class ApiAgentDetailFycServiceImpl implements ApiAgentDetailFycService {
...
@@ -81,22 +55,21 @@ public class ApiAgentDetailFycServiceImpl implements ApiAgentDetailFycService {
agentDetailFyc
.
setChangeFyc
(
algorithmResDto
.
getCalculatedValue
().
toString
());
agentDetailFyc
.
setChangeFyc
(
algorithmResDto
.
getCalculatedValue
().
toString
());
//变化后的业务员总FYC积分
//变化后的业务员总FYC积分
agentDetailFyc
.
setAfterFyc
(
totalFyc
);
agentDetailFyc
.
setAfterFyc
(
totalFyc
);
//业务员ID(客户端用户表唯一业务ID)获取积分的人
//获得积分的业务员(客户端用户唯一业务ID)
agentDetailFyc
.
setAgentId
(
dto
.
getAgentId
());
agentDetailFyc
.
setAgentId
(
dto
.
getAgentId
());
//积分来源类型 TODO
//积分来源类型 TODO
// agentDetailFyc.setSourceType();
// agentDetailFyc.setSourceType();
//积分来源基本法项目配置表唯一业务ID
//积分来源基本法项目配置表唯一业务ID
agentDetailFyc
.
setRuleItemBizId
(
algorithmResDto
.
getRuleItemBizId
());
agentDetailFyc
.
setRuleItemBizId
(
algorithmResDto
.
getRuleItemBizId
());
//
保单发佣批次ID
//提供积分的
保单发佣批次ID
agentDetailFyc
.
setBatchBizId
(
dto
.
getBatchBizId
());
agentDetailFyc
.
setBatchBizId
(
dto
.
getBatchBizId
());
//积分提供
的保单号
//提供积分
的保单号
agentDetailFyc
.
setPolicyNo
(
dto
.
getPolicyNo
());
agentDetailFyc
.
setPolicyNo
(
dto
.
getPolicyNo
());
//积分提供者(客户端用户表
唯一业务ID)
//提供积分的业务员(客户端用户
唯一业务ID)
// agentDetailFyc.setProvideId(sqlAlgorithmResultD
to.getProvider());
agentDetailFyc
.
setProvideId
(
d
to
.
getProvider
());
agentDetailFycList
.
add
(
agentDetailFyc
);
agentDetailFycList
.
add
(
agentDetailFyc
);
}
}
}
}
}
if
(!
CollectionUtils
.
isEmpty
(
agentDetailFycList
))
{
if
(!
CollectionUtils
.
isEmpty
(
agentDetailFycList
))
{
//保存积分明细
//保存积分明细
...
...
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiBasicLawCalculateServiceImpl.java
View file @
a2d0c11b
This diff is collapsed.
Click to expand it.
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiVariableServiceImpl.java
View file @
a2d0c11b
...
@@ -26,6 +26,7 @@ import com.yd.csf.service.dto.VariableDto;
...
@@ -26,6 +26,7 @@ import com.yd.csf.service.dto.VariableDto;
import
com.yd.csf.service.model.Variable
;
import
com.yd.csf.service.model.Variable
;
import
com.yd.csf.service.service.IRelObjectConditionService
;
import
com.yd.csf.service.service.IRelObjectConditionService
;
import
com.yd.csf.service.service.IVariableService
;
import
com.yd.csf.service.service.IVariableService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -115,6 +116,7 @@ public class ApiVariableServiceImpl implements ApiVariableService {
...
@@ -115,6 +116,7 @@ public class ApiVariableServiceImpl implements ApiVariableService {
iVariableService
.
saveOrUpdate
(
variable
);
iVariableService
.
saveOrUpdate
(
variable
);
//绑定的条件类型业务ID - 保存对象条件关系表数据
//绑定的条件类型业务ID - 保存对象条件关系表数据
if
(
StringUtils
.
isNotBlank
(
request
.
getConditionTypeBizId
()))
{
List
<
String
>
conditionTypeBizIdList
=
new
ArrayList
<>();
List
<
String
>
conditionTypeBizIdList
=
new
ArrayList
<>();
conditionTypeBizIdList
.
add
(
request
.
getConditionTypeBizId
());
conditionTypeBizIdList
.
add
(
request
.
getConditionTypeBizId
());
apiRelObjectConditionService
.
saveRelList
(
ApiRelObjectConditionDto
.
builder
()
apiRelObjectConditionService
.
saveRelList
(
ApiRelObjectConditionDto
.
builder
()
...
@@ -124,8 +126,10 @@ public class ApiVariableServiceImpl implements ApiVariableService {
...
@@ -124,8 +126,10 @@ public class ApiVariableServiceImpl implements ApiVariableService {
.
objectType
(
CommonEnum
.
UID_TYPE_VARIABLE
.
getCode
())
.
objectType
(
CommonEnum
.
UID_TYPE_VARIABLE
.
getCode
())
.
conditionTypeBizIdList
(
conditionTypeBizIdList
)
.
conditionTypeBizIdList
(
conditionTypeBizIdList
)
.
build
());
.
build
());
}
//绑定的sql模板业务ID - 保存对象sql模板关系表数据
//绑定的sql模板业务ID - 保存对象sql模板关系表数据
if
(
StringUtils
.
isNotBlank
(
request
.
getSqlTemplateBizId
()))
{
List
<
String
>
sqlTemplateBizIdList
=
new
ArrayList
<>();
List
<
String
>
sqlTemplateBizIdList
=
new
ArrayList
<>();
sqlTemplateBizIdList
.
add
(
request
.
getSqlTemplateBizId
());
sqlTemplateBizIdList
.
add
(
request
.
getSqlTemplateBizId
());
apiRelObjectSqlService
.
saveRelList
(
ApiRelObjectSqlDto
.
builder
()
apiRelObjectSqlService
.
saveRelList
(
ApiRelObjectSqlDto
.
builder
()
...
@@ -135,6 +139,7 @@ public class ApiVariableServiceImpl implements ApiVariableService {
...
@@ -135,6 +139,7 @@ public class ApiVariableServiceImpl implements ApiVariableService {
.
objectType
(
CommonEnum
.
UID_TYPE_VARIABLE
.
getCode
())
.
objectType
(
CommonEnum
.
UID_TYPE_VARIABLE
.
getCode
())
.
sqlTemplateBizIdList
(
sqlTemplateBizIdList
)
.
sqlTemplateBizIdList
(
sqlTemplateBizIdList
)
.
build
());
.
build
());
}
return
Result
.
success
();
return
Result
.
success
();
}
}
...
@@ -171,6 +176,7 @@ public class ApiVariableServiceImpl implements ApiVariableService {
...
@@ -171,6 +176,7 @@ public class ApiVariableServiceImpl implements ApiVariableService {
iVariableService
.
saveOrUpdate
(
variable
);
iVariableService
.
saveOrUpdate
(
variable
);
//绑定的条件类型业务ID - 保存对象条件关系表数据
//绑定的条件类型业务ID - 保存对象条件关系表数据
if
(
StringUtils
.
isNotBlank
(
request
.
getConditionTypeBizId
()))
{
List
<
String
>
conditionTypeBizIdList
=
new
ArrayList
<>();
List
<
String
>
conditionTypeBizIdList
=
new
ArrayList
<>();
conditionTypeBizIdList
.
add
(
request
.
getConditionTypeBizId
());
conditionTypeBizIdList
.
add
(
request
.
getConditionTypeBizId
());
apiRelObjectConditionService
.
saveRelList
(
ApiRelObjectConditionDto
.
builder
()
apiRelObjectConditionService
.
saveRelList
(
ApiRelObjectConditionDto
.
builder
()
...
@@ -180,8 +186,10 @@ public class ApiVariableServiceImpl implements ApiVariableService {
...
@@ -180,8 +186,10 @@ public class ApiVariableServiceImpl implements ApiVariableService {
.
objectType
(
CommonEnum
.
UID_TYPE_VARIABLE
.
getCode
())
.
objectType
(
CommonEnum
.
UID_TYPE_VARIABLE
.
getCode
())
.
conditionTypeBizIdList
(
conditionTypeBizIdList
)
.
conditionTypeBizIdList
(
conditionTypeBizIdList
)
.
build
());
.
build
());
}
//绑定的sql模板业务ID - 保存对象sql模板关系表数据
//绑定的sql模板业务ID - 保存对象sql模板关系表数据
if
(
StringUtils
.
isNotBlank
(
request
.
getSqlTemplateBizId
()))
{
List
<
String
>
sqlTemplateBizIdList
=
new
ArrayList
<>();
List
<
String
>
sqlTemplateBizIdList
=
new
ArrayList
<>();
sqlTemplateBizIdList
.
add
(
request
.
getSqlTemplateBizId
());
sqlTemplateBizIdList
.
add
(
request
.
getSqlTemplateBizId
());
apiRelObjectSqlService
.
saveRelList
(
ApiRelObjectSqlDto
.
builder
()
apiRelObjectSqlService
.
saveRelList
(
ApiRelObjectSqlDto
.
builder
()
...
@@ -191,7 +199,7 @@ public class ApiVariableServiceImpl implements ApiVariableService {
...
@@ -191,7 +199,7 @@ public class ApiVariableServiceImpl implements ApiVariableService {
.
objectType
(
CommonEnum
.
UID_TYPE_VARIABLE
.
getCode
())
.
objectType
(
CommonEnum
.
UID_TYPE_VARIABLE
.
getCode
())
.
sqlTemplateBizIdList
(
sqlTemplateBizIdList
)
.
sqlTemplateBizIdList
(
sqlTemplateBizIdList
)
.
build
());
.
build
());
}
return
Result
.
success
();
return
Result
.
success
();
}
}
...
...
yd-csf-api/src/main/java/com/yd/csf/api/utils/FormulaParser.java
View file @
a2d0c11b
...
@@ -20,8 +20,8 @@ public class FormulaParser {
...
@@ -20,8 +20,8 @@ public class FormulaParser {
return
variableIds
;
return
variableIds
;
}
}
//
正则表达式匹配 variable_ 后面跟着数字的模式
//
修改正则表达式以匹配新的变量ID格式(包含字母和数字)
Pattern
pattern
=
Pattern
.
compile
(
"variable_
\\d
+"
);
Pattern
pattern
=
Pattern
.
compile
(
"variable_
[a-zA-Z0-9]
+"
);
Matcher
matcher
=
pattern
.
matcher
(
calculationFormulaBizId
);
Matcher
matcher
=
pattern
.
matcher
(
calculationFormulaBizId
);
while
(
matcher
.
find
())
{
while
(
matcher
.
find
())
{
...
@@ -43,7 +43,8 @@ public class FormulaParser {
...
@@ -43,7 +43,8 @@ public class FormulaParser {
return
variableIds
;
return
variableIds
;
}
}
Pattern
pattern
=
Pattern
.
compile
(
"variable_\\d+"
);
// 修改正则表达式以匹配新的变量ID格式(包含字母和数字)
Pattern
pattern
=
Pattern
.
compile
(
"variable_[a-zA-Z0-9]+"
);
Matcher
matcher
=
pattern
.
matcher
(
calculationFormulaBizId
);
Matcher
matcher
=
pattern
.
matcher
(
calculationFormulaBizId
);
while
(
matcher
.
find
())
{
while
(
matcher
.
find
())
{
...
@@ -65,14 +66,19 @@ public class FormulaParser {
...
@@ -65,14 +66,19 @@ public class FormulaParser {
return
numericIds
;
return
numericIds
;
}
}
// 匹配 variable_ 后面的
数字部分
// 匹配 variable_ 后面的
字母数字部分(由于新格式可能包含字母,此方法可能不再适用)
Pattern
pattern
=
Pattern
.
compile
(
"variable_(
\\d
+)"
);
Pattern
pattern
=
Pattern
.
compile
(
"variable_(
[a-zA-Z0-9]
+)"
);
Matcher
matcher
=
pattern
.
matcher
(
calculationFormulaBizId
);
Matcher
matcher
=
pattern
.
matcher
(
calculationFormulaBizId
);
while
(
matcher
.
find
())
{
while
(
matcher
.
find
())
{
try
{
try
{
Long
numericId
=
Long
.
parseLong
(
matcher
.
group
(
1
));
// 注意:新格式可能包含字母,无法直接转换为Long
// 这里保留原有逻辑,但实际可能返回空集合
String
idPart
=
matcher
.
group
(
1
);
if
(
idPart
.
matches
(
"\\d+"
))
{
Long
numericId
=
Long
.
parseLong
(
idPart
);
numericIds
.
add
(
numericId
);
numericIds
.
add
(
numericId
);
}
}
catch
(
NumberFormatException
e
)
{
}
catch
(
NumberFormatException
e
)
{
// 忽略格式错误的ID
// 忽略格式错误的ID
System
.
err
.
println
(
"无效的数字ID: "
+
matcher
.
group
(
1
));
System
.
err
.
println
(
"无效的数字ID: "
+
matcher
.
group
(
1
));
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/request/commissionruleconfig/ApiCommissionRuleConfigAddRequest.java
View file @
a2d0c11b
package
com
.
yd
.
csf
.
feign
.
request
.
commissionruleconfig
;
package
com
.
yd
.
csf
.
feign
.
request
.
commissionruleconfig
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
...
@@ -23,11 +24,13 @@ public class ApiCommissionRuleConfigAddRequest {
...
@@ -23,11 +24,13 @@ public class ApiCommissionRuleConfigAddRequest {
/**
/**
* 生效开始日期
* 生效开始日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
effectiveStart
;
private
LocalDateTime
effectiveStart
;
/**
/**
* 生效结束日期
* 生效结束日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
effectiveEnd
;
private
LocalDateTime
effectiveEnd
;
/**
/**
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/request/commissionruleconfig/ApiCommissionRuleConfigEditRequest.java
View file @
a2d0c11b
package
com
.
yd
.
csf
.
feign
.
request
.
commissionruleconfig
;
package
com
.
yd
.
csf
.
feign
.
request
.
commissionruleconfig
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
...
@@ -28,11 +29,13 @@ public class ApiCommissionRuleConfigEditRequest {
...
@@ -28,11 +29,13 @@ public class ApiCommissionRuleConfigEditRequest {
/**
/**
* 生效开始日期
* 生效开始日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
effectiveStart
;
private
LocalDateTime
effectiveStart
;
/**
/**
* 生效结束日期
* 生效结束日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
effectiveEnd
;
private
LocalDateTime
effectiveEnd
;
/**
/**
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/request/variable/ApiVariableAddRequest.java
View file @
a2d0c11b
...
@@ -28,7 +28,7 @@ public class ApiVariableAddRequest {
...
@@ -28,7 +28,7 @@ public class ApiVariableAddRequest {
/**
/**
* 变量值
* 变量值
*/
*/
@NotBlank
(
message
=
"变量值不能为空"
)
//
@NotBlank(message = "变量值不能为空")
private
String
value
;
private
String
value
;
// /**
// /**
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/request/variable/ApiVariableEditRequest.java
View file @
a2d0c11b
...
@@ -35,7 +35,7 @@ public class ApiVariableEditRequest {
...
@@ -35,7 +35,7 @@ public class ApiVariableEditRequest {
/**
/**
* 变量值
* 变量值
*/
*/
@NotBlank
(
message
=
"变量值不能为空"
)
//
@NotBlank(message = "变量值不能为空")
private
String
value
;
private
String
value
;
/**
/**
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dao/CommissionMapper.java
View file @
a2d0c11b
package
com
.
yd
.
csf
.
service
.
dao
;
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.yd.csf.service.dto.CommissionBindPolicyBrokerDto
;
import
com.yd.csf.service.dto.CommissionDto
;
import
com.yd.csf.service.model.Commission
;
import
com.yd.csf.service.model.Commission
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
/**
* @author Zhang Jianan
* @author Zhang Jianan
...
@@ -11,6 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -11,6 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
*/
public
interface
CommissionMapper
extends
BaseMapper
<
Commission
>
{
public
interface
CommissionMapper
extends
BaseMapper
<
Commission
>
{
List
<
CommissionBindPolicyBrokerDto
>
queryCommissionBindPolicyBrokerList
(
@Param
(
"dto"
)
CommissionDto
dto
);
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionBindPolicyBrokerDto.java
0 → 100644
View file @
a2d0c11b
package
com
.
yd
.
csf
.
service
.
dto
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* 来佣绑定的保单和转介人信息封装
*/
@Data
public
class
CommissionBindPolicyBrokerDto
{
/**
* 保单号
*/
private
String
policyNo
;
//======来佣信息start=======
/**
* 保单来佣业务id
*/
private
String
commissionBizId
;
/**
* 佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
private
Integer
commissionPeriod
;
/**
* 总来佣期数
*/
private
Integer
totalPeriod
;
/**
* 来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
private
String
commissionName
;
/**
* 来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
private
String
commissionType
;
/**
* 来佣金额
*/
private
BigDecimal
amount
;
/**
* 来佣币种
*/
private
String
currency
;
/**
* 来佣日期
*/
private
Date
commissionDate
;
/**
* 来佣状态 0=未比对 1=比对成功 2=比对失败
*/
private
String
commissionStatus
;
//======来佣信息end=======
//======保单信息start=======
/**
* 用户业务id
*/
private
String
userBizId
;
/**
* 产品业务id
*/
private
String
planBizId
;
/**
* 产品代码
*/
private
String
productCode
;
//======保单信息end=======
//======保单转介人信息start=======
/**
* 转介人名称
*/
private
String
brokerName
;
/**
* 转介人业务ID(客户端用户表唯一业务ID)
*/
private
String
brokerBizId
;
/**
* 所属团队
*/
private
String
team
;
/**
* 所属团队业务id
*/
private
String
teamBizId
;
//======保单转介人信息end=======
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/CommissionRuleBindingDto.java
View file @
a2d0c11b
...
@@ -6,6 +6,8 @@ import lombok.Builder;
...
@@ -6,6 +6,8 @@ import lombok.Builder;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@Data
@Data
@Builder
@Builder
@NoArgsConstructor
@NoArgsConstructor
...
@@ -31,4 +33,6 @@ public class CommissionRuleBindingDto {
...
@@ -31,4 +33,6 @@ public class CommissionRuleBindingDto {
* 目标ID,业务员ID或团队ID
* 目标ID,业务员ID或团队ID
*/
*/
private
String
targetId
;
private
String
targetId
;
private
List
<
String
>
targetIdList
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/model/CommissionRuleBinding.java
View file @
a2d0c11b
...
@@ -55,6 +55,12 @@ public class CommissionRuleBinding implements Serializable {
...
@@ -55,6 +55,12 @@ public class CommissionRuleBinding implements Serializable {
private
String
targetId
;
private
String
targetId
;
/**
/**
* 目标名称,业务员姓名或团队名称
*/
@TableField
(
"target_name"
)
private
String
targetName
;
/**
* 生效开始时间,绑定关系开始生效的时间
* 生效开始时间,绑定关系开始生效的时间
*/
*/
@TableField
(
"effective_start"
)
@TableField
(
"effective_start"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/CommissionService.java
View file @
a2d0c11b
...
@@ -31,4 +31,6 @@ public interface CommissionService extends IService<Commission> {
...
@@ -31,4 +31,6 @@ public interface CommissionService extends IService<Commission> {
Commission
getByCommissionBizId
(
String
commissionBizId
);
Commission
getByCommissionBizId
(
String
commissionBizId
);
List
<
Commission
>
queryList
(
CommissionDto
dto
);
List
<
Commission
>
queryList
(
CommissionDto
dto
);
List
<
CommissionBindPolicyBrokerDto
>
queryCommissionBindPolicyBrokerList
(
CommissionDto
dto
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/FortuneService.java
View file @
a2d0c11b
...
@@ -33,4 +33,6 @@ public interface FortuneService extends IService<Fortune> {
...
@@ -33,4 +33,6 @@ public interface FortuneService extends IService<Fortune> {
Fortune
getByFortuneBizId
(
String
fortuneBizId
);
Fortune
getByFortuneBizId
(
String
fortuneBizId
);
Boolean
addFortune
(
FortuneAddRequest
fortuneAddRequest
);
Boolean
addFortune
(
FortuneAddRequest
fortuneAddRequest
);
Fortune
queryOne
(
String
fortuneBizId
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionRuleBindingServiceImpl.java
View file @
a2d0c11b
...
@@ -33,6 +33,7 @@ public class CommissionRuleBindingServiceImpl extends ServiceImpl<CommissionRule
...
@@ -33,6 +33,7 @@ public class CommissionRuleBindingServiceImpl extends ServiceImpl<CommissionRule
public
List
<
CommissionRuleBinding
>
queryList
(
CommissionRuleBindingDto
dto
)
{
public
List
<
CommissionRuleBinding
>
queryList
(
CommissionRuleBindingDto
dto
)
{
List
<
CommissionRuleBinding
>
list
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
CommissionRuleBinding
>()
List
<
CommissionRuleBinding
>
list
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
CommissionRuleBinding
>()
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getTargetId
()),
CommissionRuleBinding:
:
getTargetId
,
dto
.
getTargetId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getTargetId
()),
CommissionRuleBinding:
:
getTargetId
,
dto
.
getTargetId
())
.
in
(!
CollectionUtils
.
isEmpty
(
dto
.
getTargetIdList
()),
CommissionRuleBinding:
:
getTargetId
,
dto
.
getTargetIdList
())
);
);
return
list
;
return
list
;
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionServiceImpl.java
View file @
a2d0c11b
...
@@ -204,6 +204,16 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
...
@@ -204,6 +204,16 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
);
);
return
list
;
return
list
;
}
}
/**
* 查询来佣保单转介人关系信息
* @param dto
* @return
*/
@Override
public
List
<
CommissionBindPolicyBrokerDto
>
queryCommissionBindPolicyBrokerList
(
CommissionDto
dto
)
{
return
baseMapper
.
queryCommissionBindPolicyBrokerList
(
dto
);
}
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
View file @
a2d0c11b
...
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
...
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.EasyExcel
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
@@ -275,6 +276,16 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
...
@@ -275,6 +276,16 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
return
this
.
save
(
fortune
);
return
this
.
save
(
fortune
);
}
}
/**
* 查询单个对象
* @param fortuneBizId
* @return
*/
@Override
public
Fortune
queryOne
(
String
fortuneBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
Fortune
>().
eq
(
Fortune:
:
getFortuneBizId
,
fortuneBizId
));
}
}
}
...
...
yd-csf-service/src/main/resources/mappers/CommissionMapper.xml
View file @
a2d0c11b
...
@@ -32,4 +32,22 @@
...
@@ -32,4 +32,22 @@
commission_date,status,remark,is_deleted,creator_id,
commission_date,status,remark,is_deleted,creator_id,
updater_id,create_time,update_time
updater_id,create_time,update_time
</sql>
</sql>
<select
id=
"queryCommissionBindPolicyBrokerList"
resultType=
"com.yd.csf.service.dto.CommissionBindPolicyBrokerDto"
>
select c.*,p.*,pb.*
from commission c
left join policy p on p.policy_no = c.policy_no and p.is_deleted = 0
left join policy_broker pb on pb.policy_no = p.policy_no and pb.is_deleted = 0
<where>
<if
test=
"dto.commissionBizIdList != null and dto.commissionBizIdList.size > 0"
>
and c.commission_biz_id in
<foreach
collection=
"dto.commissionBizIdList"
item=
"item"
index=
"index"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
and c.is_deleted = 0
</where>
group by c.policy_no
</select>
</mapper>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment