From 8522e469e00e1cf6c0410165b0f76c806c13ca83 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期六, 16 八月 2025 09:17:04 +0800
Subject: [PATCH] 合并代码

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java |  155 ++++++++++++++++++++++-----------------------------
 1 files changed, 68 insertions(+), 87 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
index 736466e..7082469 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -44,7 +44,7 @@
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
-import java.time.LocalDateTime;
+import java.time.LocalDate;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 
@@ -97,6 +97,8 @@
     
     @Autowired
     private ICompanyCityService companyCityService;
+    @Autowired
+    private IOpenCityService openCityService;
     
     @Autowired
     private GDFalconUtil gdFalconUtil;
@@ -129,9 +131,6 @@
     private CarServiceMapper carServiceMapper;
 
     @Autowired
-    private PushUtil pushUtil;
-
-    @Autowired
     private IOrderLogisticsService orderLogisticsService;
 
     @Value("${pushMinistryOfTransport}")
@@ -139,15 +138,13 @@
 
     private String salt = "SA;d5#";
 
-
-
-    @Autowired
+    @Resource
     private OrderPrivateCarMapper orderPrivateCarMapper;
 
-    @Autowired
+    @Resource
     private OrderCrossCityMapper orderCrossCityMapper;
 
-    @Autowired
+    @Resource
     private OrderTaxiMapper orderTaxiMapper;
 
     @Autowired
@@ -159,7 +156,7 @@
         List<Driver> drivers = driverMapper.queryIdleDriver(type, companyId);
         List<Driver> list = new ArrayList<>();
         for(Driver driver : drivers){
-            String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(driver.getId()));
+            String value = (String) redisTemplate.opsForValue().get("dache_DRIVER" + String.valueOf(driver.getId()));
             if(null != value){
                 Map<String, Double> distance1 = geodesyUtil.getDistance(lon + "," + lat, value);
                 double d = Double.valueOf(distance1.get("WGS84")).doubleValue();
@@ -176,7 +173,7 @@
         List<Driver> drivers = driverMapper.queryIdleDriver_(type, serverCarModelId, companyId);
         List<Driver> list = new ArrayList<>();
         for(Driver driver : drivers){
-            String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(driver.getId()));
+            String value = (String) redisTemplate.opsForValue().get("dache_DRIVER" + String.valueOf(driver.getId()));
             if(null != value){
                 Map<String, Double> distance1 = geodesyUtil.getDistance(lon + "," + lat, value);
                 double d = Double.valueOf(distance1.get("WGS84")).doubleValue();
@@ -404,15 +401,19 @@
         driver.setSex(registeredWarpper.getSex());
         driver.setIdCard(registeredWarpper.getIdCard());
 
+
         driver.setArea(registeredWarpper.getArea());
-        driver.setAreaCode(registeredWarpper.getAreaCode());
+        driver.setAreaCode(registeredWarpper.getPlaceOfEmployment());
         driver.setCity(registeredWarpper.getCity());
         driver.setCityCode(registeredWarpper.getCityCode());
         driver.setProvince(registeredWarpper.getProvince());
         driver.setProvinceCode(registeredWarpper.getProvinceCode());
         driver.setCompanyId(registeredWarpper.getCompanyId());
+        if(registeredWarpper.getCompanyId()==null){
+            return ResultUtil.error("请选择服务商");
+        }
 
-        String code = registeredWarpper.getAreaCode();
+        String code = registeredWarpper.getPlaceOfEmployment();
         Company query = companyCityService.query(code);
         if(null == query){
             return ResultUtil.error("选择从业地暂未开通业务");
@@ -510,14 +511,10 @@
      */
     @Override
     public Map<String, Object> queryPhone(String code) throws Exception {
-        Company query = companyCityService.query(code);
         Map<String, Object> map = new HashMap<>();
-        if(null == query){
-            map.put("phone", "");
-        }else{
-            Phone phone = phoneMapper.queryInfo(query.getId(), 2);
-            map.put("phone", null != phone ? phone.getPhone() : "");
-        }
+        OpenCity openCity = openCityService.openCity1(code);
+        Phone phone = phoneMapper.queryInfo(openCity.getId(), 2, 2);
+        map.put("phone", null != phone ? phone.getPhone() : "");
         return map;
     }
 
@@ -570,9 +567,9 @@
         loginWarpper.setRongYunToken(token1.getToken());
 
         //创建高德猎鹰的终端数据
-        String tid = gdFalconUtil.createTerminal(phone);
-        loginWarpper.setServerId(gdFalconUtil.getServerId());
-        loginWarpper.setTerminalId(tid);
+//        String tid = gdFalconUtil.createTerminal(phone);
+//        loginWarpper.setServerId(gdFalconUtil.getServerId());
+//        loginWarpper.setTerminalId(tid);
         return ResultUtil.success(loginWarpper);
     }
 
@@ -959,47 +956,31 @@
      * @throws Exception
      */
     @Override
-    public Map<String, Object> queryPhone(Integer uid) throws Exception {
+    public Map<String, Object> queryPhone(Integer uid, String code) throws Exception {
         Driver driver = this.selectById(uid);
-        Company company = companyMapper.selectById(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
-                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
+        OpenCity openCity = openCityService.openCity1(code);
+        Company company = companyMapper.selectById(driver.getCompanyId());
         Map<String, Object> map = new HashMap<>();
         if(company.getType() == 3){//加盟商
-            Phone phone = phoneMapper.queryInfo(company.getId(), 2);
+            map.put("branch", "");
+            Phone phone = phoneMapper.queryInfo(openCity.getId(), 2, 2);
             map.put("franchisee", null != phone ? phone.getPhone() : "");
-            company = companyMapper.selectById(company.getSuperiorId());
-            if(null != company){
-                phone = phoneMapper.queryInfo(company.getId(), 2);
-                map.put("branch", null != phone ? phone.getPhone() : "");
-            }else{
-                map.put("branch", "");
-            }
-            company = companyMapper.selectById(company.getSuperiorId());
-            if(null != company){
-                phone = phoneMapper.queryInfo(company.getId(), 2);
-                map.put("platform", null != phone ? phone.getPhone() : "");
-            }else{
-                map.put("platform", "");
-            }
+            phone = phoneMapper.queryInfo(openCity.getId(), 2, 1);
+            map.put("platform",null != phone ? phone.getPhone() : "");
             return map;
         }
         if(company.getType() == 2){//分公司
             map.put("franchisee", "");
-            Phone phone = phoneMapper.queryInfo(company.getId(), 2);
+            Phone phone = phoneMapper.queryInfo(openCity.getId(), 2, 2);
             map.put("branch", null != phone ? phone.getPhone() : "");
-            company = companyMapper.selectById(company.getSuperiorId());
-            if(null != company){
-                phone = phoneMapper.queryInfo(company.getId(), 2);
-                map.put("platform",null != phone ? phone.getPhone() : "");
-            }else{
-                map.put("platform", "");
-            }
+            phone = phoneMapper.queryInfo(openCity.getId(), 2, 1);
+            map.put("platform",null != phone ? phone.getPhone() : "");
             return map;
         }
         if(company.getType() == 1){//平台
             map.put("franchisee", "");
             map.put("branch", "");
-            Phone phone = phoneMapper.queryInfo(company.getId(), 2);
+            Phone phone = phoneMapper.queryInfo(company.getId(), 2, 1);
             map.put("platform", null != phone ? phone.getPhone() : "");
             return map;
         }
@@ -1349,7 +1330,7 @@
         String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId()));
         redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS);
         redisTemplate.opsForValue().set(driver.getPhone(), s.substring(s.length() - 32));
-        redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s);
+        redisTemplate.opsForValue().set("dache:DRIVER_" + driver.getId(), s);
     
     
         LoginWarpper loginWarpper = new LoginWarpper();
@@ -1358,9 +1339,9 @@
         loginWarpper.setAppid(UUIDUtil.getRandomCode());
     
         //创建高德猎鹰的终端数据
-        String tid = gdFalconUtil.createTerminal(driver.getPhone());
-        loginWarpper.setServerId(gdFalconUtil.getServerId());
-        loginWarpper.setTerminalId(tid);
+//        String tid = gdFalconUtil.createTerminal(driver.getPhone());
+//        loginWarpper.setServerId(gdFalconUtil.getServerId());
+//        loginWarpper.setTerminalId(tid);
         return ResultUtil.success(loginWarpper);
     }
 
@@ -1445,7 +1426,7 @@
         String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId()));
         redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS);
         redisTemplate.opsForValue().set(driver.getPhone(), s.substring(s.length() - 32));
-        redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s);
+        redisTemplate.opsForValue().set("dache:DRIVER_" + driver.getId(), s);
     
     
         LoginWarpper loginWarpper = new LoginWarpper();
@@ -1454,9 +1435,9 @@
         loginWarpper.setAppid(UUIDUtil.getRandomCode());
     
         //创建高德猎鹰的终端数据
-        String tid = gdFalconUtil.createTerminal(driver.getPhone());
-        loginWarpper.setServerId(gdFalconUtil.getServerId());
-        loginWarpper.setTerminalId(tid);
+//        String tid = gdFalconUtil.createTerminal(driver.getPhone());
+//        loginWarpper.setServerId(gdFalconUtil.getServerId());
+//        loginWarpper.setTerminalId(tid);
         return ResultUtil.success(loginWarpper);
     }
 
@@ -1531,7 +1512,7 @@
         String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId()));
         redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS);
         redisTemplate.opsForValue().set(driver.getPhone(), s.substring(s.length() - 32));
-        redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s);
+        redisTemplate.opsForValue().set("dache:DRIVER_" + driver.getId(), s);
     
     
         LoginWarpper loginWarpper = new LoginWarpper();
@@ -1540,9 +1521,9 @@
         loginWarpper.setAppid(UUIDUtil.getRandomCode());
     
         //创建高德猎鹰的终端数据
-        String tid = gdFalconUtil.createTerminal(driver.getPhone());
-        loginWarpper.setServerId(gdFalconUtil.getServerId());
-        loginWarpper.setTerminalId(tid);
+//        String tid = gdFalconUtil.createTerminal(driver.getPhone());
+//        loginWarpper.setServerId(gdFalconUtil.getServerId());
+//        loginWarpper.setTerminalId(tid);
         return ResultUtil.success(loginWarpper);
     }
 
@@ -1639,9 +1620,9 @@
         Driver driver = driverMapper.selectById(id);
         String key = (String) redisTemplate.opsForValue().get(driver.getPhone());
         redisTemplate.delete(key);//删除个人信息数据
-        redisTemplate.delete("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
-        redisTemplate.delete("DRIVER_" + id);//清除存储的token
-        redisTemplate.delete("DEVICE_" + id);//清除车载端登录的标识
+        redisTemplate.delete("dache:DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
+        redisTemplate.delete("dache:DRIVER_" + id);//清除存储的token
+        redisTemplate.delete("dache:DEVICE_" + id);//清除车载端登录的标识
         return ResultUtil.success();
     }
 
@@ -1649,23 +1630,23 @@
     public DriverIndexVo queryHomeDataFromDriver(Integer uid) {
         DriverIndexVo driverIndexVo = new DriverIndexVo();
         // 获取快车订单
-        List<OrderPrivateCar> orderPrivateCars = orderPrivateCarMapper.selectList(new EntityWrapper<OrderPrivateCar>().ne("state", 10).eq("driverId", uid).like("insertTime", LocalDateTime.now().toString()));
+        List<OrderPrivateCar> orderPrivateCars = orderPrivateCarMapper.selectList(new EntityWrapper<OrderPrivateCar>().in("state", Arrays.asList(7, 8, 9)).eq("driverId", uid).like("insertTime", LocalDate.now().toString()));
         // 跨城订单
-        List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.selectList(new EntityWrapper<OrderCrossCity>().ne("state", 10).eq("driverId", uid).like("insertTime", LocalDateTime.now().toString()));
+        List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.selectList(new EntityWrapper<OrderCrossCity>().in("state", Arrays.asList(7, 8, 9)).eq("driverId", uid).like("insertTime", LocalDate.now().toString()));
         // 出租车订单
-        List<OrderTaxi> orderTaxis = orderTaxiMapper.selectList(new EntityWrapper<OrderTaxi>().ne("state", 10).eq("driverId", uid).like("insertTime", LocalDateTime.now().toString()));
+        List<OrderTaxi> orderTaxis = orderTaxiMapper.selectList(new EntityWrapper<OrderTaxi>().in("state", Arrays.asList(7, 8, 9)).eq("driverId", uid).like("insertTime", LocalDate.now().toString()));
         driverIndexVo.setTodayOrderNum(orderPrivateCars.size() + orderCrossCities.size() + orderTaxis.size());
 
 
         double sum = orderPrivateCars.stream().mapToDouble(OrderPrivateCar::getOrderMoney).sum();
         double sum1 = orderCrossCities.stream().mapToDouble(OrderCrossCity::getOrderMoney).sum();
-        double sum2 = orderTaxis.stream().mapToDouble(OrderTaxi::getOrderMoney).sum();
+        double sum2 = orderTaxis.stream().filter(e->e.getOrderMoney()!=null).mapToDouble(OrderTaxi::getOrderMoney).sum();
         driverIndexVo.setTodayOrderMoney(new BigDecimal(sum +sum1+sum2));
 
 
-        BigDecimal reduce = orderPrivateCarMapper.selectList(new EntityWrapper<OrderPrivateCar>().eq("promotionDriverId", uid).like("insertTime", LocalDateTime.now().toString())).stream().map(OrderPrivateCar::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
-        BigDecimal reduce1 = orderCrossCityMapper.selectList(new EntityWrapper<OrderCrossCity>().eq("promotionDriverId", uid).like("insertTime", LocalDateTime.now().toString())).stream().map(OrderCrossCity::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
-        BigDecimal reduce2 = orderTaxiMapper.selectList(new EntityWrapper<OrderTaxi>().eq("promotionDriverId", uid).like("insertTime", LocalDateTime.now().toString())).stream().map(OrderTaxi::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal reduce = orderPrivateCarMapper.selectList(new EntityWrapper<OrderPrivateCar>().eq("promotionDriverId", uid).like("insertTime", LocalDate.now().toString())).stream().map(OrderPrivateCar::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal reduce1 = orderCrossCityMapper.selectList(new EntityWrapper<OrderCrossCity>().eq("promotionDriverId", uid).like("insertTime", LocalDate.now().toString())).stream().map(OrderCrossCity::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal reduce2 = orderTaxiMapper.selectList(new EntityWrapper<OrderTaxi>().eq("promotionDriverId", uid).like("insertTime", LocalDate.now().toString())).stream().map(OrderTaxi::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
         driverIndexVo.setTodayPromotionMoney(reduce.add(reduce1).add(reduce2));
         return driverIndexVo;
     };
@@ -1684,9 +1665,9 @@
         List<OrderTaxi> orderTaxis = orderTaxiMapper.selectList(new EntityWrapper<OrderTaxi>().ne("state", 10).eq("driverId", uid));
         DriverOrderDataVo driverOrderDataVo = new DriverOrderDataVo();
         driverOrderDataVo.setAllOrderNum(orderPrivateCars.size() + orderCrossCities.size() + orderTaxis.size());
-        long count = orderPrivateCars.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDateTime.now().toString())).count();
-        long count1 = orderCrossCities.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDateTime.now().toString())).count();
-        long count2 = orderTaxis.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDateTime.now().toString())).count();
+        long count = orderPrivateCars.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDate.now().toString())).count();
+        long count1 = orderCrossCities.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDate.now().toString())).count();
+        long count2 = orderTaxis.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDate.now().toString())).count();
         driverOrderDataVo.setTodayOrderNum((int) (count+count1+count2));
 
         Date date = new Date();
@@ -1730,9 +1711,9 @@
 
 
 
-        double count = orderPrivateCars.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDateTime.now().toString())).mapToDouble(OrderPrivateCar::getOrderMoney).sum();
-        double count1 = orderCrossCities.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDateTime.now().toString())).mapToDouble(OrderCrossCity::getOrderMoney).sum();
-        double count2 = orderTaxis.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDateTime.now().toString())).mapToDouble(OrderTaxi::getOrderMoney).sum();
+        double count = orderPrivateCars.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDate.now().toString())).mapToDouble(OrderPrivateCar::getOrderMoney).sum();
+        double count1 = orderCrossCities.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDate.now().toString())).mapToDouble(OrderCrossCity::getOrderMoney).sum();
+        double count2 = orderTaxis.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDate.now().toString())).mapToDouble(OrderTaxi::getOrderMoney).sum();
         driverOrderDataVo.setTodayOrderMoney(new BigDecimal(count+count1+count2));
 
 
@@ -1777,9 +1758,9 @@
 
 
 
-        BigDecimal count = orderPrivateCars.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDateTime.now().toString())).map(OrderPrivateCar::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
-        BigDecimal count1 = orderCrossCities.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDateTime.now().toString())).map(OrderCrossCity::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
-        BigDecimal count2 = orderTaxis.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDateTime.now().toString())).map(OrderTaxi::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal count = orderPrivateCars.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDate.now().toString())).map(OrderPrivateCar::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal count1 = orderCrossCities.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDate.now().toString())).map(OrderCrossCity::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal count2 = orderTaxis.stream().filter(e -> simpleDateFormat.format(e.getInsertTime()).equals(LocalDate.now().toString())).map(OrderTaxi::getPromotionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
         driverOrderDataVo.setTodayOrderMoney(count.add(count1).add(count2));
 
 
@@ -1814,16 +1795,16 @@
      */
     private void singlePointLogin(Integer id) {
         //开始验证当前账号是否在别处登录
-        String value = (String) redisTemplate.opsForValue().get("DRIVER_" + id);
+        String value = (String) redisTemplate.opsForValue().get("dache:DRIVER_" + id);
         if (ToolUtil.isNotEmpty(value)) {//将另外设备上的强迫下线(如果是车载端不需要下线)
             //开始清除redis中无效的数据
             Driver driver = driverMapper.selectById(id);
-            String key = (String) redisTemplate.opsForValue().get("DRIVER_" + driver.getPhone());
+            String key = (String) redisTemplate.opsForValue().get("dache:DRIVER_" + driver.getPhone());
             if(ToolUtil.isNotEmpty(key)){
                 redisTemplate.delete(key);//删除个人信息数据
             }
-            redisTemplate.delete("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
-            redisTemplate.delete("DRIVER_" + id);//清除存储的token
+            redisTemplate.delete("dache:DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
+            redisTemplate.delete("dache:DRIVER_" + id);//清除存储的token
         }
     }
     
@@ -1850,8 +1831,8 @@
                 usernamePasswordToken, simpleAuthenticationInfo);
         String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId()));
         redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS);
-        redisTemplate.opsForValue().set("DRIVER_" + driver.getPhone(), s.substring(s.length() - 32));
-        redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s);
+        redisTemplate.opsForValue().set("dache:DRIVER_" + driver.getPhone(), s.substring(s.length() - 32));
+        redisTemplate.opsForValue().set("dache:DRIVER_" + driver.getId(), s);
         return s;
     }
     

--
Gitblit v1.7.1