puzhibing
2023-11-04 4becc1e8cdb2fbe0dcb94493b75a59ec1817028c
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -191,6 +191,12 @@
    @Autowired
    private ISettlementAllocationService settlementAllocationService;
    @Autowired
    private TEmailService emailService;
    @Autowired
    private IPhoneService phoneService;
    /**
@@ -748,6 +754,7 @@
                        PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0);
                        //获取空闲司机
                        List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机
                        System.err.println("【" + orderPrivateCar.getId() + "】空闲司机:" + JSON.toJSONString(list));
                        if(list.size() > 0){
                            double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数
                            int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取)
@@ -1064,6 +1071,9 @@
                                end_time_chinese.text(sdf2.format(orderPrivateCar.getEndServiceTime()));
                                Element end_address_chinese = document.getElementById("end_address_chinese");
                                end_address_chinese.text(orderPrivateCar.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_chinese = document.getElementById("server_tel_chinese");
                                server_tel_chinese.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            if(2 == language){
                                document.getElementById("chinese").remove();
@@ -1105,6 +1115,9 @@
                                end_time_english.text(sdf2.format(orderPrivateCar.getEndServiceTime()));
                                Element end_address_english = document.getElementById("end_address_english");
                                end_address_english.text(orderPrivateCar.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_english = document.getElementById("server_tel_english");
                                server_tel_english.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            if(3 == language){
                                document.getElementById("chinese").remove();
@@ -1146,6 +1159,9 @@
                                end_time_french.text(sdf2.format(orderPrivateCar.getEndServiceTime()));
                                Element end_address_french = document.getElementById("end_address_french");
                                end_address_french.text(orderPrivateCar.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_french = document.getElementById("server_tel_french");
                                server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de Ride",  document.html());
@@ -1173,6 +1189,28 @@
                            }
                            FileOutputStream fileOutputStream = new FileOutputStream(file1);
                            HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
                            String link ="http://182.160.16.251:81/files/html/ride_receipt_" + orderId + ".html";
                            TEmail tEmail = new TEmail();
                            tEmail.setLink(link);
                            tEmail.setUserId(uid);
                            tEmail.setName(language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de Ride");
                            tEmail.setType(1);
                            tEmail.setOrderId(orderId);
                            tEmail.setCreateTime(new Date());
                            int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                            tEmail.setWeek(EmailUtil.getWeek(language,i));
                            boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                            if(am){
                                tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                            }else {
                                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                            }
                            emailService.insert(tEmail);
                        }catch (Exception e){
                            e.printStackTrace();
                        }
@@ -1342,6 +1380,9 @@
                                end_time_chinese.text(sdf2.format(orderPrivateCar.getEndServiceTime()));
                                Element end_address_chinese = document.getElementById("end_address_chinese");
                                end_address_chinese.text(orderPrivateCar.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_chinese = document.getElementById("server_tel_chinese");
                                server_tel_chinese.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            if(2 == language){
                                document.getElementById("chinese").remove();
@@ -1383,6 +1424,9 @@
                                end_time_english.text(sdf2.format(orderPrivateCar.getEndServiceTime()));
                                Element end_address_english = document.getElementById("end_address_english");
                                end_address_english.text(orderPrivateCar.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_english = document.getElementById("server_tel_english");
                                server_tel_english.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            if(3 == language){
                                document.getElementById("chinese").remove();
@@ -1424,6 +1468,9 @@
                                end_time_french.text(sdf2.format(orderPrivateCar.getEndServiceTime()));
                                Element end_address_french = document.getElementById("end_address_french");
                                end_address_french.text(orderPrivateCar.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_french = document.getElementById("server_tel_french");
                                server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de Ride",  document.html());
@@ -1452,6 +1499,25 @@
                            }
                            FileOutputStream fileOutputStream = new FileOutputStream(file1);
                            HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
                            String link ="http://182.160.16.251:81/files/html/ride_receipt_" + orderId + ".html";
                            TEmail tEmail = new TEmail();
                            tEmail.setLink(link);
                            tEmail.setUserId(uid);
                            tEmail.setName(language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de Ride");
                            tEmail.setType(1);
                            tEmail.setOrderId(orderId);
                            tEmail.setCreateTime(new Date());
                            int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                            tEmail.setWeek(EmailUtil.getWeek(language,i));
                            boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                            if(am){
                                tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                            }else {
                                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                            }
                            emailService.insert(tEmail);
                        }catch (Exception e){
                            e.printStackTrace();
                        }
@@ -1479,6 +1545,7 @@
        this.updateAllColumnById(orderPrivateCar);
        return resultUtil;
    }
    @Override
    public synchronized ResultUtil<BaseWarpper> queryRedMoney(Integer orderId) throws Exception {
@@ -1586,6 +1653,49 @@
                }
                EmailUtil.send(userInfo.getEmail(), language == 1 ? "红包活动" : language == 2 ? "Red envelope activity" : "Activité de l’enveloppe rouge",  document.html());
                //开始生成pdf收据和html收据
                File file = new File("/usr/local/nginx/html/files/html/");
                if(!file.exists()){
                    file.mkdirs();
                }
                file = new File("/usr/local/nginx/html/files/html/redpacket_" + orderId + ".html");
                if(!file.exists()){
                    file.createNewFile();
                }
                FileWriter fileWriter = new FileWriter(file);
                fileWriter.write(document.html());
                fileWriter.flush();
                fileWriter.close();
                FileInputStream fileInputStream = new FileInputStream(file);
                File file1 = new File("/usr/local/nginx/html/files/pdf/");
                if(!file1.exists()){
                    file1.mkdirs();
                }
                file1 = new File("/usr/local/nginx/html/files/pdf/redpacket_" + orderId + ".pdf");
                if(!file1.exists()){
                    file1.createNewFile();
                }
                FileOutputStream fileOutputStream = new FileOutputStream(file1);
                HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
                String link ="http://182.160.16.251:81/files/html/redpacket_" + orderId + ".html";
                TEmail tEmail = new TEmail();
                tEmail.setLink(link);
                tEmail.setUserId(userInfo.getId());
                tEmail.setType(1);
                tEmail.setName( language == 1 ? "红包活动" : language == 2 ? "Red envelope activity" : "Activité de l’enveloppe rouge");
                tEmail.setOrderId(orderId);
                tEmail.setCreateTime(new Date());
                int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                tEmail.setWeek(EmailUtil.getWeek(language,i));
                boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                if(am){
                    tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                }else {
                    tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                }
                emailService.insert(tEmail);
            }
        }
@@ -1774,6 +1884,9 @@
                                end_time_chinese.text(sdf2.format(orderPrivateCar.getEndServiceTime()));
                                Element end_address_chinese = document.getElementById("end_address_chinese");
                                end_address_chinese.text(orderPrivateCar.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_chinese = document.getElementById("server_tel_chinese");
                                server_tel_chinese.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            if(2 == language){
                                document.getElementById("chinese").remove();
@@ -1815,6 +1928,9 @@
                                end_time_english.text(sdf2.format(orderPrivateCar.getEndServiceTime()));
                                Element end_address_english = document.getElementById("end_address_english");
                                end_address_english.text(orderPrivateCar.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_english = document.getElementById("server_tel_english");
                                server_tel_english.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            if(3 == language){
                                document.getElementById("chinese").remove();
@@ -1856,6 +1972,9 @@
                                end_time_french.text(sdf2.format(orderPrivateCar.getEndServiceTime()));
                                Element end_address_french = document.getElementById("end_address_french");
                                end_address_french.text(orderPrivateCar.getEndAddress());
                                Phone phone = phoneService.selectOne(new EntityWrapper<Phone>().eq("type", 2).eq("companyId", driver.getCompanyId()));
                                Element server_tel_french = document.getElementById("server_tel_french");
                                server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                            }
                            EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de Ride",  document.html());
@@ -1884,6 +2003,26 @@
                            }
                            FileOutputStream fileOutputStream = new FileOutputStream(file1);
                            HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
                            String link ="http://182.160.16.251:81/files/html/ride_receipt_" + id + ".html";
                            TEmail tEmail = new TEmail();
                            tEmail.setLink(link);
                            tEmail.setName( language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de Ride");
                            tEmail.setUserId(userInfo.getId());
                            tEmail.setType(1);
                            tEmail.setOrderId(id);
                            tEmail.setCreateTime(new Date());
                            int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                            tEmail.setWeek(EmailUtil.getWeek(language,i));
                            boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                            if(am){
                                tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                            }else {
                                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                            }
                            emailService.insert(tEmail);
                        }catch (Exception e){
                            e.printStackTrace();
                        }