Commit a2d0c11b by zhangxingmin

基本法

parent 8d0d7161
......@@ -21,11 +21,16 @@ public class AlgorithmDto {
private String batchBizId;
/**
* 转介人业务ID(客户端用户表唯一业务ID)
* 保单绑定的转介人业务ID(客户端用户表唯一业务ID)
*/
private String brokerBizId;
/**
* 获得积分的用户(客户端用户表唯一业务ID)
*/
private String clientUserBizId;
/**
* 基本法配置表唯一业务ID(业务员绑定的基本法类型(类型中含多个基本法项目(基本法项目绑定公式)))
*/
private String ruleBizId;
......
package com.yd.csf.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
......@@ -12,7 +10,6 @@ import java.util.List;
@Data
public class AlgorithmResDto {
/**
* 基本法配置表唯一业务ID(基本法类型)
*/
......
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.CommissionRuleBinding;
import com.yd.csf.service.model.Policy;
import com.yd.csf.service.model.PolicyBroker;
import lombok.AllArgsConstructor;
......@@ -14,11 +16,23 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class ExecuteBillingDto {
private PolicyBroker policyBroker;
/**
* 获得积分的业务员(客户端用户表唯一业务ID)
*/
private String clientUserBizId;
private Policy policy;
private Commission commission;
/**
* 获得积分的业务员姓名
*/
private String name;
/**
* 出账的批次号
*/
private String batchBizId;
/**
* 来佣绑定的保单和转介人(销售)信息封装
*/
private CommissionBindPolicyBrokerDto brokerDto;
}
package com.yd.csf.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
......@@ -18,27 +16,32 @@ import java.util.List;
public class GenerateAgentDetailFycDto {
/**
* 业务员ID(客户端用户表唯一业务ID,转介人业务ID)
* 获得积分的业务员(客户端用户唯一业务ID)
*/
private String agentId;
/**
* 积分来源类型:保单转介费、一级管理奖、二级管理奖、辅导津贴奖、终身推荐奖
* 提供积分来源类型:保单转介费、一级管理奖、二级管理奖、辅导津贴奖、终身推荐奖
*/
private String sourceType;
/**
* 积分提供的保单号
* 提供积分的业务员(客户端用户唯一业务ID)
*/
private String provider;
/**
* 提供积分的保单号
*/
private String policyNo;
/**
* 保单发佣批次ID
* 提供积分的保单发佣批次ID
*/
private String batchBizId;
/**
* 转介人绑定的基本法列表对应计算值
* 获得积分的业务员绑定的基本法列表(基本法计算值列表)
*/
private List<AlgorithmResDto> algorithmResDtoList;
}
package com.yd.csf.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
......@@ -41,12 +40,12 @@ public class GenerateFortuneDto {
private Integer fortuneTotalPeriod;
/**
* 转介人
* 转介人 (获得积分的业务员)
*/
private String broker;
/**
* 转介人业务ID
* 转介人业务ID (获得积分的业务员)
*/
private String brokerBizId;
......@@ -96,7 +95,7 @@ public class GenerateFortuneDto {
private String ruleItemBizId;
/**
* 转介人绑定的基本法列表对应计算值
* 获得积分业务员绑定的基本法列表对应计算值
*/
private List<AlgorithmResDto> algorithmResDtoList;
}
......@@ -8,15 +8,31 @@ import lombok.Data;
@Data
public class SqlAlgorithmResultDto {
//以下通用字段
/**
* 计算的积分值提供者(业务员-客户端用户业务ID)
*/
private String provider;
/**
* 计算值
* 计算的积分
*/
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;
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;
......@@ -24,13 +44,25 @@ public class SqlTemplateParamDto {
*/
private String policyNo;
//======计算SQL-产品公告比例入参参数-start======
/**
* 保险产品唯一业务ID
*/
private String productBizId;
/**
* 产品代码
*/
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;
import com.yd.csf.service.service.IAgentAccumulatedFycService;
import com.yd.csf.service.service.IAgentDetailFycService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
......@@ -45,56 +46,28 @@ public class ApiAgentDetailFycServiceImpl implements ApiAgentDetailFycService {
}
if (!CollectionUtils.isEmpty(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();
//变化前的业务员总FYC积分 -> 查询
agentDetailFyc.setBeforeFyc(totalFyc);
//累加积分值
totalFyc = totalFyc.add(algorithmResDto.getCalculatedValue());
//变化值(-代表减少)
agentDetailFyc.setChangeFyc(algorithmResDto.getCalculatedValue().toString());
//变化后的业务员总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);
}
AgentDetailFyc agentDetailFyc = new AgentDetailFyc();
//变化前的业务员总FYC积分 -> 查询
agentDetailFyc.setBeforeFyc(totalFyc);
//累加积分值
totalFyc = totalFyc.add(algorithmResDto.getCalculatedValue());
//变化值(-代表减少)
agentDetailFyc.setChangeFyc(algorithmResDto.getCalculatedValue().toString());
//变化后的业务员总FYC积分
agentDetailFyc.setAfterFyc(totalFyc);
//获得积分的业务员(客户端用户唯一业务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(dto.getProvider());
agentDetailFycList.add(agentDetailFyc);
}
}
......
......@@ -26,6 +26,7 @@ import com.yd.csf.service.dto.VariableDto;
import com.yd.csf.service.model.Variable;
import com.yd.csf.service.service.IRelObjectConditionService;
import com.yd.csf.service.service.IVariableService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -115,26 +116,30 @@ public class ApiVariableServiceImpl implements ApiVariableService {
iVariableService.saveOrUpdate(variable);
//绑定的条件类型业务ID - 保存对象条件关系表数据
List<String> conditionTypeBizIdList = new ArrayList<>();
conditionTypeBizIdList.add(request.getConditionTypeBizId());
apiRelObjectConditionService.saveRelList(ApiRelObjectConditionDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.conditionTypeBizIdList(conditionTypeBizIdList)
.build());
if (StringUtils.isNotBlank(request.getConditionTypeBizId())) {
List<String> conditionTypeBizIdList = new ArrayList<>();
conditionTypeBizIdList.add(request.getConditionTypeBizId());
apiRelObjectConditionService.saveRelList(ApiRelObjectConditionDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.conditionTypeBizIdList(conditionTypeBizIdList)
.build());
}
//绑定的sql模板业务ID - 保存对象sql模板关系表数据
List<String> sqlTemplateBizIdList = new ArrayList<>();
sqlTemplateBizIdList.add(request.getSqlTemplateBizId());
apiRelObjectSqlService.saveRelList(ApiRelObjectSqlDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.sqlTemplateBizIdList(sqlTemplateBizIdList)
.build());
if (StringUtils.isNotBlank(request.getSqlTemplateBizId())) {
List<String> sqlTemplateBizIdList = new ArrayList<>();
sqlTemplateBizIdList.add(request.getSqlTemplateBizId());
apiRelObjectSqlService.saveRelList(ApiRelObjectSqlDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.sqlTemplateBizIdList(sqlTemplateBizIdList)
.build());
}
return Result.success();
}
......@@ -171,27 +176,30 @@ public class ApiVariableServiceImpl implements ApiVariableService {
iVariableService.saveOrUpdate(variable);
//绑定的条件类型业务ID - 保存对象条件关系表数据
List<String> conditionTypeBizIdList = new ArrayList<>();
conditionTypeBizIdList.add(request.getConditionTypeBizId());
apiRelObjectConditionService.saveRelList(ApiRelObjectConditionDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.conditionTypeBizIdList(conditionTypeBizIdList)
.build());
if (StringUtils.isNotBlank(request.getConditionTypeBizId())) {
List<String> conditionTypeBizIdList = new ArrayList<>();
conditionTypeBizIdList.add(request.getConditionTypeBizId());
apiRelObjectConditionService.saveRelList(ApiRelObjectConditionDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.conditionTypeBizIdList(conditionTypeBizIdList)
.build());
}
//绑定的sql模板业务ID - 保存对象sql模板关系表数据
List<String> sqlTemplateBizIdList = new ArrayList<>();
sqlTemplateBizIdList.add(request.getSqlTemplateBizId());
apiRelObjectSqlService.saveRelList(ApiRelObjectSqlDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.sqlTemplateBizIdList(sqlTemplateBizIdList)
.build());
if (StringUtils.isNotBlank(request.getSqlTemplateBizId())) {
List<String> sqlTemplateBizIdList = new ArrayList<>();
sqlTemplateBizIdList.add(request.getSqlTemplateBizId());
apiRelObjectSqlService.saveRelList(ApiRelObjectSqlDto.builder()
.objectBizId(variable.getVariableBizId())
.objectName(CommonEnum.UID_TYPE_VARIABLE.getName())
.objectTableName(CommonEnum.UID_TYPE_VARIABLE.getCode())
.objectType(CommonEnum.UID_TYPE_VARIABLE.getCode())
.sqlTemplateBizIdList(sqlTemplateBizIdList)
.build());
}
return Result.success();
}
......
......@@ -7,7 +7,7 @@ import java.util.regex.*;
* 公式解析工具类
*/
public class FormulaParser {
/**
* 从公式字符串中解析出所有变量业务ID
* @param calculationFormulaBizId 公式字符串,如 "(variable_1001 + variable_2123) * variable_4455"
......@@ -15,22 +15,22 @@ public class FormulaParser {
*/
public static Set<String> parseVariableBizIds(String calculationFormulaBizId) {
Set<String> variableIds = new HashSet<>();
if (calculationFormulaBizId == null || calculationFormulaBizId.trim().isEmpty()) {
return variableIds;
}
// 正则表达式匹配 variable_ 后面跟着数字的模式
Pattern pattern = Pattern.compile("variable_\\d+");
// 修改正则表达式以匹配新的变量ID格式(包含字母和数字)
Pattern pattern = Pattern.compile("variable_[a-zA-Z0-9]+");
Matcher matcher = pattern.matcher(calculationFormulaBizId);
while (matcher.find()) {
variableIds.add(matcher.group());
}
return variableIds;
}
/**
* 从公式字符串中解析出所有变量业务ID(返回列表,保持顺序)
* @param calculationFormulaBizId 公式字符串
......@@ -38,21 +38,22 @@ public class FormulaParser {
*/
public static List<String> parseVariableBizIdsOrdered(String calculationFormulaBizId) {
List<String> variableIds = new ArrayList<>();
if (calculationFormulaBizId == null || calculationFormulaBizId.trim().isEmpty()) {
return variableIds;
}
Pattern pattern = Pattern.compile("variable_\\d+");
// 修改正则表达式以匹配新的变量ID格式(包含字母和数字)
Pattern pattern = Pattern.compile("variable_[a-zA-Z0-9]+");
Matcher matcher = pattern.matcher(calculationFormulaBizId);
while (matcher.find()) {
variableIds.add(matcher.group());
}
return variableIds;
}
/**
* 从公式字符串中解析出纯数字ID部分
* @param calculationFormulaBizId 公式字符串
......@@ -60,25 +61,30 @@ public class FormulaParser {
*/
public static Set<Long> parseVariableNumericIds(String calculationFormulaBizId) {
Set<Long> numericIds = new HashSet<>();
if (calculationFormulaBizId == null || calculationFormulaBizId.trim().isEmpty()) {
return numericIds;
}
// 匹配 variable_ 后面的数字部分
Pattern pattern = Pattern.compile("variable_(\\d+)");
// 匹配 variable_ 后面的字母数字部分(由于新格式可能包含字母,此方法可能不再适用)
Pattern pattern = Pattern.compile("variable_([a-zA-Z0-9]+)");
Matcher matcher = pattern.matcher(calculationFormulaBizId);
while (matcher.find()) {
try {
Long numericId = Long.parseLong(matcher.group(1));
numericIds.add(numericId);
// 注意:新格式可能包含字母,无法直接转换为Long
// 这里保留原有逻辑,但实际可能返回空集合
String idPart = matcher.group(1);
if (idPart.matches("\\d+")) {
Long numericId = Long.parseLong(idPart);
numericIds.add(numericId);
}
} catch (NumberFormatException e) {
// 忽略格式错误的ID
System.err.println("无效的数字ID: " + matcher.group(1));
}
}
return numericIds;
}
......
package com.yd.csf.feign.request.commissionruleconfig;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.validation.constraints.NotBlank;
......@@ -23,11 +24,13 @@ public class ApiCommissionRuleConfigAddRequest {
/**
* 生效开始日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime effectiveStart;
/**
* 生效结束日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime effectiveEnd;
/**
......
package com.yd.csf.feign.request.commissionruleconfig;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
......@@ -28,11 +29,13 @@ public class ApiCommissionRuleConfigEditRequest {
/**
* 生效开始日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime effectiveStart;
/**
* 生效结束日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime effectiveEnd;
/**
......
......@@ -28,7 +28,7 @@ public class ApiVariableAddRequest {
/**
* 变量值
*/
@NotBlank(message = "变量值不能为空")
// @NotBlank(message = "变量值不能为空")
private String value;
// /**
......
......@@ -35,7 +35,7 @@ public class ApiVariableEditRequest {
/**
* 变量值
*/
@NotBlank(message = "变量值不能为空")
// @NotBlank(message = "变量值不能为空")
private String value;
/**
......
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.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Zhang Jianan
......@@ -11,6 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
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;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
......@@ -31,4 +33,6 @@ public class CommissionRuleBindingDto {
* 目标ID,业务员ID或团队ID
*/
private String targetId;
private List<String> targetIdList;
}
......@@ -55,6 +55,12 @@ public class CommissionRuleBinding implements Serializable {
private String targetId;
/**
* 目标名称,业务员姓名或团队名称
*/
@TableField("target_name")
private String targetName;
/**
* 生效开始时间,绑定关系开始生效的时间
*/
@TableField("effective_start")
......
......@@ -31,4 +31,6 @@ public interface CommissionService extends IService<Commission> {
Commission getByCommissionBizId(String commissionBizId);
List<Commission> queryList(CommissionDto dto);
List<CommissionBindPolicyBrokerDto> queryCommissionBindPolicyBrokerList(CommissionDto dto);
}
......@@ -33,4 +33,6 @@ public interface FortuneService extends IService<Fortune> {
Fortune getByFortuneBizId(String fortuneBizId);
Boolean addFortune(FortuneAddRequest fortuneAddRequest);
Fortune queryOne(String fortuneBizId);
}
......@@ -33,6 +33,7 @@ public class CommissionRuleBindingServiceImpl extends ServiceImpl<CommissionRule
public List<CommissionRuleBinding> queryList(CommissionRuleBindingDto dto) {
List<CommissionRuleBinding> list = baseMapper.selectList(new LambdaQueryWrapper<CommissionRuleBinding>()
.eq(StringUtils.isNotBlank(dto.getTargetId()),CommissionRuleBinding::getTargetId,dto.getTargetId())
.in(!CollectionUtils.isEmpty(dto.getTargetIdList()),CommissionRuleBinding::getTargetId,dto.getTargetIdList())
);
return list;
}
......
......@@ -204,6 +204,16 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
);
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;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.excel.EasyExcel;
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.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
......@@ -275,6 +276,16 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, 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 @@
commission_date,status,remark,is_deleted,creator_id,
updater_id,create_time,update_time
</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>
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