Commit adfd2990 by zhangxingmin

push

parent 4e85cbf7
......@@ -16,6 +16,11 @@ import java.util.List;
public class AlgorithmDto {
/**
* 期数(数字代表第几年)
*/
private Integer issueNumber;
/**
* 保单发佣批次ID
*/
private String batchBizId;
......
......@@ -17,6 +17,7 @@ import com.yd.csf.feign.request.basiclawcalculate.ApiGenerateBillingRequest;
import com.yd.csf.feign.response.basiclawcalculate.ApiGenerateBillingResponse;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.enums.FortuneStatusEnum;
import com.yd.csf.service.enums.RuleItemConfigEnum;
import com.yd.csf.service.model.*;
import com.yd.csf.service.service.*;
import com.yd.insurance.base.feign.client.ApiRelProductAnnouncementFeignClient;
......@@ -407,6 +408,16 @@ public class ApiBasicLawCalculateServiceImpl implements ApiBasicLawCalculateServ
if (CollectionUtils.isEmpty(ruleItemConfigList)) {
throw new BusinessException("基本法项目列表不存在");
}
//根据期数字段,判断是否是续期(续年)来过滤对应的销售佣金项目,续期期数保留续期销售项目剔除首期的销售佣金项目,首期期数保留首期的销售佣金项目剔除续期销售佣金项目
if (algorithmDto.getIssueNumber() != null) {
if (algorithmDto.getIssueNumber() == 1) {
//首期->剔除非首期(续期)的销售佣金项目
ruleItemConfigList.removeIf(item -> RuleItemConfigEnum.XQ_XS_YJ.getItemCode().equals(item.getItemCode()));
}else {
//续期->剔除首期销售佣金项目
ruleItemConfigList.removeIf(item -> RuleItemConfigEnum.XS_YJ.getItemCode().equals(item.getItemCode()));
}
}
log.info("查询基本法类型绑定的基本法项目列表 - 执行顺序,数值越小越先执行,用于控制佣金项目的计算顺序->出参:{}", JSON.toJSONString(algorithmDto));
List<AlgorithmResDto> algorithmResDtoList = new ArrayList<>();
//遍历基本法项目 - 计算对应值
......
......@@ -546,7 +546,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
resDto.setAlgorithmResDtoList(result.getData());
collectResDtos.add(resDto);
if (!CollectionUtils.isEmpty(commissionRuleBindingList)) {
//续年度只发销售佣金,其他奖项均不发放
if (!CollectionUtils.isEmpty(commissionRuleBindingList) && i == 1) {
for (CommissionRuleBinding binding : commissionRuleBindingList) {
Result<List<AlgorithmResDto>> result1 = executeReward(ExecuteBillingDto.builder()
.clientUserBizId(binding.getTargetId())
......@@ -793,6 +794,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
//保单出账先执行销售佣金基本法项目,入完到积分明细表里后,再执行保单绑定人的其他基本法项目
Result<List<AlgorithmResDto>> result = apiBasicLawCalculateService.policyBrokerAlgorithm(AlgorithmDto.builder()
.issueNumber(dto.getIssueNumber())
.brokerBizId(brokerDto.getBrokerBizId())
.clientUserBizId(brokerDto.getBrokerBizId())
.sqlTemplateParamDto(SqlTemplateParamDto.builder()
......
package com.yd.csf.service.enums;
/**
* 基本法类型枚举
*/
public enum CommissionRuleConfigEnum {
BZ_JBF("commission_rule_config_dJea6a7rM8j38zK5","RULE6623256596","标准基本法"),
;
/**
* 基本法配置表唯一业务ID
*/
private String ruleBizId;
/**
* 基本法编码
*/
private String ruleCode;
/**
* 基本法名称
*/
private String ruleName;
//构造函数
CommissionRuleConfigEnum(String ruleBizId, String ruleCode,String ruleName) {
this.ruleBizId = ruleBizId;
this.ruleCode = ruleCode;
this.ruleName = ruleName;
}
public String getRuleBizId() {
return ruleBizId;
}
public String getRuleCode() {
return ruleCode;
}
public String getRuleName() {
return ruleName;
}
}
package com.yd.csf.service.enums;
/**
* 基本法项目枚举
*/
public enum RuleItemConfigEnum {
XS_YJ("rule_item_config_FePX0vpJQ9bU1vEo","commission_rule_config_dJea6a7rM8j38zK5","ITEM4736190590","销售佣金"),
XQ_XS_YJ("rule_item_config_Gxw21FGdwg29RFz","commission_rule_config_dJea6a7rM8j38zK5","ITEM4570368732","续期销售佣金"),
;
/**
* 基本法项目配置表唯一业务ID
*/
private String ruleItemBizId;
/**
* 基本法配置表唯一业务ID
*/
private String ruleBizId;
/**
* 基本法项目编码
*/
private String itemCode;
/**
* 基本法项目名称
*/
private String itemName;
//构造函数
RuleItemConfigEnum(String ruleItemBizId, String ruleBizId,String itemCode,String itemName) {
this.ruleItemBizId = ruleItemBizId;
this.ruleBizId = ruleBizId;
this.itemCode = itemCode;
this.itemName = itemName;
}
public String getRuleItemBizId() {
return ruleItemBizId;
}
public String getRuleBizId() {
return ruleBizId;
}
public String getItemCode() {
return itemCode;
}
public String getItemName() {
return itemName;
}
}
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