Bläddra i källkod

大屏每小时更新全部数据

qin 1 år sedan
förälder
incheckning
415d07adba

+ 3 - 3
src/main/java/com/poteviohealth/cgp/statistics/service/impl/OrderServiceImpl.java

@@ -1542,11 +1542,11 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, Order> implem
     }
     private void visitData(List<OrderStatisticsData> returnList,List<OrderIntegrationData> orderList,Integer areaId){
 
-
         OrderStatisticsData data = new OrderStatisticsData();
         data.setAreaId(areaId);
         List<Long> visitNumList = orderList.stream().map(o->o.getCustomerId()).distinct().collect(Collectors.toList());
         data.setVisitNum(visitNumList.size());
+        data.setOrderNum(orderList.size());
         data.setVisitRate(new BigDecimal(100));
         if(data.getVisitNum()>0){
             List<Long> satisfactionList = orderList.stream().filter(v->v.getResult().equals(1)).map(o->o.getOrderId()).collect(Collectors.toList());
@@ -1671,12 +1671,12 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, Order> implem
                 order.setVisitNum(orderStatisticsData.getVisitNum());
                 order.setVisitRate(orderStatisticsData.getVisitRate());
                 BigDecimal addSatisfaction = new BigDecimal(orderStatisticsData.getSatisfactionNum());
-                order.setSatisfactionRate(addSatisfaction.multiply(new BigDecimal("100.0")).divide(new BigDecimal(orderList.size()),2,BigDecimal.ROUND_HALF_UP).setScale(2,BigDecimal.ROUND_HALF_UP));
+                order.setSatisfactionRate(addSatisfaction.multiply(new BigDecimal("100.0")).divide(new BigDecimal(orderStatisticsData.getOrderNum()),2,BigDecimal.ROUND_HALF_UP).setScale(2,BigDecimal.ROUND_HALF_UP));
                 if(order.getSatisfactionRate().compareTo(new BigDecimal(100))>0){
                     order.setSatisfactionRate(new BigDecimal(100));
                 }
                 BigDecimal addQualified = new BigDecimal(orderStatisticsData.getQualifiedNum());
-                order.setQualifiedRate(addQualified.divide(new BigDecimal(orderList.size()),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.0")).setScale(2,BigDecimal.ROUND_HALF_UP));
+                order.setQualifiedRate(addQualified.divide(new BigDecimal(orderStatisticsData.getOrderNum()),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.0")).setScale(2,BigDecimal.ROUND_HALF_UP));
                 if(order.getQualifiedRate().compareTo(new BigDecimal(100))>0){
                     order.setQualifiedRate(new BigDecimal(100));
                 }