From e090805989dd874b06fa6f784a805008eff081e1 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 18 五月 2023 18:46:20 +0800
Subject: [PATCH] BUG修改

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java |  209 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 190 insertions(+), 19 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
index 3b2ee6f..dd68d6a 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
@@ -1,8 +1,7 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.core.shiro.ShiroKit;
-import com.stylefeng.guns.core.util.DateUtil;
 import com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp;
 import com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp;
 import com.stylefeng.guns.modular.system.controller.resp.TOrderResp;
@@ -10,26 +9,24 @@
 import com.stylefeng.guns.modular.system.dao.TAppUserMapper;
 import com.stylefeng.guns.modular.system.dao.TBranchOfficeMapper;
 import com.stylefeng.guns.modular.system.dao.TDriverMapper;
+import com.stylefeng.guns.modular.system.dao.TOrderMapper;
 import com.stylefeng.guns.modular.system.enums.OrderStateEnum;
 import com.stylefeng.guns.modular.system.model.TAppUser;
 import com.stylefeng.guns.modular.system.model.TBranchOffice;
 import com.stylefeng.guns.modular.system.model.TDriver;
 import com.stylefeng.guns.modular.system.model.TOrder;
-import com.stylefeng.guns.modular.system.dao.TOrderMapper;
 import com.stylefeng.guns.modular.system.service.ITOrderService;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.modular.system.util.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.Model;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * <p>
@@ -58,8 +55,8 @@
         // 开始,结束时间
         if(StringUtils.hasLength(createTime)){
             String[] split = createTime.split(" - ");
-            startTime = split[0];
-            endTime = split[1];
+            startTime = split[0] + " 00:00:00";
+            endTime = split[1] + " 23:59:59";
         }
         Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType();
         Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId();
@@ -145,20 +142,90 @@
     }
 
     @Override
-    public void getDataStatisticsByYear(Integer agentId,String yearDate, Model model) {
+    public void getDataStatisticsByYear(Integer agentId,String yearDate, Model model,Map<String, Object> map) {
+
         List<DataStatisticsOrderYearResp> data = tOrderMapper.getDataStatisticsByYear(agentId,yearDate);
-        System.err.println(data);
-        model.addAttribute("yearResp",data);
+        List<DataStatisticsOrderYearResp> resps =new ArrayList<>();
+        for (int i = 1; i < 13; i++) {
+            DataStatisticsOrderYearResp dataStatisticsOrderYearResp = new DataStatisticsOrderYearResp();
+            if(i < 10){
+                dataStatisticsOrderYearResp.setMonth("0" + i);
+            }else {
+                dataStatisticsOrderYearResp.setMonth(String.valueOf(i));
+            }
+            dataStatisticsOrderYearResp.setOrderCount(0);
+            resps.add(dataStatisticsOrderYearResp);
+        }
+        if(!CollectionUtils.isEmpty(data)){
+            for (DataStatisticsOrderYearResp datum : data) {
+                for (DataStatisticsOrderYearResp resp : resps) {
+                    if(resp.getMonth().equals(datum.getMonth())){
+                        resp.setOrderCount(datum.getOrderCount());
+                        break;
+                    }
+                }
+            }
+        }
+        model.addAttribute("yearResp",resps);
+        map.put("yearResp",resps);
     }
 
     @Override
-    public void getDataStatisticsOrderCount(Integer agentId, String monthDate, Model model) {
+    public void getDataStatisticsOrderCount(Integer agentId, String monthDate, Model model,Map<String, Object> map) {
         List<PerformanceTableResp> list = tOrderMapper.getDataStatisticsOrderCount(agentId,monthDate);
         model.addAttribute("performanceResp",list);
+        map.put("performanceResp",list);
     }
 
     @Override
-    public void getDataStatisticsCount(Integer agentId, Map<String, Integer> map) {
+    public void getDataStatisticsCount(Integer agentId, Model model) {
+        Integer pendingOrderCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.PENDING_ORDER.getCode(), LocalDate.now());
+        Integer finishCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.FINISH.getCode(),LocalDate.now());
+        Integer cancelCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.CANCELED.getCode(),LocalDate.now());
+
+        Integer serverCount = tOrderMapper.getDataStatisticsServerCount(agentId, LocalDate.now());
+
+        model.addAttribute("pendingOrderCount",pendingOrderCount);
+        model.addAttribute("finishCount",finishCount);
+        model.addAttribute("cancelCount",cancelCount);
+        model.addAttribute("serverCount",serverCount);
+    }
+
+    @Override
+    public List<TOrderServerResp> getDataStatisticsServerList(Integer agentId) {
+        return tOrderMapper.getDataStatisticsServerList(agentId,LocalDate.now());
+    }
+
+    @Override
+    public List<TOrder> getDataStatisticsAllList(Integer agentId,Integer type) {
+        return tOrderMapper.getDataStatisticsAllList(agentId,type,LocalDate.now());
+    }
+
+    @Override
+    public void getDataStatisticsCountByIds(List<Integer> ids, Model model) {
+        Integer pendingOrderCount = tOrderMapper.getDataStatisticsCountByIds(ids, 1, LocalDate.now());
+        Integer finishCount = tOrderMapper.getDataStatisticsCountByIds(ids, 2,LocalDate.now());
+        Integer cancelCount = tOrderMapper.getDataStatisticsCountByIds(ids, 3,LocalDate.now());
+        Integer serverCount = tOrderMapper.getDataStatisticsServerCountByIds(ids, LocalDate.now());
+
+        model.addAttribute("pendingOrderCount",pendingOrderCount);
+        model.addAttribute("finishCount",finishCount);
+        model.addAttribute("cancelCount",cancelCount);
+        model.addAttribute("serverCount",serverCount);
+    }
+
+    @Override
+    public List<TOrderServerResp> getDataStatisticsServerListByIds(List<Integer> ids) {
+        return tOrderMapper.getDataStatisticsServerListByIds(ids,LocalDate.now());
+    }
+
+    @Override
+    public List<TOrder> getDataStatisticsAllListByIds(List<Integer> ids,Integer type) {
+        return tOrderMapper.getDataStatisticsAllListByIds(ids,type,LocalDate.now());
+    }
+
+    @Override
+    public void getDataStatisticsCountGetMap(Integer agentId, HashMap<String, Object> map) {
         Integer pendingOrderCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.PENDING_ORDER.getCode(), LocalDate.now());
         Integer finishCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.FINISH.getCode(),LocalDate.now());
         Integer cancelCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.CANCELED.getCode(),LocalDate.now());
@@ -172,12 +239,116 @@
     }
 
     @Override
-    public List<TOrderServerResp> getDataStatisticsServerList(Integer agentId) {
-        return tOrderMapper.getDataStatisticsServerList(agentId,LocalDate.now());
+    public void getDataStatisticsCountByIdsGetMap(List<Integer> ids, HashMap<String, Object> map) {
+        Integer pendingOrderCount = tOrderMapper.getDataStatisticsCountByIds(ids, 1, LocalDate.now());
+        Integer finishCount = tOrderMapper.getDataStatisticsCountByIds(ids, 2,LocalDate.now());
+        Integer cancelCount = tOrderMapper.getDataStatisticsCountByIds(ids, 3,LocalDate.now());
+        Integer serverCount = tOrderMapper.getDataStatisticsServerCountByIds(ids, LocalDate.now());
+
+        map.put("pendingOrderCount",pendingOrderCount);
+        map.put("finishCount",finishCount);
+        map.put("cancelCount",cancelCount);
+        map.put("serverCount",serverCount);
     }
 
     @Override
-    public List<TOrder> getDataStatisticsAllList(Integer agentId) {
-        return tOrderMapper.getDataStatisticsAllList(agentId,LocalDate.now());
+    public void getDataStatisticsByYearByIds(List<Integer> ids, String yearDate, Model model, Map<String, Object> map) {
+
+        List<DataStatisticsOrderYearResp> data = tOrderMapper.getDataStatisticsByYearByIds(ids,yearDate);
+        List<DataStatisticsOrderYearResp> resps =new ArrayList<>();
+        for (int i = 1; i < 13; i++) {
+            DataStatisticsOrderYearResp dataStatisticsOrderYearResp = new DataStatisticsOrderYearResp();
+            if(i < 10){
+                dataStatisticsOrderYearResp.setMonth("0" + i);
+            }else {
+                dataStatisticsOrderYearResp.setMonth(String.valueOf(i));
+            }
+            dataStatisticsOrderYearResp.setOrderCount(0);
+            resps.add(dataStatisticsOrderYearResp);
+        }
+        if(!CollectionUtils.isEmpty(data)){
+            for (DataStatisticsOrderYearResp datum : data) {
+                for (DataStatisticsOrderYearResp resp : resps) {
+                    if(resp.getMonth().equals(datum.getMonth())){
+                        resp.setOrderCount(datum.getOrderCount());
+                        break;
+                    }
+                }
+            }
+        }
+        model.addAttribute("yearResp",resps);
+        map.put("yearResp",resps);
+    }
+
+    @Override
+    public void getDataStatisticsOrderCountByIds(List<Integer> ids, String monthDate, Model model, Map<String, Object> map) {
+        List<PerformanceTableResp> list = tOrderMapper.getDataStatisticsOrderCountByIds(ids,monthDate);
+        model.addAttribute("performanceResp",list);
+        map.put("performanceResp",list);
+    }
+
+    @Override
+    public void getStatisticsOrderByMonth(Integer agentId, String dayDate, Model model, Map<String, Object> map) {
+        List<DataStatisticsOrderYearResp> data = tOrderMapper.getStatisticsOrderByMonth(agentId,dayDate);
+        List<DataStatisticsOrderYearResp> resps =new ArrayList<>();
+        int month = DateUtil.getDaysOfMonth(new Date());
+        for (int i = 1; i <= month; i++) {
+            DataStatisticsOrderYearResp dataStatisticsOrderYearResp = new DataStatisticsOrderYearResp();
+            if(i < 10){
+                dataStatisticsOrderYearResp.setMonth("0" + i);
+            }else {
+                dataStatisticsOrderYearResp.setMonth(String.valueOf(i));
+            }
+            dataStatisticsOrderYearResp.setOrderCount(0);
+            resps.add(dataStatisticsOrderYearResp);
+        }
+        if(!CollectionUtils.isEmpty(data)){
+            for (DataStatisticsOrderYearResp datum : data) {
+                for (DataStatisticsOrderYearResp resp : resps) {
+                    if(resp.getMonth().equals(datum.getMonth())){
+                        resp.setOrderCount(datum.getOrderCount());
+                        break;
+                    }
+                }
+            }
+        }
+        model.addAttribute("monthResp",resps);
+        map.put("monthResp",resps);
+    }
+
+    @Override
+    public void getStatisticsOrderByMonthIds(List<Integer> ids, String dayDate, Model model, Map<String, Object> map) {
+        List<DataStatisticsOrderYearResp> data = tOrderMapper.getStatisticsOrderByMonthIds(ids,dayDate);
+        List<DataStatisticsOrderYearResp> resps =new ArrayList<>();
+        int month = DateUtil.getDaysOfMonth(new Date());
+        for (int i = 1; i <= month; i++) {
+            DataStatisticsOrderYearResp dataStatisticsOrderYearResp = new DataStatisticsOrderYearResp();
+            if(i < 10){
+                dataStatisticsOrderYearResp.setMonth("0" + i);
+            }else {
+                dataStatisticsOrderYearResp.setMonth(String.valueOf(i));
+            }
+            dataStatisticsOrderYearResp.setOrderCount(0);
+            resps.add(dataStatisticsOrderYearResp);
+        }
+        if(!CollectionUtils.isEmpty(data)){
+            for (DataStatisticsOrderYearResp datum : data) {
+                for (DataStatisticsOrderYearResp resp : resps) {
+                    if(resp.getMonth().equals(datum.getMonth())){
+                        resp.setOrderCount(datum.getOrderCount());
+                        break;
+                    }
+                }
+            }
+        }
+        model.addAttribute("monthResp",resps);
+        map.put("monthResp",resps);
+    }
+
+
+    @Override
+    public Integer getValidOrderCount(Integer driverId, BigDecimal orderMoney, String month) {
+        // 查询司机当月有效订单数量
+        return tOrderMapper.getValidOrderCount(driverId,orderMoney,month);
     }
 }

--
Gitblit v1.7.1