|
|
@@ -1144,57 +1144,52 @@ public class CommonRatingServiceImpl extends ServiceImpl<CommonRatingMapper, Com
|
|
|
Integer commentCount = storeInfoScoreNew.size();
|
|
|
|
|
|
|
|
|
- if (commentCount == 10) {
|
|
|
- // 没有评价,设置默认评分为0
|
|
|
- StoreInfo storeInfo = new StoreInfo();
|
|
|
- storeInfo.setId(businessId);
|
|
|
- storeInfo.setScoreAvg(4.0);
|
|
|
+ if (commentCount < 10) {
|
|
|
+ if (storeInfoNew.getScoreAvg()!=0.0){
|
|
|
+ // 没有评价,设置默认评分为0
|
|
|
+ StoreInfo storeInfo = new StoreInfo();
|
|
|
+ storeInfo.setId(businessId);
|
|
|
+ storeInfo.setScoreAvg(3.5);
|
|
|
// storeInfo.setScoreOne(3.0);
|
|
|
// storeInfo.setScoreTwo(3.0);
|
|
|
// storeInfo.setScoreThree(3.0);
|
|
|
- storeInfoMapper.updateById(storeInfo);
|
|
|
- log.info("店铺有效评价被删除=10条,重置评分为4.0,businessId={}", businessId);
|
|
|
- return;
|
|
|
- }
|
|
|
+ storeInfoMapper.updateById(storeInfo);
|
|
|
+ log.info("店铺有效评价被删除<10条,重置评分为3.5,businessId={}", businessId);
|
|
|
+ }
|
|
|
+ }else if(commentCount > 10){
|
|
|
+ // 计算平均评分
|
|
|
+ double scoreSum = ratings.stream().mapToDouble(r -> r.getScore() != null ? r.getScore() : 0.0).sum();
|
|
|
+ double scoreOneSum = ratings.stream().mapToDouble(r -> r.getScoreOne() != null ? r.getScoreOne() : 0.0).sum();
|
|
|
+ double scoreTwoSum = ratings.stream().mapToDouble(r -> r.getScoreTwo() != null ? r.getScoreTwo() : 0.0).sum();
|
|
|
+ double scoreThreeSum = ratings.stream().mapToDouble(r -> r.getScoreThree() != null ? r.getScoreThree() : 0.0).sum();
|
|
|
+
|
|
|
+ double scoreAvg = Math.round((scoreSum / total) * 100.0) / 100.0;
|
|
|
+ double scoreOne = Math.round((scoreOneSum / total) * 100.0) / 100.0;
|
|
|
+ double scoreTwo = Math.round((scoreTwoSum / total) * 100.0) / 100.0;
|
|
|
+ double scoreThree = Math.round((scoreThreeSum / total) * 100.0) / 100.0;
|
|
|
|
|
|
- if (commentCount < 10) {
|
|
|
+ StoreInfo storeInfo = new StoreInfo();
|
|
|
+ storeInfo.setId(businessId);
|
|
|
+ storeInfo.setScoreAvg(scoreAvg);
|
|
|
+ storeInfo.setScoreOne(scoreOne);
|
|
|
+ storeInfo.setScoreTwo(scoreTwo);
|
|
|
+ storeInfo.setScoreThree(scoreThree);
|
|
|
+ storeInfoMapper.updateById(storeInfo);
|
|
|
|
|
|
- if (storeInfoNew.getScoreAvg()==0.0){
|
|
|
- return;
|
|
|
- }
|
|
|
+ log.info("更新店铺评分成功,businessId={},评价数={},scoreAvg={}", businessId, total, scoreAvg);
|
|
|
+ }else{
|
|
|
// 没有评价,设置默认评分为0
|
|
|
StoreInfo storeInfo = new StoreInfo();
|
|
|
storeInfo.setId(businessId);
|
|
|
- storeInfo.setScoreAvg(3.5);
|
|
|
+ storeInfo.setScoreAvg(4.0);
|
|
|
// storeInfo.setScoreOne(3.0);
|
|
|
// storeInfo.setScoreTwo(3.0);
|
|
|
// storeInfo.setScoreThree(3.0);
|
|
|
storeInfoMapper.updateById(storeInfo);
|
|
|
- log.info("店铺有效评价被删除<10条,重置评分为3.5,businessId={}", businessId);
|
|
|
- return;
|
|
|
- }
|
|
|
+ log.info("店铺有效评价被删除=10条,重置评分为4.0,businessId={}", businessId);
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- // 计算平均评分
|
|
|
- double scoreSum = ratings.stream().mapToDouble(r -> r.getScore() != null ? r.getScore() : 0.0).sum();
|
|
|
- double scoreOneSum = ratings.stream().mapToDouble(r -> r.getScoreOne() != null ? r.getScoreOne() : 0.0).sum();
|
|
|
- double scoreTwoSum = ratings.stream().mapToDouble(r -> r.getScoreTwo() != null ? r.getScoreTwo() : 0.0).sum();
|
|
|
- double scoreThreeSum = ratings.stream().mapToDouble(r -> r.getScoreThree() != null ? r.getScoreThree() : 0.0).sum();
|
|
|
-
|
|
|
- double scoreAvg = Math.round((scoreSum / total) * 100.0) / 100.0;
|
|
|
- double scoreOne = Math.round((scoreOneSum / total) * 100.0) / 100.0;
|
|
|
- double scoreTwo = Math.round((scoreTwoSum / total) * 100.0) / 100.0;
|
|
|
- double scoreThree = Math.round((scoreThreeSum / total) * 100.0) / 100.0;
|
|
|
-
|
|
|
- StoreInfo storeInfo = new StoreInfo();
|
|
|
- storeInfo.setId(businessId);
|
|
|
- storeInfo.setScoreAvg(scoreAvg);
|
|
|
- storeInfo.setScoreOne(scoreOne);
|
|
|
- storeInfo.setScoreTwo(scoreTwo);
|
|
|
- storeInfo.setScoreThree(scoreThree);
|
|
|
- storeInfoMapper.updateById(storeInfo);
|
|
|
-
|
|
|
- log.info("更新店铺评分成功,businessId={},评价数={},scoreAvg={}", businessId, total, scoreAvg);
|
|
|
} catch (Exception e) {
|
|
|
log.error("更新店铺评分失败,businessId={},error={}", businessId, e.getMessage());
|
|
|
}
|