From ecf282fb285fbba74ff129a4be8a129aa0d8ceb1 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 22 三月 2023 22:35:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java
index cf65d45..bc2b295 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.base.tips.SuccessTip;
+import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.DateUtil;
 import com.stylefeng.guns.modular.system.controller.resp.TDriverCommissionResp;
 import com.stylefeng.guns.modular.system.controller.resp.TDriverResp;
@@ -10,6 +11,7 @@
 import com.stylefeng.guns.modular.system.controller.util.UUIDUtil;
 import com.stylefeng.guns.modular.system.dao.*;
 import com.stylefeng.guns.modular.system.enums.OrderStateEnum;
+import com.stylefeng.guns.modular.system.enums.StatusEnum;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.ITDriverService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
@@ -84,6 +86,15 @@
             wrapper.between("createTime",startTime,endTime);
         }
         wrapper.orderBy(true,"approvalStatus");
+        // 判断是否为代理商或者分公司
+        if(Objects.requireNonNull(ShiroKit.getUser()).getRoleType() == 2){
+            // 分公司
+            wrapper.eq("branchOfficeId",ShiroKit.getUser().getObjectId());
+        }
+        if(Objects.requireNonNull(ShiroKit.getUser()).getRoleType() == 3){
+            // 代理商
+            wrapper.eq("agentId",ShiroKit.getUser().getObjectId());
+        }
         return wrapper;
     }
 
@@ -99,8 +110,10 @@
             TDriverResp tDriverResp = new TDriverResp();
             BeanUtils.copyProperties(tDriver,tDriverResp);
 
-            // 设置余额
-            tDriverResp.setBalance(tDriver.getBackgroundBalance().add(tDriver.getBalance()));
+            if(Objects.nonNull(tDriver.getBackgroundBalance()) && Objects.nonNull(tDriver.getBalance())){
+                // 设置余额
+                tDriverResp.setBalance(tDriver.getBackgroundBalance().add(tDriver.getBalance()));
+            }
 
             // 所属代理商
             TAgent tAgent = tAgentMapper.selectById(tDriver.getAgentId());
@@ -113,11 +126,11 @@
                 tDriverResp.setBranchName(tBranchOffice.getPrincipal());
             }
             //累计订单量
-            List<TOrder> cumulativeOrderCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId())
+            List<TOrder> cumulativeOrderCount = tOrders.stream().filter(order -> tDriver.getId().equals(order.getDriverId())
                     && order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()) && order.getState().equals(OrderStateEnum.FINISH.getCode())).collect(Collectors.toList());
             tDriverResp.setCumulativeOrderCount(cumulativeOrderCount.size());
             //当月订单量
-            List<TOrder> monthOrderCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId())
+            List<TOrder> monthOrderCount = tOrders.stream().filter(order -> tDriver.getId().equals(order.getDriverId())
                     && order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()) && order.getState().equals(OrderStateEnum.FINISH.getCode())
             && new SimpleDateFormat("yyyyMM").format(order.getCreateTime()).equals(monthDate)).collect(Collectors.toList());
             tDriverResp.setMonthOrderCount(monthOrderCount.size());
@@ -279,7 +292,7 @@
         // 通过省市查询代理商
         List<TAgent> tAgent = tAgentMapper.selectList(new EntityWrapper<TAgent>().eq("provinceCode", province.getCode())
                 .eq("cityCode", city.getCode())
-                .eq("status", 1)
+                .eq("status", StatusEnum.NORMAL.getCode())
                 .last("LIMIT 1"));
         if(!CollectionUtils.isEmpty(tAgent)){
             tDriver.setAgentId(tAgent.get(0).getId());
@@ -300,7 +313,7 @@
         // 通过省市区查询分公司
         List<TBranchOffice> tBranchOffice = tBranchOfficeMapper.selectList(new EntityWrapper<TBranchOffice>().eq("provinceCode", province.getCode())
                 .eq("cityCode", city.getCode())
-                .eq("status", 1)
+                .eq("status", StatusEnum.NORMAL.getCode())
                 .eq("districtCode", area.getCode())
                 .last("LIMIT 1"));
         if(!CollectionUtils.isEmpty(tBranchOffice)){
@@ -331,6 +344,15 @@
             wrapper.like("name",name);
         }
         wrapper.orderBy(true,"approvalStatus");
+        // 判断是否为代理商或者分公司
+        if(Objects.requireNonNull(ShiroKit.getUser()).getRoleType() == 2){
+            // 分公司
+            wrapper.eq("branchOfficeId",ShiroKit.getUser().getObjectId());
+        }
+        if(Objects.requireNonNull(ShiroKit.getUser()).getRoleType() == 3){
+            // 代理商
+            wrapper.eq("agentId",ShiroKit.getUser().getObjectId());
+        }
         return wrapper;
     }
 

--
Gitblit v1.7.1