From e28d33c09405e246a2d75fcb1f69a9e8e9d911b8 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 29 九月 2022 09:07:31 +0800
Subject: [PATCH] 更新最新代码

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java |   82 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 72 insertions(+), 10 deletions(-)

diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
index 150c623..0ac6f4f 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -9,11 +9,17 @@
 import com.stylefeng.guns.core.shiro.ShiroUser;
 import com.stylefeng.guns.core.util.JwtTokenUtil;
 import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
 import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
+import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
+import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
 import com.stylefeng.guns.modular.system.dao.*;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
+import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil;
+import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo;
 import com.stylefeng.guns.modular.system.warpper.*;
 import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
 import org.apache.shiro.authc.SimpleAuthenticationInfo;
@@ -120,6 +126,12 @@
     private PushUtil pushUtil;
 
     @Autowired
+    private ICityService cityService;
+
+    @Autowired
+    private IOrderPrivateCarService orderPrivateCarService;
+
+    @Autowired
     private IOrderLogisticsService orderLogisticsService;
 
     @Value("${pushMinistryOfTransport}")
@@ -181,6 +193,22 @@
         return ResultUtil.success();
     }
 
+
+    @Override
+    public ResultUtil queryEmailCaptcha(String email) throws Exception {
+        Random random = new Random();
+        StringBuffer sb = new StringBuffer();
+        for(int i = 0; i < 4; i++){
+            sb.append((int) (random.nextDouble() * 10));
+        }
+        String authCode = sb.toString();
+        String sms = "您发送的验证码为【" + authCode + "】,验证码将在5分钟后失效!";
+
+        //发送验证码短信
+        redisUtil.setStrValue(email, authCode, 5 * 60);//设置五分钟过期
+        EmailUtil.getMimeMessage(email, "验证码", sms);
+        return ResultUtil.success();
+    }
 
     /**
      * 校验短信验证码
@@ -339,9 +367,11 @@
         driver.setName(registeredWarpper.getName());
         driver.setSex(registeredWarpper.getSex());
         driver.setIdCard(registeredWarpper.getIdCard());
+        driver.setBirthday(registeredWarpper.getBirthday());
 
-        String code = registeredWarpper.getPlaceOfEmployment();
-        Company query = companyCityService.query(code);
+        City city1 = cityService.selectById(registeredWarpper.getPlaceOfPracticeId());
+        String[] city = new String[]{city1.getEnglishName()};
+        Company query = companyCityService.query(city);
         if(null == query){
             return ResultUtil.error("选择从业地暂未开通业务");
         }
@@ -362,21 +392,21 @@
         driver.setHeadImgUrl(registeredWarpper.getHeadImgUrl());
         driver.setIdCardImgUrl1(registeredWarpper.getIdCardImgUrl1());
         driver.setIdCardImgUrl2(registeredWarpper.getIdCardImgUrl2());
-        driver.setPlaceOfEmployment(registeredWarpper.getPlaceOfEmployment());
+        driver.setPlaceOfEmployment(city1.getEnglishName());
         driver.setDriverAddress(registeredWarpper.getDriverContactAddress());
         driver.setDriverContactAddress(registeredWarpper.getDriverContactAddress());
         driver.setDriverContactAddress_(registeredWarpper.getDriverContactAddress_());
-        driver.setPlaceOfPractice(registeredWarpper.getPlaceOfPractice());
+        driver.setPlaceOfPractice(city1.getEnglishName());
 
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(registeredWarpper.getGetDriverLicenseDate());
         Calendar now = Calendar.getInstance();
         now.setTime(new Date());
         driver.setDriverAge(now.get(Calendar.YEAR) - calendar.get(Calendar.YEAR));
-        driver.setDriveCardImgUrl(registeredWarpper.getDriveCardImgUrl());
         driver.setGetDriverLicenseDate(registeredWarpper.getGetDriverLicenseDate());
-        driver.setTaxiAptitudeCard(registeredWarpper.getTaxiAptitudeCard());
-        driver.setNetworkCarlssueImg(registeredWarpper.getNetworkCarlssueImg());
+        driver.setDriveCardImgUrl1(registeredWarpper.getDriveCardImgUrl1());
+        driver.setDriveCardImgUrl2(registeredWarpper.getDriveCardImgUrl2());
+        driver.setEmail(registeredWarpper.getEmail());
 
         this.updateById(driver);
         //服务模式
@@ -432,13 +462,22 @@
 
     /**
      * 根据定位的城市行政编号获取分公司的客服电话
-     * @param code
      * @return
      * @throws Exception
      */
     @Override
-    public Map<String, Object> queryPhone(String code) throws Exception {
-        Company query = companyCityService.query(code);
+    public Map<String, Object> queryPhone(Double lat, Double lnt) throws Exception {
+        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt);
+        if(null == reverseGeocode){
+            System.err.println("获取地址异常");
+            return null;
+        }
+        AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos();
+        String[] city = new String[addressComponentsVos.length];
+        for (int i = 0; i < addressComponentsVos.length; i++) {
+            city[i] = addressComponentsVos[i].getLongName();
+        }
+        Company query = companyCityService.query(city);
         Map<String, Object> map = new HashMap<>();
         if(null == query){
             map.put("phone", "");
@@ -513,6 +552,22 @@
         Map<String, Object> map = driverMapper.queryHomeData(uid);
         int size = this.queryMyActivity(uid, new Date()).size();
         map.put("activity", size);
+        //获取司机待支付的现金支付订单推送司机支付
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("driverId", uid).eq("payType", 4)
+                        .eq("driverPay", 1).eq("isDelete", 1));
+                for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
+                    pushUtil.pushOfflinePayment(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1);
+                }
+                List<OrderLogistics> orderLogistics = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().eq("driverId", uid).eq("payType", 4)
+                        .eq("isDelete", 1).eq("driverPay", 1));
+                for (OrderLogistics orderLogistic : orderLogistics) {
+                    pushUtil.pushOfflinePayment(2, orderLogistic.getDriverId(), orderLogistic.getId(), orderLogistic.getType());
+                }
+            }
+        }).start();
         return map;
     }
 
@@ -821,6 +876,13 @@
     }
 
 
+    @Override
+    public void editLanguage(Integer language, Integer uid) throws Exception {
+        Driver driver = this.selectById(uid);
+        driver.setLanguage(language);
+        this.updateById(driver);
+    }
+
     /**
      * 电话号码查询司机
      * @param phone

--
Gitblit v1.7.1