Pu Zhibing
2024-10-11 fa0a4b0ac2c4eaf2d289983ae117488ad80511cb
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -18,6 +18,7 @@
import com.stylefeng.guns.modular.system.util.GoogleMap.DistancematrixVo;
import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil;
import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil;
import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo;
import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils;
import com.stylefeng.guns.modular.system.util.quartz.QuartzUtil;
import com.stylefeng.guns.modular.system.util.quartz.jobs.OrderTimeOutJob;
@@ -192,9 +193,10 @@
            orderLogistics.setTripId(UUIDUtil.getRandomCode());
        }
        String value = redisUtil.getValue("DRIVER" + driver.getId());
        String tripId = redisUtil.getValue("trip" + orderLogistics.getUserId());
        if(ToolUtil.isNotEmpty(value)) {
            String[] split = value.split(",");
            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]));
            DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId);
            //超时时间
            long timeOut = System.currentTimeMillis() + (distancematrix.getDuration() * 1000);
            orderLogistics.setEstimateArriveTime(new Date(timeOut));
@@ -346,13 +348,18 @@
     * @param state
     * @param lon
     * @param lat
     * @param address
     * @return
     * @throws Exception
     */
    @Override
    public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address, String pickUpCode, Integer language, Integer uid) throws Exception {
    public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String pickUpCode, Integer language, Integer uid) throws Exception {
        OrderLogistics orderLogistics = this.selectById(orderId);
        String tripId = redisUtil.getValue("trip" + orderLogistics.getUserId());
        ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lon, tripId);
        if(null == reverseGeocode){
            return ResultUtil.error(language == 1 ? "无效的经纬度" : language == 2 ? "Invalid longitude and latitude" : "Longitude et latitude non valides");
        }
        String address = reverseGeocode.getAddress();
        if(!uid.equals(orderLogistics.getDriverId())){
            return ResultUtil.error(language == 1 ? "操作失败,请刷新订单" : language == 2 ? "Operation failed, please refresh the order" : "L’opération a échoué, veuillez actualiser la commande");
        }
@@ -656,11 +663,11 @@
            }
            EmailUtil.send(userInfo.getEmail(), language == 1 ? "取件码邮件" : language == 2 ? "Pickup code" : "Code de ramassage",  document.html());
            //开始生成pdf收据和html收据
            File file = new File("/usr/local/nginx/html/files/html/");
            File file = new File("/home/igotechgh/nginx/html/files/html/");
            if(!file.exists()){
                file.mkdirs();
            }
            file = new File("/usr/local/nginx/html/files/html/code_" + orderId + ".html");
            file = new File("/home/igotechgh/nginx/html/files/html/code_" + orderId + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
@@ -669,7 +676,7 @@
            fileWriter.flush();
            fileWriter.close();
            String link ="http://182.160.16.251:81/files/html/code_" + orderId + ".html";
            String link ="https://igo.i-go.group/files/html/code_" + orderId + ".html";
            TEmail tEmail = new TEmail();
            tEmail.setLink(link);
            tEmail.setUserId(userInfo.getId());
@@ -1093,8 +1100,7 @@
        new Thread(()->{
            try {
                fleetEngineUtil.reportBillableEvent(finalOrderLogistics.getTripId());
                log.warn("上报时间:{},tripid:{},created_at:{},completed_at:{}", System.currentTimeMillis(), finalOrderLogistics.getTripId(),
                        finalOrderLogistics.getInsertTime().getTime(), finalOrderLogistics.getEndServiceTime().getTime());
                log.warn("行程结束:{}   {}", System.currentTimeMillis(), finalOrderLogistics.getTripId());
            }catch (Exception e){
                e.printStackTrace();
            }