瀏覽代碼

fix:“修复月汇总和年汇总数据不更新的问题"

soobin 8 月之前
父節點
當前提交
5525ff6134

+ 75 - 10
src/main/java/com/szwl/controller/TOrderController.java

@@ -49,6 +49,8 @@ import java.io.OutputStream;
 import java.net.URLEncoder;
 import java.net.URLEncoder;
 import java.text.ParseException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.*;
 
 
 /**
 /**
@@ -1021,14 +1023,6 @@ public class TOrderController {
         return R.ok(sellChartColumn);
         return R.ok(sellChartColumn);
     }
     }
 
 
-    @ApiOperation("订单汇总统计")
-    @PostMapping("/orderSummaryStatistics")
-    public ResponseModel<?> orderSummaryStatistics(@RequestBody StatisticsParam param) {
-        // 同步汇总数据到数据库
-        Page<OrderDaoChuDTO> page = esTOrderService.getSummaryStatistics(param);
-        return R.ok(page);
-    }
-
     @ApiOperation(value = "查询国内线上订单")
     @ApiOperation(value = "查询国内线上订单")
     @RequestMapping(value = "/findOrder", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
     @RequestMapping(value = "/findOrder", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
     @ResponseBody
     @ResponseBody
@@ -1865,7 +1859,7 @@ public class TOrderController {
         if (StringUtils.isNotEmpty(param.getDateType()) && param.getDateType().equals("1")) {
         if (StringUtils.isNotEmpty(param.getDateType()) && param.getDateType().equals("1")) {
             // 按年统计
             // 按年统计
             page = orderService.summaryStatisticsYear(param);
             page = orderService.summaryStatisticsYear(param);
-        } else if(param.getDateType().equals("0")) {
+        } else if (param.getDateType().equals("0")) {
             // 按月统计
             // 按月统计
             page = orderService.summaryStatisticsMonth(param);
             page = orderService.summaryStatisticsMonth(param);
         } else {
         } else {
@@ -1888,7 +1882,7 @@ public class TOrderController {
                 } else {
                 } else {
                     orderService.statisticsYearExport(response, StatisticsClientIdTarget.class, param);
                     orderService.statisticsYearExport(response, StatisticsClientIdTarget.class, param);
                 }
                 }
-            } else if(param.getDateType().equals("0")) {
+            } else if (param.getDateType().equals("0")) {
                 // 按月统计
                 // 按月统计
                 if (StringUtils.isNotEmpty(param.getPacketType()) && param.getPacketType().equals("0")) {
                 if (StringUtils.isNotEmpty(param.getPacketType()) && param.getPacketType().equals("0")) {
                     orderService.statisticsMonthExport(response, StatisticsAdminTarget.class, param);
                     orderService.statisticsMonthExport(response, StatisticsAdminTarget.class, param);
@@ -1908,5 +1902,76 @@ public class TOrderController {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
     }
     }
+
+    @ApiOperation("同步月数据汇总")
+    @GetMapping("/syncMonthData")
+    public ResponseModel<?> syncMonthData() {
+        // 参数
+        StatisticsParam param = new StatisticsParam();
+        // 获取昨天的时间
+        LocalDate yesterday = LocalDate.now().minusDays(1);
+
+        // 创建DateTimeFormatter对象,用于格式化成 "yyyy-MM"
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
+
+        // 格式化并输出昨天的日期
+        String statisticsDate = yesterday.format(formatter);
+        param.setStartDate(statisticsDate + "-01 00:00:00");
+        param.setEndDate(statisticsDate + "-31 23:59:59");
+        // 按月统计
+        param.setDateType("0");
+        try {
+            // 同步国内,按商户统计
+            param.setIfForeign("0");
+            param.setPacketType("0");
+            esTOrderService.getSummaryStatistics(param);
+            // 同步国内,按设备统计
+            param.setPacketType("1");
+            esTOrderService.getSummaryStatistics(param);
+            // 同步国外,按商户统计
+            param.setIfForeign("1");
+            param.setPacketType("0");
+            esTOrderService.getSummaryStatistics(param);
+            // 同步国外,按设备统计
+            param.setPacketType("1");
+            esTOrderService.getSummaryStatistics(param);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return R.ok("同步成功");
+    }
+
+    @ApiOperation("同步年数据汇总")
+    @GetMapping("/syncYearData")
+    public ResponseModel<?> syncYearData() {
+        // 参数
+        StatisticsParam param = new StatisticsParam();
+        // 获取昨天的时间
+        LocalDate yesterday = LocalDate.now().minusDays(1);
+        String year = yesterday.format(DateTimeFormatter.ofPattern("yyyy"));
+        param.setStartDate(year + "-01-01 00:00:00");
+        param.setEndDate(year + "-12-31 23:59:59");
+        param.setDateType("1");
+        try {
+            // 同步国内,按商户统计
+            param.setIfForeign("0");
+            param.setPacketType("0");
+            esTOrderService.getSummaryStatistics(param);
+            // 同步国内,按设备统计
+            param.setPacketType("1");
+            esTOrderService.getSummaryStatistics(param);
+            // 同步国外,按商户统计
+            param.setIfForeign("1");
+            param.setPacketType("0");
+            esTOrderService.getSummaryStatistics(param);
+            // 同步国外,按设备统计
+            param.setPacketType("1");
+            esTOrderService.getSummaryStatistics(param);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return R.ok("同步成功");
+    }
 }
 }
 
 

+ 7 - 7
src/main/java/com/szwl/service/es/EsTOrderService.java

@@ -728,7 +728,7 @@ public class EsTOrderService extends EsBaseService<TOrder, TOrderParam> {
                         if(statisticsYear != null){
                         if(statisticsYear != null){
                             // 金额是否有变化,有就更新,没有就不更新
                             // 金额是否有变化,有就更新,没有就不更新
                             BigDecimal newSalePrice = new BigDecimal(priceTotal).setScale(2, RoundingMode.HALF_UP);
                             BigDecimal newSalePrice = new BigDecimal(priceTotal).setScale(2, RoundingMode.HALF_UP);
-                            if (!statisticsYear.getSalePrice().equals(newSalePrice)) {
+                            if (statisticsYear.getSalePrice().equals(newSalePrice)) {
                                 continue;
                                 continue;
                             }
                             }
                             // 更新数据
                             // 更新数据
@@ -764,12 +764,12 @@ public class EsTOrderService extends EsBaseService<TOrder, TOrderParam> {
                         if(statisticsYear != null){
                         if(statisticsYear != null){
                             // 金额是否有变化,有就更新,没有就不更新
                             // 金额是否有变化,有就更新,没有就不更新
                             BigDecimal newSalePrice = new BigDecimal(priceTotal).setScale(2, RoundingMode.HALF_UP);
                             BigDecimal newSalePrice = new BigDecimal(priceTotal).setScale(2, RoundingMode.HALF_UP);
-                            if (!statisticsYear.getSalePrice().equals(newSalePrice)) {
+                            if (statisticsYear.getSalePrice().equals(newSalePrice)) {
                                 continue;
                                 continue;
                             }
                             }
                             // 更新数据
                             // 更新数据
                             statisticsYear.setSaleNum(saleNum);
                             statisticsYear.setSaleNum(saleNum);
-                            statisticsYear.setSalePrice(new BigDecimal(priceTotal).setScale(2, RoundingMode.HALF_UP));
+                            statisticsYear.setSalePrice(newSalePrice);
                             statisticsYear.setOrderNum(Long.valueOf(docCount).intValue());
                             statisticsYear.setOrderNum(Long.valueOf(docCount).intValue());
                             updateYearList.add(statisticsYear);
                             updateYearList.add(statisticsYear);
                             continue;
                             continue;
@@ -808,12 +808,12 @@ public class EsTOrderService extends EsBaseService<TOrder, TOrderParam> {
                         if(statisticsMonth != null){
                         if(statisticsMonth != null){
                             // 金额是否有变化,有就更新,没有就不更新
                             // 金额是否有变化,有就更新,没有就不更新
                             BigDecimal newSalePrice = new BigDecimal(priceTotal).setScale(2, RoundingMode.HALF_UP);
                             BigDecimal newSalePrice = new BigDecimal(priceTotal).setScale(2, RoundingMode.HALF_UP);
-                            if (!statisticsMonth.getSalePrice().equals(newSalePrice)) {
+                            if (statisticsMonth.getSalePrice().equals(newSalePrice)) {
                                 continue;
                                 continue;
                             }
                             }
                             // 更新数据
                             // 更新数据
                             statisticsMonth.setSaleNum(saleNum);
                             statisticsMonth.setSaleNum(saleNum);
-                            statisticsMonth.setSalePrice(new BigDecimal(priceTotal).setScale(2, RoundingMode.HALF_UP));
+                            statisticsMonth.setSalePrice(newSalePrice);
                             statisticsMonth.setOrderNum(Long.valueOf(docCount).intValue());
                             statisticsMonth.setOrderNum(Long.valueOf(docCount).intValue());
                             updateMonthList.add(statisticsMonth);
                             updateMonthList.add(statisticsMonth);
                             continue;
                             continue;
@@ -844,12 +844,12 @@ public class EsTOrderService extends EsBaseService<TOrder, TOrderParam> {
                         if(statisticsMonth != null){
                         if(statisticsMonth != null){
                             // 金额是否有变化,有就更新,没有就不更新
                             // 金额是否有变化,有就更新,没有就不更新
                             BigDecimal newSalePrice = new BigDecimal(priceTotal).setScale(2, RoundingMode.HALF_UP);
                             BigDecimal newSalePrice = new BigDecimal(priceTotal).setScale(2, RoundingMode.HALF_UP);
-                            if (!statisticsMonth.getSalePrice().equals(newSalePrice)) {
+                            if (statisticsMonth.getSalePrice().equals(newSalePrice)) {
                                 continue;
                                 continue;
                             }
                             }
                             // 更新数据
                             // 更新数据
                             statisticsMonth.setSaleNum(saleNum);
                             statisticsMonth.setSaleNum(saleNum);
-                            statisticsMonth.setSalePrice(new BigDecimal(priceTotal).setScale(2, RoundingMode.HALF_UP));
+                            statisticsMonth.setSalePrice(newSalePrice);
                             statisticsMonth.setOrderNum(Long.valueOf(docCount).intValue());
                             statisticsMonth.setOrderNum(Long.valueOf(docCount).intValue());
                             updateMonthList.add(statisticsMonth);
                             updateMonthList.add(statisticsMonth);
                             continue;
                             continue;