Commit 4e64db6c by zhangxingmin

push

parent ea8b5c39
......@@ -12,6 +12,7 @@ import com.yd.csf.feign.enums.FycSourceTypeEnum;
import com.yd.csf.feign.enums.OprSourceEnum;
import com.yd.csf.feign.request.expectedfortune.ApiGenerateExpectedFortuneRequest;
import com.yd.csf.feign.response.expectedfortune.ApiGenerateExpectedFortuneResponse;
import com.yd.csf.service.enums.RuleItemEnum;
import com.yd.csf.service.model.*;
import com.yd.csf.service.service.*;
import com.yd.feign.config.FeignTokenInterceptor;
......@@ -84,7 +85,7 @@ public class ApiExpectedFortuneAsyncService {
}
@Async("commonAsyncExecutor")
public void buildCalmDateTask(List<AlgorithmCollectResDto> collectResDtos, String policyNo) {
public void buildCalmDateTask(List<AlgorithmCollectResDto> collectResDtos, String policyNo,BigDecimal exchangeRate) {
if (CollectionUtils.isEmpty(collectResDtos)) {
log.info("构建冷静期定时任务,collectResDtos 为空,policyNo: {}", policyNo);
return;
......@@ -164,7 +165,7 @@ public class ApiExpectedFortuneAsyncService {
String detailFycBizId = RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_AGENT_DETAIL_FYC.getCode());
//新增积分明细
//status 定时任务0-冻结。非定时任务1-生效
addAgentDetailFyc(resDto,policyNo,algorithmResDto,detailFycBizId,agentAccumulatedFyc,1);
addAgentDetailFyc(resDto,policyNo,algorithmResDto,detailFycBizId,agentAccumulatedFyc,1,exchangeRate);
}else if (thawingTime != null && thawingTime.compareTo(LocalDateTime.now()) > 0){
//判断积分解冻时间(年月日 + 00:00:00)(冷静期时间 + 期数)是否大于当前时间(年月日时分秒)
......@@ -191,18 +192,24 @@ public class ApiExpectedFortuneAsyncService {
calmTask.setCommissionName(algorithmResDto.getItemName());
//发佣期数
calmTask.setFortunePeriod(resDto.getFortunePeriod());
//佣金值(积分值)
//汇率转换前佣金值(积分值)
calmTask.setFyc(algorithmResDto.getCalculatedValue());
//汇率(保单币种->港币的汇率)
calmTask.setExchangeRate(exchangeRate);
//汇率转换后佣金值(积分值)
calmTask.setAfterFyc(calmTask.getFyc().multiply(calmTask.getExchangeRate()));
//冷静期结束日期
calmTask.setCoolingOffEndDate(policyFollow.getCoolingOffEndDate());
//业务员积分明细表唯一业务ID
String detailFycBizId = RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_AGENT_DETAIL_FYC.getCode());
calmTask.setDetailFycBizId(detailFycBizId);
//积分来源基本法项目配置表唯一业务ID
calmTask.setRuleItemBizId(algorithmResDto.getRuleItemBizId());
iCalmTaskService.saveOrUpdate(calmTask);
//新增积分明细
//status 定时任务0-冻结。非定时任务1-生效
addAgentDetailFyc(resDto,policyNo,algorithmResDto,detailFycBizId,agentAccumulatedFyc,0);
addAgentDetailFyc(resDto,policyNo,algorithmResDto,detailFycBizId,agentAccumulatedFyc,0,exchangeRate);
//创建XXL-Job定时任务
xxlJobService.addScheduleJob(calmTask.getCalmTaskBizId(),"冷静期定时发送任务-","calmSendJobHandler",Date.from(resDto.getThawingTime().atZone(ZoneId.systemDefault()).toInstant()));
......@@ -211,7 +218,7 @@ public class ApiExpectedFortuneAsyncService {
}
//更新积分总表的值
updateAgentAccumulatedFyc(accumulatedFycList,filteredCollectResDtos);
updateAgentAccumulatedFyc(accumulatedFycList,filteredCollectResDtos,exchangeRate);
}
......@@ -229,15 +236,24 @@ public class ApiExpectedFortuneAsyncService {
AlgorithmResDto algorithmResDto,
String detailFycBizId,
AgentAccumulatedFyc agentAccumulatedFyc,
Integer status) {
Integer status,
BigDecimal exchangeRate) {
//新增积分明细
AgentDetailFyc agentDetailFyc = new AgentDetailFyc();
//积分来源类型
agentDetailFyc.setSourceType(FycSourceTypeEnum.CALM_TASK.getItemValue());
//积分来源名称
agentDetailFyc.setSourceName(FycSourceTypeEnum.CALM_TASK.getItemLabel());
//佣金项目类型 TODO
// agentDetailFyc.setCommissionType();
//佣金项目名称
agentDetailFyc.setCommissionName(algorithmResDto.getItemName());
//业务员ID
agentDetailFyc.setAgentId(resDto.getClientUserBizId());
//积分提供的保单号
agentDetailFyc.setPolicyNo(policyNo);
//发佣期数
agentDetailFyc.setFortunePeriod(resDto.getFortunePeriod());
//积分来源基本法项目配置表唯一业务ID
agentDetailFyc.setRuleItemBizId(algorithmResDto.getRuleItemBizId());
//业务员积分明细表唯一业务ID
......@@ -249,10 +265,14 @@ public class ApiExpectedFortuneAsyncService {
agentDetailFyc.setThawingTime(resDto.getThawingTime());
//变化前的业务员总FYC积分(已生效+未生效)
agentDetailFyc.setBeforeFyc(agentAccumulatedFyc != null ? agentAccumulatedFyc.getTotalFyc() : BigDecimal.ZERO);
//变化值(-代表减少)
agentDetailFyc.setChangeFyc(algorithmResDto.getCalculatedValue().toString());
//汇率转化前积分值(变化值(-代表减少))
agentDetailFyc.setChangeFyc(algorithmResDto.getCalculatedValue());
//变化后的业务员总FYC积分
agentDetailFyc.setAfterFyc(agentDetailFyc.getBeforeFyc().add(algorithmResDto.getCalculatedValue()));
//汇率(保单币种->港币的汇率)
agentDetailFyc.setExchangeRate(exchangeRate);
//汇率转化后积分值(变化值(-代表减少)) = 汇率转化前积分值 * 汇率
agentDetailFyc.setChangeAfterFyc(agentDetailFyc.getChangeFyc().multiply(agentDetailFyc.getExchangeRate()));
iAgentDetailFycService.saveOrUpdate(agentDetailFyc);
}
......@@ -263,7 +283,8 @@ public class ApiExpectedFortuneAsyncService {
* @param filteredCollectResDtos
*/
public void updateAgentAccumulatedFyc(List<AgentAccumulatedFyc> accumulatedFycList,
List<AlgorithmCollectResDto> filteredCollectResDtos) {
List<AlgorithmCollectResDto> filteredCollectResDtos,
BigDecimal exchangeRate) {
log.info("更新积分总表的值=>accumulatedFycList入参:{}",JSON.toJSONString(accumulatedFycList));
log.info("更新积分总表的值=>filteredCollectResDtos入参:{}",JSON.toJSONString(filteredCollectResDtos));
//更新积分总表的值,更新这个accumulatedFycList的每个对象里面的:未生效累计积分(不限业务场景)、累计积分 = 未生效累计积分 + 已生效累计积分、未生效累计首期佣金积分值(佣金场景)、未生效累计非首期佣金积分值(佣金场景)
......@@ -283,6 +304,8 @@ public class ApiExpectedFortuneAsyncService {
Map<String, BigDecimal> noFirstCommissionDeltaMap = new HashMap<>();
// 未生效非首期佣金增量(定时(冻结))
Map<String, BigDecimal> noRycDeltaMap = new HashMap<>();
// 未生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))增量(定时(冻结))
Map<String, BigDecimal> noFirstSalesCommissionDeltaMap = new HashMap<>();
// 已生效个人累计积分增量(非定时(生效))
Map<String, BigDecimal> deltaMap = new HashMap<>();
......@@ -290,6 +313,8 @@ public class ApiExpectedFortuneAsyncService {
Map<String, BigDecimal> firstCommissionDeltaMap = new HashMap<>();
// 已生效非首期佣金增量(非定时(生效))
Map<String, BigDecimal> rycDeltaMap = new HashMap<>();
// 已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))增量(非定时(生效))
Map<String, BigDecimal> firstSalesCommissionDeltaMap = new HashMap<>();
//收集去重的转介人业务ID
HashSet<String> hashSet = new HashSet<>();
......@@ -305,6 +330,8 @@ public class ApiExpectedFortuneAsyncService {
for (AlgorithmResDto algorithmResDto : resDto.getAlgorithmResDtoList()) {
BigDecimal val = algorithmResDto.getCalculatedValue();
if (val == null) continue;
//val汇率转换后的值
val = val.multiply(exchangeRate);
if (thawingTime != null && thawingTime.compareTo(LocalDateTime.now()) <= 0) {
//判断积分解冻时间(年月日 + 00:00:00)(冷静期时间 + 期数)是否小于等于当前时间(年月日时分秒)
......@@ -315,6 +342,12 @@ public class ApiExpectedFortuneAsyncService {
if (fortunePeriod != null && fortunePeriod == 1) {
//已生效首期佣金增量(非定时(生效))
firstCommissionDeltaMap.merge(agentId, val, BigDecimal::add);
if (RuleItemEnum.SALES.getRuleItemBizId().equals(algorithmResDto.getRuleItemBizId())) {
//销售佣金项目
//已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))增量(非定时(生效))
firstSalesCommissionDeltaMap.merge(agentId, val, BigDecimal::add);
}
} else {
//已生效非首期佣金增量(非定时(生效))
rycDeltaMap.merge(agentId, val, BigDecimal::add);
......@@ -329,6 +362,12 @@ public class ApiExpectedFortuneAsyncService {
if (fortunePeriod != null && fortunePeriod == 1) {
//未生效首期佣金增量(定时(冻结))
noFirstCommissionDeltaMap.merge(agentId, val, BigDecimal::add);
if (RuleItemEnum.SALES.getRuleItemBizId().equals(algorithmResDto.getRuleItemBizId())) {
//销售佣金项目
//未生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))增量(定时(冻结))
noFirstSalesCommissionDeltaMap.merge(agentId, val, BigDecimal::add);
}
} else {
//未生效非首期佣金增量(定时(冻结))
noRycDeltaMap.merge(agentId, val, BigDecimal::add);
......@@ -344,6 +383,8 @@ public class ApiExpectedFortuneAsyncService {
log.info("已生效个人累计积分增量(非定时(生效))=>deltaMap:{}",JSON.toJSONString(deltaMap));
log.info("已生效首期佣金增量(非定时(生效))=>firstCommissionDeltaMap:{}",JSON.toJSONString(firstCommissionDeltaMap));
log.info("已生效非首期佣金增量(非定时(生效))=>rycDeltaMap:{}",JSON.toJSONString(rycDeltaMap));
log.info("已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))增量(非定时(生效))=>firstSalesCommissionDeltaMap:{}",JSON.toJSONString(firstSalesCommissionDeltaMap));
log.info("未生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))增量(定时(冻结))=>noFirstSalesCommissionDeltaMap:{}",JSON.toJSONString(noFirstSalesCommissionDeltaMap));
// 更新或新建累计积分记录
List<AgentAccumulatedFyc> toUpdateList = new ArrayList<>();
......@@ -363,6 +404,11 @@ public class ApiExpectedFortuneAsyncService {
//已生效非首期佣金增量(非定时(生效))
BigDecimal rycDelta = rycDeltaMap.getOrDefault(agentId, BigDecimal.ZERO);
//已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))增量(非定时(生效))
BigDecimal firstSalesDelta = firstSalesCommissionDeltaMap.getOrDefault(agentId, BigDecimal.ZERO);
//未生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))增量(定时(冻结))
BigDecimal noFirstSalesDelta = noFirstSalesCommissionDeltaMap.getOrDefault(agentId, BigDecimal.ZERO);
AgentAccumulatedFyc fyc = fycMap.get(agentId);
if (fyc == null) {
continue;
......@@ -375,6 +421,8 @@ public class ApiExpectedFortuneAsyncService {
BigDecimal safeNoRycDelta = noRycDelta == null ? BigDecimal.ZERO : noRycDelta;
BigDecimal safeFirstDelta = firstDelta == null ? BigDecimal.ZERO : firstDelta;
BigDecimal safeRycDelta = rycDelta == null ? BigDecimal.ZERO : rycDelta;
BigDecimal safeFirstSalesDelta = firstSalesDelta == null ? BigDecimal.ZERO : firstSalesDelta;
BigDecimal safeNoFirstSalesDelta = noFirstSalesDelta == null ? BigDecimal.ZERO : noFirstSalesDelta;
// 原有字段安全处理:fyc 中的字段可能为 null,转为 ZERO 再进行 add
BigDecimal effectOld = fyc.getEffect() == null ? BigDecimal.ZERO : fyc.getEffect();
......@@ -383,27 +431,41 @@ public class ApiExpectedFortuneAsyncService {
BigDecimal noRycOld = fyc.getNoRyc() == null ? BigDecimal.ZERO : fyc.getNoRyc();
BigDecimal firstCommissionOld = fyc.getFirstCommission() == null ? BigDecimal.ZERO : fyc.getFirstCommission();
BigDecimal rycOld = fyc.getRyc() == null ? BigDecimal.ZERO : fyc.getRyc();
BigDecimal firstSalesCommissionOld = fyc.getFirstSalesCommission() == null ? BigDecimal.ZERO : fyc.getFirstSalesCommission();
BigDecimal noFirstSalesCommissionOld = fyc.getNoFirstSalesCommission() == null ? BigDecimal.ZERO : fyc.getNoFirstSalesCommission();
// 应用增量
//未生效累计积分(不限业务场景)
fyc.setNoEffect(noEffectOld.add(safeNoDelta));
//未生效累计首期佣金积分值(佣金场景)
fyc.setNoFirstCommission(noFirstCommissionOld.add(safeNoFirstDelta));
//未生效累计非首期佣金积分值(佣金场景)
fyc.setNoRyc(noRycOld.add(safeNoRycDelta));
//已生效累计积分(不限业务场景)
fyc.setEffect(effectOld.add(safeDelta));
//已生效累计首期佣金积分值(佣金场景)
fyc.setFirstCommission(firstCommissionOld.add(safeFirstDelta));
//已生效累计非首期佣金积分值(佣金场景)
fyc.setRyc(rycOld.add(safeRycDelta));
//累计积分 = 未生效累计积分 + 已生效累计积分
fyc.setTotalFyc(fyc.getNoEffect().add(fyc.getEffect()));
//晋升职级累计积分 = 已生效累计积分 - 已生效累计非首期佣金积分值
BigDecimal promotion = fyc.getEffect().subtract(fyc.getRyc());
//已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))增量(非定时(生效))
fyc.setFirstSalesCommission(firstSalesCommissionOld.add(safeFirstSalesDelta));
//未生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))增量(定时(冻结))
fyc.setNoFirstSalesCommission(noFirstSalesCommissionOld.add(safeNoFirstSalesDelta));
//晋升职级累计积分 = 初始化已生效积分(不限业务场景) + 已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))
BigDecimal promotion = fyc.getInitEffect().add(fyc.getFirstSalesCommission());
fyc.setPromotion(promotion.compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : promotion);
//最后计算日期,记录最后一次计算累计FYC的日期
fyc.setLastCalcDate(LocalDateTime.now());
toUpdateList.add(fyc);
......
......@@ -8,6 +8,7 @@ import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiAgentDetailFycService;
import com.yd.csf.feign.enums.FycSourceTypeEnum;
import com.yd.csf.feign.enums.OprSourceEnum;
import com.yd.csf.service.enums.RuleItemEnum;
import com.yd.csf.service.model.*;
import com.yd.csf.service.service.*;
import lombok.extern.slf4j.Slf4j;
......@@ -81,7 +82,7 @@ public class CalmSendJobHandler {
AgentAccumulatedFyc agentAccumulatedFyc = iAgentAccumulatedFycService.queryOne(calmTask.getBrokerBizId());
if (agentAccumulatedFyc != null) {
// 安全获取任务佣金增量值,若为 null 则用 0 代替
BigDecimal fycValue = calmTask.getFyc() == null ? BigDecimal.ZERO : calmTask.getFyc();
BigDecimal fycValue = calmTask.getAfterFyc() == null ? BigDecimal.ZERO : calmTask.getAfterFyc();
// 安全获取原有字段值,若为 null 则视为 0
BigDecimal noEffectOld = agentAccumulatedFyc.getNoEffect() == null ? BigDecimal.ZERO : agentAccumulatedFyc.getNoEffect();
......@@ -90,10 +91,12 @@ public class CalmSendJobHandler {
BigDecimal noFirstCommissionOld = agentAccumulatedFyc.getNoFirstCommission() == null ? BigDecimal.ZERO : agentAccumulatedFyc.getNoFirstCommission();
BigDecimal rycOld = agentAccumulatedFyc.getRyc() == null ? BigDecimal.ZERO : agentAccumulatedFyc.getRyc();
BigDecimal noRycOld = agentAccumulatedFyc.getNoRyc() == null ? BigDecimal.ZERO : agentAccumulatedFyc.getNoRyc();
BigDecimal firstSalesCommissionOld = agentAccumulatedFyc.getFirstSalesCommission() == null ? BigDecimal.ZERO : agentAccumulatedFyc.getFirstSalesCommission();
BigDecimal noFirstSalesCommissionOld = agentAccumulatedFyc.getNoFirstSalesCommission() == null ? BigDecimal.ZERO : agentAccumulatedFyc.getNoFirstSalesCommission();
//未生效累计积分(不限业务场景)= 未生效累计积分(不限业务场景) - 增量积分
BigDecimal noEffect = noEffectOld.subtract(fycValue);
agentAccumulatedFyc.setNoEffect(noEffect.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : noEffect);
agentAccumulatedFyc.setNoEffect(noEffect.compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : noEffect);
//已生效累计积分(不限业务场景) = 已生效累计积分(不限业务场景) + 增量积分
BigDecimal effect = effectOld.add(fycValue);
agentAccumulatedFyc.setEffect(effect);
......@@ -107,7 +110,17 @@ public class CalmSendJobHandler {
agentAccumulatedFyc.setFirstCommission(firstCommission);
//未生效累计首期佣金积分值(佣金场景)= 未生效累计首期佣金积分值(佣金场景)- 增量积分
BigDecimal noFirstCommission = noFirstCommissionOld.subtract(fycValue);
agentAccumulatedFyc.setNoFirstCommission(noFirstCommission.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : noFirstCommission);
agentAccumulatedFyc.setNoFirstCommission(noFirstCommission.compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : noFirstCommission);
if (RuleItemEnum.SALES.getRuleItemBizId().equals(calmTask.getRuleItemBizId())) {
//销售佣金项目
//已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个)) = 已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个)) + 增量积分
BigDecimal firstSalesCommission = firstSalesCommissionOld.add(fycValue);
agentAccumulatedFyc.setFirstSalesCommission(firstSalesCommission);
//未生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))= 未生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))- 增量积分
BigDecimal noFirstSalesCommission = noFirstSalesCommissionOld.subtract(fycValue);
agentAccumulatedFyc.setNoFirstSalesCommission(noFirstSalesCommission.compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : noFirstSalesCommission);
}
} else {
//非首期
//已生效累计非首期佣金积分值(佣金场景) = 已生效累计非首期佣金积分值(佣金场景) + 增量积分
......@@ -115,14 +128,14 @@ public class CalmSendJobHandler {
agentAccumulatedFyc.setRyc(ryc);
//未生效累计非首期佣金积分值(佣金场景)= 未生效累计非首期佣金积分值(佣金场景)- 增量积分
BigDecimal noRyc = noRycOld.subtract(fycValue);
agentAccumulatedFyc.setNoRyc(noRyc.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : noRyc);
agentAccumulatedFyc.setNoRyc(noRyc.compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : noRyc);
}
//晋升职级累计积分 = 已生效累计积分 - 已生效累计非首期佣金积分值
// 注意:此处 effect 和 ryc 已更新,使用更新后的值,但仍需判空保护
BigDecimal effectAfter = agentAccumulatedFyc.getEffect() == null ? BigDecimal.ZERO : agentAccumulatedFyc.getEffect();
BigDecimal rycAfter = agentAccumulatedFyc.getRyc() == null ? BigDecimal.ZERO : agentAccumulatedFyc.getRyc();
BigDecimal promotion = effectAfter.subtract(rycAfter);
agentAccumulatedFyc.setPromotion(promotion.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : promotion);
agentAccumulatedFyc.setPromotion(promotion.compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : promotion);
//最后计算日期,记录最后一次计算累计FYC的日期
agentAccumulatedFyc.setLastCalcDate(LocalDateTime.now());
iAgentAccumulatedFycService.saveOrUpdate(agentAccumulatedFyc);
......
......@@ -529,6 +529,13 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
String token2 = request2.getHeader("Authorization");
log.info("使用编程式事务,确保方法内的事务一致性 token==============,{}",token2);
//保单币种->港币的汇率
BigDecimal exchangeRate = BigDecimal.ZERO;
if (!CollectionUtils.isEmpty(queryPolicyAndBrokerDtoList)) {
QueryPolicyAndBrokerDto queryPolicyAndBrokerDto = queryPolicyAndBrokerDtoList.get(0);
exchangeRate = queryExchangeRateByFeign(queryPolicyAndBrokerDto.getCurrency(), "HKD");
}
//基本法计算值收集列表
List<AlgorithmCollectResDto> collectResDtos = new ArrayList<>();
for (QueryPolicyAndBrokerDto brokerDto : queryPolicyAndBrokerDtoList) {
......@@ -609,7 +616,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
//异步处理-构建冷静期定时任务
log.info("异步处理-构建冷静期定时任务=>请求前入参:{}",JSON.toJSONString(collectResDtos));
apiExpectedFortuneAsyncService.buildCalmDateTask(collectResDtos,policyNo);
apiExpectedFortuneAsyncService.buildCalmDateTask(collectResDtos,policyNo,exchangeRate);
return Result.success();
} catch (Exception e) {
......@@ -628,8 +635,6 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
});
}
/**
* 查询和当前转介人相关关系(推荐,一级管理,二级管理,辅导)的客户端用户ID列表数据
* @param brokerDto
......
package com.yd.csf.service.enums;
/**
* 基本法项目枚举
*/
public enum RuleItemEnum {
SALES("rule_item_config_FePX0vpJQ9bU1vEo","销售佣金"),
;
//基本法项目配置表唯一业务ID
private String ruleItemBizId;
//基本法项目名称
private String itemName;
//构造函数
RuleItemEnum(String ruleItemBizId, String itemName) {
this.ruleItemBizId = ruleItemBizId;
this.itemName = itemName;
}
public String getRuleItemBizId() {
return ruleItemBizId;
}
public String getItemName() {
return itemName;
}
}
......@@ -105,7 +105,19 @@ public class AgentAccumulatedFyc implements Serializable {
private BigDecimal noRyc;
/**
* 晋升职级累计积分 = 已生效累计积分 - 已生效累计非首期佣金积分值
* 已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))
*/
@TableField("first_sales_commission")
private BigDecimal firstSalesCommission;
/**
* 未生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))
*/
@TableField("no_first_sales_commission")
private BigDecimal noFirstSalesCommission;
/**
* 晋升职级累计积分 = 初始化已生效积分(不限业务场景) + 已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))
*/
@TableField("promotion")
private BigDecimal promotion;
......
......@@ -116,7 +116,19 @@ public class AgentAccumulatedFycLog implements Serializable {
private BigDecimal noRyc;
/**
* 晋升职级累计积分 = 已生效累计积分 - 已生效累计非首期佣金积分值
* 已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))
*/
@TableField("first_sales_commission")
private BigDecimal firstSalesCommission;
/**
* 未生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))
*/
@TableField("no_first_sales_commission")
private BigDecimal noFirstSalesCommission;
/**
* 晋升职级累计积分 = 初始化已生效积分(不限业务场景) + 已生效累计首期销售佣金积分值(销售佣金场景(佣金场景的其中一个))
*/
@TableField("promotion")
private BigDecimal promotion;
......
......@@ -48,17 +48,29 @@ public class AgentDetailFyc implements Serializable {
private String sourceType;
/**
* 积分来源名称
*/
@TableField("source_name")
private String sourceName;
/**
* 佣金项目类型
*/
@TableField("commission_type")
private Integer commissionType;
/**
* 佣金项目名称
*/
@TableField("commission_name")
private String commissionName;
/**
* 积分来源基本法项目配置表唯一业务ID
*/
@TableField("rule_item_biz_id")
private String ruleItemBizId;
// /**
// * 保单发佣批次ID
// */
// @TableField("batch_bizId")
// private String batchBizId;
/**
* 积分提供的保单号
*/
......@@ -66,6 +78,12 @@ public class AgentDetailFyc implements Serializable {
private String policyNo;
/**
* 发佣期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
@TableField("fortune_period")
private Integer fortunePeriod;
/**
* 积分提供者(客户端用户表唯一业务ID)
*/
@TableField("provide_id")
......@@ -84,10 +102,22 @@ public class AgentDetailFyc implements Serializable {
private BigDecimal afterFyc;
/**
* 变化值(-代表减少)
* 汇率转化前积分值(变化值(-代表减少))
*/
@TableField("change_fyc")
private String changeFyc;
private BigDecimal changeFyc;
/**
* 汇率(保单币种->港币的汇率)
*/
@TableField("exchange_rate")
private BigDecimal exchangeRate;
/**
* 汇率转化后积分值(变化值(-代表减少))
*/
@TableField("change_after_fyc")
private BigDecimal changeAfterFyc;
/**
* 积分解冻时间
......
......@@ -58,6 +58,12 @@ public class CalmTask implements Serializable {
private String policyNo;
/**
* 积分来源基本法项目配置表唯一业务ID
*/
@TableField("rule_item_biz_id")
private String ruleItemBizId;
/**
* 佣金项目
*/
@TableField("commission_name")
......@@ -82,12 +88,24 @@ public class CalmTask implements Serializable {
private String brokerName;
/**
* 佣金值(积分值)
* 汇率转换前佣金值(积分值)
*/
@TableField("fyc")
private BigDecimal fyc;
/**
* 汇率(保单币种->港币的汇率)
*/
@TableField("exchange_rate")
private BigDecimal exchangeRate;
/**
* 汇率转换后佣金值(积分值)
*/
@TableField("after_fyc")
private BigDecimal afterFyc;
/**
* 冷静期结束日期
*/
@TableField("cooling_off_end_date")
......
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