Browse Source

1.阈值判断改为绝对值

main
wangqiang 1 week ago
parent
commit
3507d3d550

+ 16
- 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZsOperationWarnresultServiceImpl.java View File

@@ -43,6 +43,7 @@ import java.util.stream.Collectors;
* @author 王强
* @date 2025-05-12
*/
@SuppressWarnings("all")
@RequiredArgsConstructor
@Service
@Slf4j
@@ -243,14 +244,26 @@ public class ZsOperationWarnresultServiceImpl implements IZsOperationWarnresultS
} else {
//获取基准价格
BigDecimal initPrice = zsOperationGoods.getInitPrice();
//比较绝对值
//获取基准价格和最新价格的差值比例
BigDecimal percentageChange= getChangeThreshold(initPrice,newPrice);
//我们设置的预警阈值
BigDecimal priceChange = new BigDecimal(zsOperationWarnconfig.getPriceChangeThreshold());
//绝对值
BigDecimal percentageChangeAbs= percentageChange.abs();
//绝对值
BigDecimal priceChangeAbs = priceChange.abs();
// 比较差值比例是否大于等于我们设置的预警阈值
if ((priceChange.doubleValue()>=0&&percentageChange.compareTo(priceChange) >= 0)||
(priceChange.doubleValue()<0&&percentageChange.compareTo(priceChange) <= 0)
) {
if (percentageChangeAbs.compareTo(priceChangeAbs) <= 0) {
//正常比较
//获取基准价格和最新价格的差值比例
//BigDecimal percentageChange= getChangeThreshold(initPrice,newPrice);
//我们设置的预警阈值
//BigDecimal priceChange = new BigDecimal(zsOperationWarnconfig.getPriceChangeThreshold());
// 比较差值比例是否大于等于我们设置的预警阈值
// if ((priceChange.doubleValue()>=0&&percentageChange.compareTo(priceChange) >= 0)||
// (priceChange.doubleValue()<0&&percentageChange.compareTo(priceChange) <= 0)
// ) {
//5.生成 预警结果数据
String warnTypes = zsOperationWarnconfig.getWarnTypes();
ZsOperationWarnresult zsOperationWarnresult = new ZsOperationWarnresult();

Loading…
Cancel
Save