|
@@ -189,11 +189,11 @@ public class ContentPlatformDatastatJob {
|
|
|
BigDecimal fissionRate = BigDecimal.valueOf(fissionCount.doubleValue() / firstLevelCount);
|
|
|
BigDecimal rounded = fissionRate.multiply(new BigDecimal(10)).setScale(2, RoundingMode.HALF_UP);
|
|
|
item.setScore(rounded.doubleValue());
|
|
|
- Double unitPrice = getUnitPrice(account.getPrice(), fissionRate, arpu, BussinessTypeEnum.GZH_AUTO_REPLY);
|
|
|
- item.setUnitPrice(unitPrice);
|
|
|
+ BigDecimal unitPrice = getUnitPrice(account.getPrice(), fissionRate, arpu, BussinessTypeEnum.FWH_PUSH);
|
|
|
if (Objects.nonNull(unitPrice)) {
|
|
|
- Double settlementAmount = unitPrice * firstLevelCount;
|
|
|
- item.setSettlementAmount(settlementAmount);
|
|
|
+ item.setUnitPrice(unitPrice.doubleValue());
|
|
|
+ BigDecimal settlementAmount = unitPrice.multiply(new BigDecimal(firstLevelCount)).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ item.setSettlementAmount(settlementAmount.doubleValue());
|
|
|
}
|
|
|
}
|
|
|
item.setCreateTimestamp(now);
|
|
@@ -333,11 +333,11 @@ public class ContentPlatformDatastatJob {
|
|
|
BigDecimal fissionRate = BigDecimal.valueOf(fissionCount.doubleValue() / firstLevelCount);
|
|
|
BigDecimal rounded = fissionRate.multiply(new BigDecimal(10)).setScale(2, RoundingMode.HALF_UP);
|
|
|
item.setScore(rounded.doubleValue());
|
|
|
- Double unitPrice = getUnitPrice(account.getPrice(), fissionRate, arpu, BussinessTypeEnum.FWH_PUSH);
|
|
|
- item.setUnitPrice(unitPrice);
|
|
|
+ BigDecimal unitPrice = getUnitPrice(account.getPrice(), fissionRate, arpu, BussinessTypeEnum.FWH_PUSH);
|
|
|
if (Objects.nonNull(unitPrice)) {
|
|
|
- Double settlementAmount = unitPrice * firstLevelCount;
|
|
|
- item.setSettlementAmount(settlementAmount);
|
|
|
+ item.setUnitPrice(unitPrice.doubleValue());
|
|
|
+ BigDecimal settlementAmount = unitPrice.multiply(new BigDecimal(firstLevelCount)).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ item.setSettlementAmount(settlementAmount.doubleValue());
|
|
|
}
|
|
|
}
|
|
|
item.setCreateTimestamp(now);
|
|
@@ -537,11 +537,11 @@ public class ContentPlatformDatastatJob {
|
|
|
BigDecimal fissionRate = BigDecimal.valueOf(fissionCount.doubleValue() / firstLevelCount);
|
|
|
BigDecimal rounded = fissionRate.multiply(new BigDecimal(10)).setScale(2, RoundingMode.HALF_UP);
|
|
|
item.setScore(rounded.doubleValue());
|
|
|
- Double unitPrice = getUnitPrice(account.getPrice(), fissionRate, arpu, BussinessTypeEnum.QW);
|
|
|
- item.setUnitPrice(unitPrice);
|
|
|
+ BigDecimal unitPrice = getUnitPrice(account.getPrice(), fissionRate, arpu, BussinessTypeEnum.FWH_PUSH);
|
|
|
if (Objects.nonNull(unitPrice)) {
|
|
|
- Double settlementAmount = unitPrice * firstLevelCount;
|
|
|
- item.setSettlementAmount(settlementAmount);
|
|
|
+ item.setUnitPrice(unitPrice.doubleValue());
|
|
|
+ BigDecimal settlementAmount = unitPrice.multiply(new BigDecimal(firstLevelCount)).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ item.setSettlementAmount(settlementAmount.doubleValue());
|
|
|
}
|
|
|
}
|
|
|
item.setFirstLevelCount(item.getFirstLevelCount() + firstLevelCount);
|
|
@@ -684,11 +684,11 @@ public class ContentPlatformDatastatJob {
|
|
|
BigDecimal fissionRate = BigDecimal.valueOf(fissionCount.doubleValue() / firstLevelCount);
|
|
|
BigDecimal rounded = fissionRate.multiply(new BigDecimal(10)).setScale(2, RoundingMode.HALF_UP);
|
|
|
item.setScore(rounded.doubleValue());
|
|
|
- Double unitPrice = getUnitPrice(account.getPrice(), fissionRate, arpu, BussinessTypeEnum.QW);
|
|
|
- item.setUnitPrice(unitPrice);
|
|
|
+ BigDecimal unitPrice = getUnitPrice(account.getPrice(), fissionRate, arpu, BussinessTypeEnum.FWH_PUSH);
|
|
|
if (Objects.nonNull(unitPrice)) {
|
|
|
- Double settlementAmount = unitPrice * firstLevelCount;
|
|
|
- item.setSettlementAmount(settlementAmount);
|
|
|
+ item.setUnitPrice(unitPrice.doubleValue());
|
|
|
+ BigDecimal settlementAmount = unitPrice.multiply(new BigDecimal(firstLevelCount)).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ item.setSettlementAmount(settlementAmount.doubleValue());
|
|
|
}
|
|
|
}
|
|
|
item.setCreateTimestamp(now);
|
|
@@ -713,11 +713,11 @@ public class ContentPlatformDatastatJob {
|
|
|
BigDecimal fissionRate = BigDecimal.valueOf(fissionCount.doubleValue() / firstLevelCount);
|
|
|
BigDecimal rounded = fissionRate.multiply(new BigDecimal(10)).setScale(2, RoundingMode.HALF_UP);
|
|
|
item.setScore(rounded.doubleValue());
|
|
|
- Double unitPrice = getUnitPrice(account.getPrice(), fissionRate, arpu, BussinessTypeEnum.QW);
|
|
|
- item.setUnitPrice(unitPrice);
|
|
|
+ BigDecimal unitPrice = getUnitPrice(account.getPrice(), fissionRate, arpu, BussinessTypeEnum.FWH_PUSH);
|
|
|
if (Objects.nonNull(unitPrice)) {
|
|
|
- Double settlementAmount = unitPrice * firstLevelCount;
|
|
|
- item.setSettlementAmount(settlementAmount);
|
|
|
+ item.setUnitPrice(unitPrice.doubleValue());
|
|
|
+ BigDecimal settlementAmount = unitPrice.multiply(new BigDecimal(firstLevelCount)).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ item.setSettlementAmount(settlementAmount.doubleValue());
|
|
|
}
|
|
|
}
|
|
|
item.setCreateTimestamp(now);
|
|
@@ -761,7 +761,7 @@ public class ContentPlatformDatastatJob {
|
|
|
return unitPriceMaxConfig.get(typeEnum.getVal());
|
|
|
}
|
|
|
|
|
|
- private Double getUnitPrice(String price, BigDecimal fissionRate, Double arpu, BussinessTypeEnum typeEnum) {
|
|
|
+ private BigDecimal getUnitPrice(String price, BigDecimal fissionRate, Double arpu, BussinessTypeEnum typeEnum) {
|
|
|
JSONObject priceJSON;
|
|
|
try {
|
|
|
priceJSON = JSONObject.parseObject(price);
|
|
@@ -778,17 +778,16 @@ public class ContentPlatformDatastatJob {
|
|
|
if (Objects.isNull(staticPrice) || staticPrice == 0) {
|
|
|
return null;
|
|
|
}
|
|
|
- return staticPrice;
|
|
|
+ return new BigDecimal(staticPrice);
|
|
|
} else if ("dynamic".equals(priceMode)) {
|
|
|
if (Objects.isNull(fissionRate) || Objects.isNull(arpu) || Objects.isNull(dynamicTimes) || dynamicTimes == 0) {
|
|
|
return null;
|
|
|
}
|
|
|
- BigDecimal unitPrice = fissionRate.multiply(new BigDecimal(arpu))
|
|
|
+ return fissionRate.multiply(new BigDecimal(arpu))
|
|
|
.multiply(BigDecimal.valueOf(dynamicTimes))
|
|
|
.setScale(2, RoundingMode.HALF_UP)
|
|
|
.min(BigDecimal.valueOf(getUnitPriceMax(typeEnum)))
|
|
|
.max(BigDecimal.valueOf(getUnitPriceMin(typeEnum)));
|
|
|
- return unitPrice.doubleValue();
|
|
|
}
|
|
|
return null;
|
|
|
}
|