瀏覽代碼

工作台数据查询 优化SQL慢查询

zhaoxian 2 年之前
父節點
當前提交
621443beca

+ 1 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/controller/KuaishouItemCollectSamplesController.java

@@ -548,6 +548,7 @@ public class KuaishouItemCollectSamplesController extends BaseController {
         return returnJson;
     }
 
+
     @GetMapping("/getDataAnalysis")
     @ApiOperation(value = "工作台——数据分析")
     public JSONObject getDataAnalysis(@ApiParam("创建人ID") @RequestParam(value = "userId", required = true) Long userId,

+ 5 - 5
ruixuan-live/src/main/java/com/ruixuan/isc/mapper/SupplyChainMapper.java

@@ -75,15 +75,15 @@ public interface SupplyChainMapper {
 
     JSONObject selectOrderInfo(@Param("promoterIds") List<Long> promoterIds, @Param("startDate") String startDate, @Param("endDate") String endDate);
 
-    JSONObject selectOrderRate(@Param("promoterIds") List<Long> promoterIds, @Param("itemIds") List<Long> itemIds, @Param("statDate") String statDate, @Param("endDate") String endDate, @Param("statDate2") String statDate2, @Param("endDate2") String endDate2);
+    JSONObject selectOrderRate(@Param("promoterIds") List<Long> promoterIds, @Param("itemIds") List<Long> itemIds, @Param("statDate") String statDate, @Param("endDate") String endDate);
 
-    List<JSONObject> getMonthOrderAmount(@Param("promoterIds") List<Long> promoterIds, @Param("userId") Long userId, @Param("statDate") String statDate, @Param("endDate") String endDate);
+    List<JSONObject> getMonthOrderAmount(Map<String, Object> map);
 
-    JSONObject getMonthOrderAmountTotal(@Param("promoterIds") List<Long> promoterIds, @Param("start") String start, @Param("end") String end);
+    JSONObject getMonthOrderAmountTotal(Map<String, Object> map);
 
     JSONObject selectOrderInfoByItemIds(@Param("itemIds") List<Long> itemIds, @Param("startDate") String startDate, @Param("endDate") String endDate);
 
-    List<JSONObject> getMonthOrderAmountByItems(@Param("itemIds") List<Long> itemIds, @Param("start") String start, @Param("end") String end);
+    List<JSONObject> getMonthOrderAmountByItems(Map<String, Object> map);
 
-    JSONObject getMonthOrderAmountTotalByItems(@Param("itemIds") List<Long> itemIds, @Param("start") String start, @Param("end") String end);
+    JSONObject getMonthOrderAmountTotalByItems(Map<String, Object> map);
 }

+ 1 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/IKuaishouItemCollectSamplesService.java

@@ -99,5 +99,6 @@ public interface IKuaishouItemCollectSamplesService {
     JSONObject getOrderData(Long userId, String startDate, String endDate, String type);
 
     JSONObject getDataAnalysis(Long userId, String type);
+
 }
 

+ 6 - 6
ruixuan-live/src/main/java/com/ruixuan/isc/service/ISupplyChainService.java

@@ -98,15 +98,15 @@ public interface ISupplyChainService {
 
     JSONObject selectOrderInfo(List<Long> promoterIds, String startDate, String endDate);
 
-    JSONObject selectOrderRate(List<Long> promoterIds,List<Long> itemIds, String statDate, String endDate, String statDate2, String endDate2);
+    JSONObject selectOrderRate(List<Long> promoterIds, List<Long> itemIds, String statDate, String endDate);
 
-    List<JSONObject> getMonthOrderAmount(List<Long> promoterIds, Long userId, String start, String end);
+    List<JSONObject> getMonthOrderAmount(Map<String, Object> map);
 
-    JSONObject getMonthOrderAmountTotal(List<Long> promoterIds, String start, String end);
+    JSONObject getMonthOrderAmountTotal(Map<String, Object> map);
 
-    JSONObject selectOrderInfoByItemIds(List<Long> itemIds,String startDate, String endDate);
+    JSONObject selectOrderInfoByItemIds(List<Long> itemIds, String startDate, String endDate);
 
-    List<JSONObject> getMonthOrderAmountByItems(List<Long> itemIds, String start, String end);
+    List<JSONObject> getMonthOrderAmountByItems(Map<String, Object> map);
 
-    JSONObject getMonthOrderAmountTotalByItems(List<Long> itemIds, String start, String end);
+    JSONObject getMonthOrderAmountTotalByItems(Map<String, Object> map);
 }

+ 94 - 55
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/KuaishouItemCollectSamplesServiceImpl.java

@@ -24,6 +24,8 @@ import com.ruixuan.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
@@ -390,18 +392,14 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
 
     //渠道数据
     private JSONObject getgetOrderDataByChannel(Long userId, String startDate, String endDate) {
-        long startTime = System.currentTimeMillis();
         JSONObject data = new JSONObject();
         List<Long> promoterIds = promoterService.selectPromoterIdList(userId);
-        System.out.println("用时1:"+(System.currentTimeMillis()-startTime)/1000 +"s");
         if (Check.isNotNull(promoterIds)) {
             data.put("promoterCount", promoterIds.size());//达人总数
             JSONObject Sample = kuaishouItemCollectSamplesMapper.queryTheNumberOfCompletedJobs(promoterIds, startDate, endDate);
-            System.out.println("用时2:"+(System.currentTimeMillis()-startTime)/1000 +"s");
             data.put("completeCount", Sample.getInteger("completeCount"));//完成作业数
             data.put("completeRate", Sample.getString("completeRate"));//合格作业率
             JSONObject order = supplyChainService.selectOrderInfo(promoterIds, startDate, endDate);
-            System.out.println("用时3:"+(System.currentTimeMillis()-startTime)/1000 +"s");
             data.put("allNumber", order.getInteger("allNumber"));//订单总数
             data.put("validOrderNUm", order.getInteger("validOrderNUm"));//有效订单数
             data.put("inValidOrderNUm", order.getInteger("allNumber") - order.getInteger("validOrderNUm"));//失效订单数
@@ -419,22 +417,32 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
             String start = DateUtils.getSubtractTime(date, 6);
             //上个近七天的开始日期
             String LastStart = DateUtils.getSubtractTime(date, 13);
-
-            //日环比
-            JSONObject dateOrderRate = supplyChainService.selectOrderRate(promoterIds, null, today, today, yesterday, yesterday);
-            System.out.println("用时4:"+(System.currentTimeMillis()-startTime)/1000 +"s");
-            data.put("dateOrderRate", dateOrderRate.getString("orderRate"));
-            data.put("dateAmountRate", dateOrderRate.getString("amountRate"));
+            //当天数据
+            JSONObject toData = supplyChainService.selectOrderRate(promoterIds, null, today, today);
+            //昨日数据
+            JSONObject yesData = supplyChainService.selectOrderRate(promoterIds, null, yesterday, yesterday);
+            //上周当日数据
+            JSONObject weeklyDayData = supplyChainService.selectOrderRate(promoterIds, null, todayOfLastWeek, todayOfLastWeek);
+            //当前近七天的数据
+            JSONObject inDayData = supplyChainService.selectOrderRate(promoterIds, null, start, today);
+            //上个近七天的数据
+            JSONObject lastDayData = supplyChainService.selectOrderRate(promoterIds, null, LastStart, todayOfLastWeek);
+
+            //日环比 (今天-昨天)/昨天*100%
+            BigDecimal dateOrder = toData.getBigDecimal("allNumber").subtract(yesData.getBigDecimal("allNumber")).divide(yesData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
+            BigDecimal dateAmount = toData.getBigDecimal("orderAmount").subtract(yesData.getBigDecimal("orderAmount")).divide(yesData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
+            data.put("dateOrderRate", dateOrder);
+            data.put("dateAmountRate", dateAmount);
             //周同比
-            JSONObject monthOrderRate = supplyChainService.selectOrderRate(promoterIds, null, today, today, todayOfLastWeek, todayOfLastWeek);
-            System.out.println("用时5:"+(System.currentTimeMillis()-startTime)/1000 +"s");
-            data.put("monthOrderRate", monthOrderRate.getString("orderRate"));
-            data.put("monthAmountRate", monthOrderRate.getString("amountRate"));
+            BigDecimal monthOrder = toData.getBigDecimal("allNumber").subtract(weeklyDayData.getBigDecimal("allNumber")).divide(weeklyDayData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
+            BigDecimal monthAmount = toData.getBigDecimal("orderAmount").subtract(weeklyDayData.getBigDecimal("orderAmount")).divide(weeklyDayData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
+            data.put("monthOrderRate", monthOrder);
+            data.put("monthAmountRate", monthAmount);
             //数据对比
-            JSONObject dataOrderRate = supplyChainService.selectOrderRate(promoterIds, null, start, today, LastStart, todayOfLastWeek);
-            System.out.println("用时6:"+(System.currentTimeMillis()-startTime)/1000 +"s");
-            data.put("dataOrderRate", dataOrderRate.getString("orderRate"));
-            data.put("dataAmountRate", dataOrderRate.getString("amountRate"));
+            BigDecimal dataOrder = inDayData.getBigDecimal("allNumber").subtract(lastDayData.getBigDecimal("allNumber")).divide(lastDayData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
+            BigDecimal dataAmount = inDayData.getBigDecimal("orderAmount").subtract(lastDayData.getBigDecimal("orderAmount")).divide(lastDayData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
+            data.put("dataOrderRate", dataOrder);
+            data.put("dataAmountRate", dataAmount);
         }
         return data;
     }
@@ -449,40 +457,55 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
         }
         //查询登录人(创建人)的所有商品
         List<Long> itemIds = kuaishouItemCollectSamplesMapper.getItemIdsByCreateId(userId);
-        JSONObject order = supplyChainService.selectOrderInfoByItemIds(itemIds, startDate, endDate);
-        data.put("sendCount", order.getInteger("sendCount"));//发货数
-        data.put("sendRate", order.getString("sendRate"));//订单发货率
-        data.put("allNumber", order.getInteger("allNumber"));//订单总数
-        data.put("validOrderNUm", order.getInteger("validOrderNUm"));//有效订单数
-        data.put("inValidOrderNUm", order.getInteger("allNumber") - order.getInteger("validOrderNUm"));//失效订单数
-        data.put("orderAmount", order.getInteger("orderAmount"));//订单金额
-        data.put("regimentalPromotionAmount", order.getInteger("regimentalPromotionAmount"));//预估服务费
-        data.put("baseAmount", order.getInteger("baseAmount"));//累计货贷基数
-        //当天
-        String today = DateUtils.getNowDateStr();
-        Date date = new Date();
-        //昨天
-        String yesterday = DateUtils.getSubtractTime(date, 1);
-        //上周的同一天(上个近七天的结束日期)
-        String todayOfLastWeek = DateUtils.getSubtractTime(date, 7);
-        //当前近七天的开始日期
-        String start = DateUtils.getSubtractTime(date, 6);
-        //上个近七天的开始日期
-        String LastStart = DateUtils.getSubtractTime(date, 13);
-
-        //日环比
-        JSONObject dateOrderRate = supplyChainService.selectOrderRate(null, itemIds, today, today, yesterday, yesterday);
-        data.put("dateOrderRate", dateOrderRate.getString("orderRate"));
-        data.put("dateAmountRate", dateOrderRate.getString("amountRate"));
-        //周同比
-        JSONObject monthOrderRate = supplyChainService.selectOrderRate(null, itemIds, today, today, todayOfLastWeek, todayOfLastWeek);
-        data.put("monthOrderRate", monthOrderRate.getString("orderRate"));
-        data.put("monthAmountRate", monthOrderRate.getString("amountRate"));
-        //数据对比
-        JSONObject dataOrderRate = supplyChainService.selectOrderRate(null, itemIds, start, today, LastStart, todayOfLastWeek);
-        data.put("dataOrderRate", dataOrderRate.getString("orderRate"));
-        data.put("dataAmountRate", dataOrderRate.getString("amountRate"));
+        if (Check.isNotNull(itemIds)) {
+            JSONObject order = supplyChainService.selectOrderInfoByItemIds(itemIds, startDate, endDate);
+            data.put("sendCount", order.getInteger("sendCount"));//发货数
+            data.put("sendRate", order.getString("sendRate"));//订单发货率
+            data.put("allNumber", order.getInteger("allNumber"));//订单总数
+            data.put("validOrderNUm", order.getInteger("validOrderNUm"));//有效订单数
+            data.put("inValidOrderNUm", order.getInteger("allNumber") - order.getInteger("validOrderNUm"));//失效订单数
+            data.put("orderAmount", order.getInteger("orderAmount"));//订单金额
+            data.put("regimentalPromotionAmount", order.getInteger("regimentalPromotionAmount"));//预估服务费
+            data.put("baseAmount", order.getInteger("baseAmount"));//累计货贷基数
+            //当天
+            String today = DateUtils.getNowDateStr();
+            Date date = new Date();
+            //昨天
+            String yesterday = DateUtils.getSubtractTime(date, 1);
+            //上周的同一天(上个近七天的结束日期)
+            String todayOfLastWeek = DateUtils.getSubtractTime(date, 7);
+            //当前近七天的开始日期
+            String start = DateUtils.getSubtractTime(date, 6);
+            //上个近七天的开始日期
+            String LastStart = DateUtils.getSubtractTime(date, 13);
 
+            //当天数据
+            JSONObject toData = supplyChainService.selectOrderRate(null, itemIds, today, today);
+            //昨日数据
+            JSONObject yesData = supplyChainService.selectOrderRate(null, itemIds, yesterday, yesterday);
+            //上周当日数据
+            JSONObject weeklyDayData = supplyChainService.selectOrderRate(null, itemIds, todayOfLastWeek, todayOfLastWeek);
+            //当前近七天的数据
+            JSONObject inDayData = supplyChainService.selectOrderRate(null, itemIds, start, today);
+            //上个近七天的数据
+            JSONObject lastDayData = supplyChainService.selectOrderRate(null, itemIds, LastStart, todayOfLastWeek);
+
+            //日环比 (今天-昨天)/昨天*100%
+            BigDecimal dateOrder = toData.getBigDecimal("allNumber").subtract(yesData.getBigDecimal("allNumber")).divide(yesData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
+            BigDecimal dateAmount = toData.getBigDecimal("orderAmount").subtract(yesData.getBigDecimal("orderAmount")).divide(yesData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
+            data.put("dateOrderRate", dateOrder);
+            data.put("dateAmountRate", dateAmount);
+            //周同比
+            BigDecimal monthOrder = toData.getBigDecimal("allNumber").subtract(weeklyDayData.getBigDecimal("allNumber")).divide(weeklyDayData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
+            BigDecimal monthAmount = toData.getBigDecimal("orderAmount").subtract(weeklyDayData.getBigDecimal("orderAmount")).divide(weeklyDayData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
+            data.put("monthOrderRate", monthOrder);
+            data.put("monthAmountRate", monthAmount);
+            //数据对比
+            BigDecimal dataOrder = inDayData.getBigDecimal("allNumber").subtract(lastDayData.getBigDecimal("allNumber")).divide(lastDayData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
+            BigDecimal dataAmount = inDayData.getBigDecimal("orderAmount").subtract(lastDayData.getBigDecimal("orderAmount")).divide(lastDayData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
+            data.put("dataOrderRate", dataOrder);
+            data.put("dataAmountRate", dataAmount);
+        }
         return data;
     }
 
@@ -508,7 +531,14 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
             String end = DateUtils.getNowDateStr();
             //当前月份第一天
             String start = DateUtils.getFirstDayByMonth();
-            List<JSONObject> list = supplyChainService.getMonthOrderAmount(promoterIds, userId, start, end);
+            Map<String, Object> map = new HashMap<>();
+            map.put("start", start);
+            map.put("end", end);
+            map.put("userId", userId);
+            map.put("promoterIds", promoterIds);
+            map.put("startLong", DateUtils.getStartLongTime(start));
+            map.put("endLong", DateUtils.getEndLongTime(end));
+            List<JSONObject> list = supplyChainService.getMonthOrderAmount(map);
             List<String> allDates = DateUtils.getAllDatesOfTwoTimes(start, end);
             if (Check.isNull(list) || list.size() != allDates.size()) {
                 String orderAmountStr = JSONObject.toJSONString(list);
@@ -531,7 +561,8 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
                 });
             }
             data.put("list", list);
-            JSONObject amount = supplyChainService.getMonthOrderAmountTotal(promoterIds, start, end);
+            map.put("toStartLong", DateUtils.getStartLongTime(end));
+            JSONObject amount = supplyChainService.getMonthOrderAmountTotal(map);
             if (Check.isNotNull(amount)) {
                 data.put("orderAmount", amount.getInteger("orderAmount"));
                 data.put("totalRegimentalSettleAmount", amount.getInteger("totalRegimentalSettleAmount"));
@@ -557,7 +588,15 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
             String end = DateUtils.getNowDateStr();
             //当前月份第一天
             String start = DateUtils.getFirstDayByMonth();
-            List<JSONObject> list = supplyChainService.getMonthOrderAmountByItems(itemIds, start, end);
+            Map<String, Object> map = new HashMap<>();
+            map.put("start", start);
+            map.put("end", end);
+            map.put("userId", userId);
+            map.put("itemIds", itemIds);
+            map.put("startLong", DateUtils.getStartLongTime(start));
+            map.put("toStartLong", DateUtils.getStartLongTime(end));
+            map.put("endLong", DateUtils.getEndLongTime(end));
+            List<JSONObject> list = supplyChainService.getMonthOrderAmountByItems(map);
             List<String> allDates = DateUtils.getAllDatesOfTwoTimes(start, end);
             if (Check.isNull(list) || list.size() != allDates.size()) {
                 String orderAmountStr = JSONObject.toJSONString(list);
@@ -580,7 +619,7 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
                 });
             }
             data.put("list", list);
-            JSONObject amount = supplyChainService.getMonthOrderAmountTotalByItems(itemIds, start, end);
+            JSONObject amount = supplyChainService.getMonthOrderAmountTotalByItems(map);
             if (Check.isNotNull(amount)) {
                 data.put("orderAmount", amount.getInteger("orderAmount"));
                 data.put("totalRegimentalSettleAmount", amount.getInteger("totalRegimentalSettleAmount"));

+ 10 - 10
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/SupplyChainServiceImpl.java

@@ -187,18 +187,18 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
     }
 
     @Override
-    public JSONObject selectOrderRate(List<Long> promoterIds, List<Long> itemIds, String statDate, String endDate, String statDate2, String endDate2) {
-        return supplyChainMapper.selectOrderRate(promoterIds, itemIds, statDate, endDate, statDate2, endDate2);
+    public JSONObject selectOrderRate(List<Long> promoterIds, List<Long> itemIds, String statDate, String endDate) {
+        return supplyChainMapper.selectOrderRate(promoterIds, itemIds, statDate, endDate);
     }
 
     @Override
-    public List<JSONObject> getMonthOrderAmount(List<Long> promoterIds, Long userId, String start, String end) {
-        return supplyChainMapper.getMonthOrderAmount(promoterIds, userId, start, end);
+    public List<JSONObject> getMonthOrderAmount(Map<String, Object> map) {
+        return supplyChainMapper.getMonthOrderAmount(map);
     }
 
     @Override
-    public JSONObject getMonthOrderAmountTotal(List<Long> promoterIds, String start, String end) {
-        return supplyChainMapper.getMonthOrderAmountTotal(promoterIds, start, end);
+    public JSONObject getMonthOrderAmountTotal(Map<String, Object> map) {
+        return supplyChainMapper.getMonthOrderAmountTotal(map);
     }
 
     @Override
@@ -207,12 +207,12 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
     }
 
     @Override
-    public List<JSONObject> getMonthOrderAmountByItems(List<Long> itemIds, String start, String end) {
-        return supplyChainMapper.getMonthOrderAmountByItems(itemIds, start, end);
+    public List<JSONObject> getMonthOrderAmountByItems(Map<String, Object> map) {
+        return supplyChainMapper.getMonthOrderAmountByItems(map);
     }
 
     @Override
-    public JSONObject getMonthOrderAmountTotalByItems(List<Long> itemIds, String start, String end) {
-        return supplyChainMapper.getMonthOrderAmountTotalByItems(itemIds, start, end);
+    public JSONObject getMonthOrderAmountTotalByItems(Map<String, Object> map) {
+        return supplyChainMapper.getMonthOrderAmountTotalByItems(map);
     }
 }

+ 16 - 48
ruixuan-live/src/main/resources/mapper/isc/SupplyChainMapper.xml

@@ -1094,11 +1094,6 @@
 
     <select id="selectOrderRate" resultType="com.alibaba.fastjson.JSONObject">
         SELECT
-        IFNULL(ROUND((t1.allNumber-t2.allNumber)/t2.allNumber*100,2),'0') as 'orderRate',
-        IFNULL(ROUND((t1.orderAmount-t2.orderAmount)/t2.orderAmount*100,2),'0') as 'amountRate'
-        FROM
-        (
-        SELECT
         count(oid) as 'allNumber',
         sum(
         CASE
@@ -1123,35 +1118,6 @@
                 #{item}
             </foreach>
         </if>
-        ) t1
-        LEFT JOIN
-        (
-        SELECT
-        count(oid) as 'allNumber',
-        sum(
-        CASE
-        WHEN order_status != 80 THEN order_amount
-        ELSE 0
-        END
-        ) AS 'orderAmount'
-        FROM kuaishou_supply_chain
-        WHERE stat_date >= #{statDate2}
-        AND stat_date &lt;= #{endDate2}
-        <if test='promoterIds != null and promoterIds.size() > 0'>
-            AND promoter_id in
-            <foreach collection="promoterIds" item="item" separator=","
-                     open="(" close=")">
-                #{item}
-            </foreach>
-        </if>
-        <if test='itemIds != null and itemIds.size() > 0'>
-            AND item_id in
-            <foreach collection="itemIds" item="item" separator=","
-                     open="(" close=")">
-                #{item}
-            </foreach>
-        </if>
-        ) t2 ON 1=1
     </select>
 
 
@@ -1166,8 +1132,8 @@
         SELECT count(promoter_id) as 'promoterCount', DATE_FORMAT(create_time, '%Y-%m-%d') as 'date'
         FROM kuaishou_promoter
         WHERE user_id = #{userId}
-        AND DATE_FORMAT(create_time, '%Y-%m-%d') >= #{statDate}
-        AND DATE_FORMAT(create_time, '%Y-%m-%d') &lt;= #{endDate}
+        AND DATE_FORMAT(create_time, '%Y-%m-%d') >= #{start}
+        AND DATE_FORMAT(create_time, '%Y-%m-%d') &lt;= #{end}
         GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')
         ) t2 ON t1.FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d') = t2.date
         WHERE order_status != 80
@@ -1177,10 +1143,9 @@
                 #{item}
             </foreach>
         </if>
-        AND FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d') >= #{statDate}
-        AND FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d') &lt;= #{endDate}
+        AND order_create_time >= #{startLong}
+        AND order_create_time &lt;= #{endLong}
         GROUP BY FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d')
-        ORDER BY FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d')
     </select>
 
     <select id="getMonthOrderAmountByItems" resultType="com.alibaba.fastjson.JSONObject">
@@ -1198,10 +1163,9 @@
                 #{item}
             </foreach>
         </if>
-        AND FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d') >= #{start}
-        AND FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d') &lt;= #{end}
+        AND order_create_time >= #{startLong}
+        AND order_create_time &lt;= #{endLong}
         GROUP BY FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d')
-        ORDER BY FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d')
     </select>
 
     <select id="getMonthOrderAmountTotal" resultType="com.alibaba.fastjson.JSONObject">
@@ -1224,8 +1188,8 @@
                 #{item}
             </foreach>
         </if>
-        AND FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d') >= #{start}
-        AND FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d') &lt;= #{end})t1
+        AND order_create_time >= #{startLong}
+        AND order_create_time &lt;= #{endLong}) t1
         LEFT JOIN
         (
         SELECT
@@ -1239,7 +1203,8 @@
                 #{item}
             </foreach>
         </if>
-        AND FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d') = #{end})t2 ON 1=1
+        AND order_create_time >= #{toStartLong}
+        AND order_create_time &lt;= #{endLong})t2 ON 1=1
     </select>
 
     <select id="getMonthOrderAmountTotalByItems" resultType="com.alibaba.fastjson.JSONObject">
@@ -1266,8 +1231,9 @@
                 #{item}
             </foreach>
         </if>
-        AND FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d') >= #{start}
-        AND FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d') &lt;= #{end})t1
+        AND order_create_time >= #{startLong}
+        AND order_create_time &lt;= #{endLong}
+        )t1
         LEFT JOIN
         (
         SELECT
@@ -1283,6 +1249,8 @@
                 #{item}
             </foreach>
         </if>
-        AND FROM_UNIXTIME(order_create_time / 1000, '%Y-%m-%d') =#{end})t2 ON 1=1
+        AND order_create_time >= #{toStartLong}
+        AND order_create_time &lt;= #{endLong}
+        )t2 ON 1=1
     </select>
 </mapper>