Commit a2d0c11b by zhangxingmin

基本法

parent 8d0d7161
...@@ -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;
......
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(基本法类型)
*/ */
......
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;
} }
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;
} }
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;
} }
...@@ -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;
} }
...@@ -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======
} }
...@@ -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(sqlAlgorithmResultDto.getProvider()); agentDetailFyc.setProvideId(dto.getProvider());
agentDetailFycList.add(agentDetailFyc); agentDetailFycList.add(agentDetailFyc);
} }
} }
}
if (!CollectionUtils.isEmpty(agentDetailFycList)) { if (!CollectionUtils.isEmpty(agentDetailFycList)) {
//保存积分明细 //保存积分明细
......
...@@ -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();
} }
......
...@@ -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));
......
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;
/** /**
......
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;
/** /**
......
...@@ -28,7 +28,7 @@ public class ApiVariableAddRequest { ...@@ -28,7 +28,7 @@ public class ApiVariableAddRequest {
/** /**
* 变量值 * 变量值
*/ */
@NotBlank(message = "变量值不能为空") // @NotBlank(message = "变量值不能为空")
private String value; private String value;
// /** // /**
......
...@@ -35,7 +35,7 @@ public class ApiVariableEditRequest { ...@@ -35,7 +35,7 @@ public class ApiVariableEditRequest {
/** /**
* 变量值 * 变量值
*/ */
@NotBlank(message = "变量值不能为空") // @NotBlank(message = "变量值不能为空")
private String value; private String value;
/** /**
......
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);
} }
......
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=======
}
...@@ -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;
} }
...@@ -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")
......
...@@ -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);
} }
...@@ -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);
} }
...@@ -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;
} }
......
...@@ -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);
}
} }
......
...@@ -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));
}
} }
......
...@@ -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>
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