|
@@ -36,6 +36,8 @@ import com.ydtech.modules.order.service.InsFeeOrderService;
|
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreement;
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreement;
|
|
|
import com.ydtech.modules.protocol.service.PtlAgreementService;
|
|
import com.ydtech.modules.protocol.service.PtlAgreementService;
|
|
|
import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
|
|
import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
|
|
|
|
|
+import com.ydtech.modules.protocols.entity.po.InsFeeOrderNewDistribution;
|
|
|
|
|
+import com.ydtech.modules.protocols.service.InsFeeOrderNewDistributionService;
|
|
|
import com.ydtech.modules.protocols.service.InsFeeOrderNewService;
|
|
import com.ydtech.modules.protocols.service.InsFeeOrderNewService;
|
|
|
import com.ydtech.utils.DateUtil;
|
|
import com.ydtech.utils.DateUtil;
|
|
|
import com.ydtech.utils.StringUtils;
|
|
import com.ydtech.utils.StringUtils;
|
|
@@ -45,6 +47,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
@@ -94,6 +97,10 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private PtlAgreementService ptlAgreementService;
|
|
private PtlAgreementService ptlAgreementService;
|
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private InsFeeOrderNewDistributionService insFeeOrderNewDistributionService;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
|
|
|
public InsFeeAuditServiceImpl(FncInsAreaCompanyMapper insAreaCompanyMapper, InsOrdersMapper insOrdersMapper, InsDeptFeeService insDeptFeeService,EsmUserReferrerService esmUserReferrerService,SysUserService sysUserService,InsCommissionService insCommissionService,InsCompanyFeeService insCompanyFeeService,InsPlyIncomeMapper insPlyIncomeMapper) {
|
|
public InsFeeAuditServiceImpl(FncInsAreaCompanyMapper insAreaCompanyMapper, InsOrdersMapper insOrdersMapper, InsDeptFeeService insDeptFeeService,EsmUserReferrerService esmUserReferrerService,SysUserService sysUserService,InsCommissionService insCommissionService,InsCompanyFeeService insCompanyFeeService,InsPlyIncomeMapper insPlyIncomeMapper) {
|
|
|
this.insAreaCompanyMapper = insAreaCompanyMapper;
|
|
this.insAreaCompanyMapper = insAreaCompanyMapper;
|
|
@@ -176,6 +183,22 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
|
|
|
sysUserAccount.setSuborderId(orderNo); // 订单Id
|
|
sysUserAccount.setSuborderId(orderNo); // 订单Id
|
|
|
sysUserAccountService.addOrUpdate(sysUserAccount);
|
|
sysUserAccountService.addOrUpdate(sysUserAccount);
|
|
|
|
|
|
|
|
|
|
+ if (insFeeOrderNew.getFirstLevelUserId() != null) {
|
|
|
|
|
+ createInsFeeOrderNewDistribution(insFeeOrderNew, insAreaCompany, order,
|
|
|
|
|
+ insFeeOrderNew.getFirstLevelUserId(), insFeeOrderNew.getFirstDetailProportion(),
|
|
|
|
|
+ insFeeOrderNew.getFirstDetailPremiums(), insFeeOrderNew.getDistributionStatus());
|
|
|
|
|
+ }
|
|
|
|
|
+ if (insFeeOrderNew.getTwoLevelUserId() != null) {
|
|
|
|
|
+ createInsFeeOrderNewDistribution(insFeeOrderNew, insAreaCompany, order,
|
|
|
|
|
+ insFeeOrderNew.getTwoLevelUserId(), insFeeOrderNew.getSecondDetailProportion(),
|
|
|
|
|
+ insFeeOrderNew.getSecondDetailPremiums(), insFeeOrderNew.getDistributionStatus());
|
|
|
|
|
+ }
|
|
|
|
|
+ if (insFeeOrderNew.getThreeLevelUserId() != null) {
|
|
|
|
|
+ createInsFeeOrderNewDistribution(insFeeOrderNew, insAreaCompany, order,
|
|
|
|
|
+ insFeeOrderNew.getThreeLevelUserId(), insFeeOrderNew.getThirdDetailProportion(),
|
|
|
|
|
+ insFeeOrderNew.getThirdDetailPremiums(), insFeeOrderNew.getDistributionStatus());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
String deptid = insFeeOrderNew.getDeptId();
|
|
String deptid = insFeeOrderNew.getDeptId();
|
|
|
// 定义一个数组来存储各级机构的管理费
|
|
// 定义一个数组来存储各级机构的管理费
|
|
@@ -239,6 +262,25 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private void createInsFeeOrderNewDistribution(InsFeeOrderNew insFeeOrderNew, InsAreaCompany insAreaCompany, InsOrders insOrders, String userId, BigDecimal commissionRate, BigDecimal commissionAmount, String commissionLevel) {
|
|
|
|
|
+ InsFeeOrderNewDistribution insFeeOrderNewDistribution = new InsFeeOrderNewDistribution();
|
|
|
|
|
+ insFeeOrderNewDistribution.setId(IdGenerate.nextId());
|
|
|
|
|
+ insFeeOrderNewDistribution.setOrderNo(insFeeOrderNew.getInsOrderNo());
|
|
|
|
|
+ insFeeOrderNewDistribution.setJqPolicyNo(insAreaCompany.getJqpolicyno());
|
|
|
|
|
+ insFeeOrderNewDistribution.setSyPolicyNo(insAreaCompany.getSypolicyno());
|
|
|
|
|
+ insFeeOrderNewDistribution.setLicenseNo(insOrders.getLicenseno());
|
|
|
|
|
+ insFeeOrderNewDistribution.setProductId(insAreaCompany.getProductid());
|
|
|
|
|
+ insFeeOrderNewDistribution.setProduct(insAreaCompany.getProduct());
|
|
|
|
|
+ insFeeOrderNewDistribution.setSignTime(insAreaCompany.getSigningTime());
|
|
|
|
|
+ insFeeOrderNewDistribution.setInsCompany(insAreaCompany.getInscompany());
|
|
|
|
|
+ insFeeOrderNewDistribution.setUserId(userId);
|
|
|
|
|
+ insFeeOrderNewDistribution.setCommissionRate(commissionRate);
|
|
|
|
|
+ insFeeOrderNewDistribution.setCommissionAmount(commissionAmount);
|
|
|
|
|
+ insFeeOrderNewDistribution.setCommissionLevel(commissionLevel);
|
|
|
|
|
+ // 保存insFeeOrderNewDistribution
|
|
|
|
|
+ insFeeOrderNewDistributionService.save(insFeeOrderNewDistribution);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private String getDeptFeeHistoryLog(Integer index,BigDecimal[] jqDeptPremiumsLevels,BigDecimal[] syDeptPremiumsLevels,
|
|
private String getDeptFeeHistoryLog(Integer index,BigDecimal[] jqDeptPremiumsLevels,BigDecimal[] syDeptPremiumsLevels,
|
|
|
BigDecimal[] noDeptPremiumsLevels,BigDecimal distributionFee){
|
|
BigDecimal[] noDeptPremiumsLevels,BigDecimal distributionFee){
|
|
|
StringBuilder remarkBuilder = new StringBuilder();
|
|
StringBuilder remarkBuilder = new StringBuilder();
|