|
@@ -2478,7 +2478,20 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
|
|
|
evaluateDao.insert(evaluate);
|
|
evaluateDao.insert(evaluate);
|
|
|
//重新计算并修改该商铺评分
|
|
//重新计算并修改该商铺评分
|
|
|
Evaluate evaluate1 = evaluateDao.selectScoreByShopId(evaluate.getShopId());
|
|
Evaluate evaluate1 = evaluateDao.selectScoreByShopId(evaluate.getShopId());
|
|
|
- Double score = evaluate1.getAllScore() / Double.valueOf(evaluate1.getEvaluatecount());
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 先取值判空
|
|
|
|
|
+ Double allScore = evaluate1.getAllScore();
|
|
|
|
|
+ Integer count = evaluate1.getEvaluatecount();
|
|
|
|
|
+ double score = 0.0;
|
|
|
|
|
+// 双重校验
|
|
|
|
|
+ if (allScore != null && count != null && count > 0) {
|
|
|
|
|
+ BigDecimal allS = new BigDecimal(allScore);
|
|
|
|
|
+ BigDecimal evaluateC = new BigDecimal(count);
|
|
|
|
|
+ // 保留5位小数 四舍五入
|
|
|
|
|
+ score = allS.divide(evaluateC, 5, RoundingMode.HALF_UP).doubleValue();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+// Double score = evaluate1.getAllScore() / Double.valueOf(evaluate1.getEvaluatecount());
|
|
|
GoodsShop goodsShop = new GoodsShop();
|
|
GoodsShop goodsShop = new GoodsShop();
|
|
|
goodsShop.setShopId(evaluate.getShopId());
|
|
goodsShop.setShopId(evaluate.getShopId());
|
|
|
goodsShop.setShopScore(score);
|
|
goodsShop.setShopScore(score);
|