puzhibing
2022-09-14 ab7cc0cb35f3375b35f7f3d866704d1383ddcff5
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -14,6 +14,9 @@
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 +123,9 @@
    private PushUtil pushUtil;
    @Autowired
    private ICityService cityService;
    @Autowired
    private IOrderLogisticsService orderLogisticsService;
    @Value("${pushMinistryOfTransport}")
@@ -181,6 +187,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();
    }
    /**
     * 校验短信验证码
@@ -340,8 +362,9 @@
        driver.setSex(registeredWarpper.getSex());
        driver.setIdCard(registeredWarpper.getIdCard());
        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 +385,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 +455,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", "");
@@ -821,6 +853,13 @@
    }
    @Override
    public void editLanguage(Integer language, Integer uid) throws Exception {
        Driver driver = this.selectById(uid);
        driver.setLanguage(language);
        this.updateById(driver);
    }
    /**
     * 电话号码查询司机
     * @param phone