|
|
@@ -5,7 +5,7 @@ import cn.hutool.extra.spring.SpringUtil;
|
|
|
import com.esotericsoftware.minlog.Log;
|
|
|
import com.jzg.client.OrganizationClient;
|
|
|
import com.jzg.commons.entity.orders.po.InsOrders;
|
|
|
-import com.jzg.commons.entity.orders.po.InsOrdersCosts;
|
|
|
+import com.jzg.commons.entity.po.InsFeeOrders;
|
|
|
import com.jzg.commons.entity.po.SysUserJzgInfo;
|
|
|
import com.jzg.entity.PartnerPremiumDetails;
|
|
|
import com.jzg.entity.PartnerUser;
|
|
|
@@ -60,8 +60,8 @@ public class DistributionUtils {
|
|
|
/**
|
|
|
* 保存新的费用信息
|
|
|
*/
|
|
|
- public static void newSaveFeeInfo(InsOrders insOrders, InsOrdersCosts ordersCosts, String licenseNo) {
|
|
|
- if (Objects.isNull(insOrders) || Objects.isNull(ordersCosts) || Objects.isNull(licenseNo)
|
|
|
+ public static void newSaveFeeInfo(InsOrders insOrders, InsFeeOrders feeOrders, String licenseNo) {
|
|
|
+ if (Objects.isNull(insOrders) || Objects.isNull(feeOrders) || Objects.isNull(licenseNo)
|
|
|
|| Objects.isNull(insOrders.getRealQuoteUserId())) {
|
|
|
throw new IllegalArgumentException("入参不能为空,订单信息与用户ID必须有效");
|
|
|
}
|
|
|
@@ -79,9 +79,9 @@ public class DistributionUtils {
|
|
|
return;
|
|
|
}
|
|
|
List<PartnerPremiumDetails> premiumDetailsList = new ArrayList<>();
|
|
|
- PartnerPremiumDetails premiumDetails = buildPartnerPremiumDetails(partnerUser, insOrders, ordersCosts, licenseNo, userId, userId3, userId4);
|
|
|
+ PartnerPremiumDetails premiumDetails = buildPartnerPremiumDetails(partnerUser, insOrders, feeOrders, licenseNo, userId, userId3, userId4);
|
|
|
premiumDetailsList.add(premiumDetails);
|
|
|
- saveFeeLevelInfo(partnerUser.getGrade() - 1, partnerUser.getReferrerId(), insOrders, ordersCosts, licenseNo, userId, premiumDetailsList, userId3, userId4);
|
|
|
+ saveFeeLevelInfo(partnerUser.getGrade() - 1, partnerUser.getReferrerId(), insOrders, feeOrders, licenseNo, userId, premiumDetailsList, userId3, userId4);
|
|
|
if (!premiumDetailsList.isEmpty()) {
|
|
|
staticPartnerPremiumDetailsMapper.insert(premiumDetailsList);
|
|
|
}
|
|
|
@@ -93,7 +93,7 @@ public class DistributionUtils {
|
|
|
* 保存层级费用信息
|
|
|
*/
|
|
|
private static void saveFeeLevelInfo(Integer currentGrade, String referrerId,
|
|
|
- InsOrders insOrders, InsOrdersCosts ordersCosts,String licenseNo, String userId,List<PartnerPremiumDetails> premiumDetailsList,String userId3, String userId4) {
|
|
|
+ InsOrders insOrders,InsFeeOrders feeOrders,String licenseNo, String userId,List<PartnerPremiumDetails> premiumDetailsList,String userId3, String userId4) {
|
|
|
if (Objects.isNull(currentGrade) || currentGrade <= 0 || Objects.isNull(referrerId)) {
|
|
|
return;
|
|
|
}
|
|
|
@@ -102,7 +102,7 @@ public class DistributionUtils {
|
|
|
return;
|
|
|
}
|
|
|
if (Arrays.stream(VALID_GRADES).anyMatch(partnerUser.getGrade()::equals)) {
|
|
|
- PartnerPremiumDetails premiumDetails = buildPartnerPremiumDetails(partnerUser, insOrders, ordersCosts, licenseNo, userId, userId3, userId4);
|
|
|
+ PartnerPremiumDetails premiumDetails = buildPartnerPremiumDetails(partnerUser, insOrders, feeOrders, licenseNo, userId, userId3, userId4);
|
|
|
if (partnerUser.isIdentityStatus()) {
|
|
|
premiumDetails.setAppStatus(APP_STATUS_PASS);
|
|
|
}
|
|
|
@@ -111,13 +111,13 @@ public class DistributionUtils {
|
|
|
new BigDecimal(premiumDetails.getProportional()), premiumDetails, userId3, userId4
|
|
|
);
|
|
|
}
|
|
|
- saveFeeLevelInfo(currentGrade - 1, partnerUser.getReferrerId(), insOrders, ordersCosts, licenseNo, userId, premiumDetailsList, userId3, userId4);
|
|
|
+ saveFeeLevelInfo(currentGrade - 1, partnerUser.getReferrerId(), insOrders, feeOrders, licenseNo, userId, premiumDetailsList, userId3, userId4);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 构建 PartnerPremiumDetails 实例
|
|
|
*/
|
|
|
- private static PartnerPremiumDetails buildPartnerPremiumDetails(PartnerUser partnerUser, InsOrders insOrders, InsOrdersCosts ordersCosts,
|
|
|
+ private static PartnerPremiumDetails buildPartnerPremiumDetails(PartnerUser partnerUser, InsOrders insOrders,InsFeeOrders feeOrders,
|
|
|
String licenseNo, String userId, String userId3, String userId4) {
|
|
|
PartnerPremiumDetails details = new PartnerPremiumDetails();
|
|
|
details.setUserId(partnerUser.getUserId());
|
|
|
@@ -128,14 +128,14 @@ public class DistributionUtils {
|
|
|
details.setCompanyId(insOrders.getId());
|
|
|
details.setDeptId(partnerUser.getDeptId());
|
|
|
details.setLicenseno(licenseNo);
|
|
|
- details.setSumpremium(ordersCosts.getSumPremium());
|
|
|
- details.setJqpremium(ordersCosts.getJqPremium());
|
|
|
- details.setSypremium(ordersCosts.getSyPremium());
|
|
|
- details.setJypremium(ordersCosts.getJyPremium());
|
|
|
+ details.setSumpremium(feeOrders.getTotalPremium());
|
|
|
+ details.setJqpremium(feeOrders.getJqPremium());
|
|
|
+ details.setSypremium(feeOrders.getSyPremium());
|
|
|
+ details.setJypremium(feeOrders.getJyPremium());
|
|
|
BigDecimal commissionRate = CalculateCommissionUtils.calculateCommission(String.valueOf(partnerUser.getGrade()), partnerUser.getUserId(), userId3, userId4);
|
|
|
details.setProportional(String.valueOf(commissionRate));
|
|
|
- BigDecimal extractFee = Objects.nonNull(ordersCosts.getSumPremium())
|
|
|
- ? ordersCosts.getSumPremium().multiply(commissionRate)
|
|
|
+ BigDecimal extractFee = Objects.nonNull(feeOrders.getTotalPremium())
|
|
|
+ ? feeOrders.getTotalPremium().multiply(commissionRate)
|
|
|
.divide(PERCENT_DIVISOR, SCALE_2, RoundingMode.DOWN)
|
|
|
: BigDecimal.ZERO;
|
|
|
details.setExtractFee(extractFee);
|