From 9ef2e272c6ef99d152c5d6afc95af70a3822c57d Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 09 九月 2023 18:12:28 +0800 Subject: [PATCH] 修改bug --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 534 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 498 insertions(+), 36 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 2fd68d8..3836f67 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 @@ -20,6 +20,7 @@ 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.util.itextpdf.HtmlToPdfUtils; import com.stylefeng.guns.modular.system.warpper.*; import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; import org.apache.shiro.authc.SimpleAuthenticationInfo; @@ -37,6 +38,9 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileWriter; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; @@ -143,6 +147,13 @@ private String salt = "SA;d5#"; + @Autowired + private SMSUtil smsUtil; + + + @Autowired + private TEmailService emailService; + @Override public Integer getAppOpenInfo(Integer type) { @@ -162,6 +173,21 @@ */ @Override public ResultUtil queryCaptcha(String phone, Integer type, Integer language) throws Exception { + if(type == 3){ + Driver driver1 = driverMapper.queryByPhone(phone); + if(null != driver1){ + if(driver1.getAuthState() == 1){ + return ResultUtil.error(language == 1 ? "该司机正在审核中" : language == 2 ? "The driver is currently under review" : "The driver is currently under review"); + } + if(driver1.getAuthState() == 2){ + return ResultUtil.error(language == 1 ? "该司机已存在" : language == 2 ? "The driver already exists" : "Les Driver already exists"); + } + if(driver1.getAuthState() == 3){ + return ResultUtil.error(language == 1 ? "该司机账号已被冻结" : language == 2 ? "The driver's account has been frozen" : "Le compte du conducteur a été froid"); + } + } + } + Random random = new Random(); StringBuffer sb = new StringBuffer(); for(int i = 0; i < 4; i++){ @@ -183,7 +209,7 @@ sms = "Votre code de vérification est: " + authCode + ". Ce code est valide pendant 5 minutes. Ne le divulguez pas aux autres!"; break; } - SMSUtil.sendTwilioMessage("+" + phone, sms); + smsUtil.sendCellulantMessage(phone, sms); System.out.println(sms); return ResultUtil.success(); } @@ -201,7 +227,7 @@ //发送验证码短信 redisUtil.setStrValue(email, authCode, 5 * 60);//设置五分钟过期 - String path = templatePath + "index.html"; + String path = templatePath + "driver/index.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(1 == language){ document.getElementById("english").remove(); @@ -307,7 +333,7 @@ driverMapper.updateById(driver); if(ToolUtil.isNotEmpty(driver.getEmail())){ - String path = templatePath + "index.html"; + String path = templatePath + "driver/index.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(1 == language){ document.getElementById("english").remove(); @@ -364,6 +390,49 @@ invite2_content.text("Vous avez invité avec succès un conducteur à s’inscrire à i-go pour recevoir une récompense GHS " + bigDecimal.doubleValue() + ". Veuillez vérifier"); } EmailUtil.send(driver.getEmail(), language == 1 ? "邀请奖励" : language == 2 ? "invitation bonus" : "prime d'invitation", document.html()); + String randomString = ToolUtil.getRandomString(10); + //开始生成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/invitation_" + randomString + ".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/invitation_" + randomString + ".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/invitation_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(driver.getId()); + tEmail.setType(2); + tEmail.setName(language == 1 ? "邀请奖励" : language == 2 ? "invitation bonus" : "prime d'invitation"); + tEmail.setCreateTime(new Date()); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + String week = EmailUtil.getWeek(language, i); + tEmail.setWeek(week); + 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); } } @@ -424,7 +493,6 @@ return ResultUtil.success(loginWarpper); } - driver1 = driverMapper.queryByPhone(phone); if(null != driver1){ LoginWarpper loginWarpper = new LoginWarpper(); @@ -479,7 +547,7 @@ Driver driver = this.selectById(uid); driver.setLastName(registeredWarpper.getLastName()); driver.setFirstName(registeredWarpper.getFirstName()); - driver.setSex(registeredWarpper.getSex()); +// driver.setSex(registeredWarpper.getSex()); driver.setIdCard(registeredWarpper.getIdCard()); driver.setBirthday(registeredWarpper.getBirthday()); @@ -513,13 +581,14 @@ driver.setPlaceOfPractice(language == 1 ? city1.getChineseName() : language == 2 ? city1.getEnglishName() : city1.getFrenchName()); Calendar calendar = Calendar.getInstance(); - calendar.setTime(registeredWarpper.getGetDriverLicenseDate()); +// calendar.setTime(registeredWarpper.getGetDriverLicenseDate()); Calendar now = Calendar.getInstance(); now.setTime(new Date()); driver.setDriverAge(now.get(Calendar.YEAR) - calendar.get(Calendar.YEAR)); - driver.setGetDriverLicenseDate(registeredWarpper.getGetDriverLicenseDate()); +// driver.setGetDriverLicenseDate(registeredWarpper.getGetDriverLicenseDate()); driver.setDriveCardImgUrl1(registeredWarpper.getDriveCardImgUrl()); driver.setDriveCardImgUrl2(registeredWarpper.getDriveCardImgUrl2()); + driver.setDriveCard(registeredWarpper.getDriveCard()); driver.setEmail(registeredWarpper.getEmail()); this.updateById(driver); @@ -545,7 +614,7 @@ } if(ToolUtil.isNotEmpty(driver.getEmail())){ - String path1 = templatePath + "index.html"; + String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if(1 == language){ document1.getElementById("english").remove(); @@ -596,6 +665,49 @@ settle2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ","); } EmailUtil.send(driver.getEmail(), language == 1 ? "注册成功" : language == 2 ? "registration success" : "succès de l'inscription", document1.html()); + String randomString = ToolUtil.getRandomString(10); + //开始生成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/registration_" + randomString + ".html"); + if(!file.exists()){ + file.createNewFile(); + } + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(document1.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/registration_" + randomString + ".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/registration_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(driver.getId()); + tEmail.setType(2); + tEmail.setName(language == 1 ? "注册成功" : language == 2 ? "registration success" : "succès de l'inscription"); + tEmail.setCreateTime(new Date()); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + String week = EmailUtil.getWeek(language, i); + tEmail.setWeek(week); + 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); } return ResultUtil.success(); @@ -624,7 +736,7 @@ driverMapper.updateById(driver); if(ToolUtil.isNotEmpty(driver.getEmail())){ - String path1 = templatePath + "index.html"; + String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if(1 == language){ document1.getElementById("english").remove(); @@ -675,6 +787,49 @@ pass2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ","); } EmailUtil.send(driver.getEmail(), language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe", document1.html()); + String randomString = ToolUtil.getRandomString(10); + //开始生成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/reset_" + randomString + ".html"); + if(!file.exists()){ + file.createNewFile(); + } + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(document1.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/reset_" + randomString + ".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/reset_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(driver.getId()); + tEmail.setType(2); + tEmail.setName(language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe"); + tEmail.setCreateTime(new Date()); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + String week = EmailUtil.getWeek(language, i); + tEmail.setWeek(week); + 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); } smsrecordService.saveData(6, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!"); @@ -770,24 +925,24 @@ int size = this.queryMyActivity(uid, new Date(), language).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)); - if(orderPrivateCars.size() > 0){ - OrderPrivateCar orderPrivateCar = orderPrivateCars.get(0); - pushUtil.pushOfflinePayment(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1); - return; - } - List<OrderLogistics> orderLogistics = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().eq("driverId", uid).eq("payType", 4) - .eq("isDelete", 1).eq("driverPay", 1)); - if(orderLogistics.size() > 0){ - OrderLogistics orderLogistics1 = orderLogistics.get(0); - pushUtil.pushOfflinePayment(2, orderLogistics1.getDriverId(), orderLogistics1.getId(), orderLogistics1.getType()); - } - } - }).start(); +// 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)); +// if(orderPrivateCars.size() > 0){ +// OrderPrivateCar orderPrivateCar = orderPrivateCars.get(0); +// pushUtil.pushOfflinePayment(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1); +// return; +// } +// List<OrderLogistics> orderLogistics = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().eq("driverId", uid).eq("payType", 4) +// .eq("isDelete", 1).eq("driverPay", 1)); +// if(orderLogistics.size() > 0){ +// OrderLogistics orderLogistics1 = orderLogistics.get(0); +// pushUtil.pushOfflinePayment(2, orderLogistics1.getDriverId(), orderLogistics1.getId(), orderLogistics1.getType()); +// } +// } +// }).start(); return map; } @@ -1091,7 +1246,7 @@ driver.setPassword(ShiroKit.md5(password, salt)); this.updateById(driver); if(ToolUtil.isNotEmpty(driver.getEmail())){ - String path1 = templatePath + "index.html"; + String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if(1 == language){ document1.getElementById("english").remove(); @@ -1125,7 +1280,7 @@ Element pass1_user = document1.getElementById("pass1_user"); pass1_user.text("Hello " + driver.getFirstName() + "" + driver.getLastName() + ","); } - if(2 == language){ + if(3 == language){ document1.getElementById("chinese").remove(); document1.getElementById("english").remove(); document1.getElementById("invite2").remove(); @@ -1142,6 +1297,49 @@ pass2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ","); } EmailUtil.send(driver.getEmail(), language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe", document1.html()); + String randomString = ToolUtil.getRandomString(10); + //开始生成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/reset_" + randomString + ".html"); + if(!file.exists()){ + file.createNewFile(); + } + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(document1.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/reset_" + randomString + ".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/reset_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(driver.getId()); + tEmail.setType(2); + tEmail.setName(language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe"); + tEmail.setCreateTime(new Date()); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + String week = EmailUtil.getWeek(language, i); + tEmail.setWeek(week); + 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); } } @@ -1168,6 +1366,9 @@ } if(car.getAuthState() == 3){ return ResultUtil.error(language == 1 ? "车辆已冻结" : language == 2 ? "Vehicle frozen" : "Le véhicule a été gelé"); + } + if(car.getAuthState() == 4){ + return ResultUtil.error(language == 1 ? "车辆审核不通过" : language == 2 ? "Vehicle audit failed" : "Échec de l’audit du véhicule"); } boolean idle = carService.idle(carId); if(!idle){ @@ -1388,7 +1589,7 @@ driverActivityHistoryMapper.insert(driverActivityHistory); if(ToolUtil.isNotEmpty(driver.getEmail())) { - String path1 = templatePath + "index.html"; + String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if (1 == language) { document1.getElementById("english").remove(); @@ -1432,7 +1633,7 @@ } if (3 == language) { document1.getElementById("chinese").remove(); - document1.getElementById("french").remove(); + document1.getElementById("english").remove(); document1.getElementById("invite2").remove(); document1.getElementById("user2").remove(); document1.getElementById("settle2").remove(); @@ -1451,6 +1652,49 @@ rewardToday2_content.text("Invitez les conducteurs à s’inscrire et à recevoir des récompenses. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails."); } EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html()); + String randomString = ToolUtil.getRandomString(10); + //开始生成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/activity_" + randomString + ".html"); + if(!file.exists()){ + file.createNewFile(); + } + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(document1.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/activity_" + randomString + ".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/activity_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(driver.getId()); + tEmail.setType(2); + tEmail.setName(language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui"); + tEmail.setCreateTime(new Date()); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + String week = EmailUtil.getWeek(language, i); + tEmail.setWeek(week); + 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); } } } @@ -1469,7 +1713,7 @@ driverActivityHistoryMapper.insert(driverActivityHistory); if(ToolUtil.isNotEmpty(driver.getEmail())) { - String path1 = templatePath + "index.html"; + String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if (1 == language) { document1.getElementById("english").remove(); @@ -1532,6 +1776,49 @@ rewardToday2_content.text("Invitez les conducteurs à s’inscrire et à recevoir des récompenses. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails."); } EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html()); + String randomString = ToolUtil.getRandomString(10); + //开始生成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/activity_" + randomString + ".html"); + if(!file.exists()){ + file.createNewFile(); + } + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(document1.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/activity_" + randomString + ".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/activity_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(driver.getId()); + tEmail.setType(2); + tEmail.setName(language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui"); + tEmail.setCreateTime(new Date()); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + String week = EmailUtil.getWeek(language, i); + tEmail.setWeek(week); + 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); } } } @@ -1551,7 +1838,7 @@ driverActivityHistoryMapper.insert(driverActivityHistory); if(ToolUtil.isNotEmpty(driver.getEmail())) { - String path1 = templatePath + "index.html"; + String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if (1 == language) { document1.getElementById("english").remove(); @@ -1614,6 +1901,49 @@ rewardToday2_content.text("Accumulé en ligne " + driverActivityOnline.getOnline() + " heures aujourd’hui pour obtenir des récompenses d’événement. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails."); } EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html()); + String randomString = ToolUtil.getRandomString(10); + //开始生成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/activity_" + randomString + ".html"); + if(!file.exists()){ + file.createNewFile(); + } + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(document1.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/activity_" + randomString + ".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/activity_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(driver.getId()); + tEmail.setType(2); + tEmail.setName(language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui"); + tEmail.setCreateTime(new Date()); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + String week = EmailUtil.getWeek(language, i); + tEmail.setWeek(week); + 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); } } } @@ -1633,7 +1963,7 @@ driverActivityHistoryMapper.insert(driverActivityHistory); if(ToolUtil.isNotEmpty(driver.getEmail())) { - String path1 = templatePath + "index.html"; + String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if (1 == language) { document1.getElementById("english").remove(); @@ -1696,6 +2026,49 @@ rewardToday2_content.text("Effectuez " + driverActivityOrder.getOrderNum() + " commandes au total aujourd’hui pour obtenir des récompenses d’événement. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails."); } EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html()); + String randomString = ToolUtil.getRandomString(10); + //开始生成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/activity_" + randomString + ".html"); + if(!file.exists()){ + file.createNewFile(); + } + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(document1.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/activity_" + randomString + ".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/activity_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(driver.getId()); + tEmail.setType(2); + tEmail.setName(language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui"); + tEmail.setCreateTime(new Date()); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + String week = EmailUtil.getWeek(language, i); + tEmail.setWeek(week); + 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); } } } @@ -1737,7 +2110,7 @@ if(ToolUtil.isNotEmpty(driver.getEmail())) { - String path1 = templatePath + "index.html"; + String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if (1 == language) { document1.getElementById("english").remove(); @@ -1794,6 +2167,49 @@ reward2_content.text("Accumulé en ligne pendant " + dao.getOnline() + " heure aujourd’hui, obtenez la récompense GHS " + dah.getMoney() + ", s’il vous plaît vérifier"); } EmailUtil.send(driver.getEmail(), language == 1 ? "在线时长奖励" : language == 2 ? "Online Time Rewards" : "Récompenses de temps en ligne", document1.html()); + String randomString = ToolUtil.getRandomString(10); + //开始生成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/rewards_" + randomString + ".html"); + if(!file.exists()){ + file.createNewFile(); + } + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(document1.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/rewards_" + randomString + ".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/rewards_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(driver.getId()); + tEmail.setType(2); + tEmail.setName(language == 1 ? "在线时长奖励" : language == 2 ? "Online Time Rewards" : "Récompenses de temps en ligne"); + tEmail.setCreateTime(new Date()); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + String week = EmailUtil.getWeek(language, i); + tEmail.setWeek(week); + 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); } } } @@ -1821,7 +2237,7 @@ incomeService.saveData(2, dah.getDriverId(), 1, dao.getId(), null, dah.getMoney()); if(ToolUtil.isNotEmpty(driver.getEmail())) { - String path1 = templatePath + "index.html"; + String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if (1 == language) { document1.getElementById("english").remove(); @@ -1877,7 +2293,51 @@ Element reward2_content = document1.getElementById("reward2_content"); reward2_content.text("Un total de " + dao.getOrderNum() + " commandes ont été reçues aujourd’hui, et la récompense GHS " + dah.getMoney() + " sera décernée, s’il vous plaît vérifier"); } + EmailUtil.send(driver.getEmail(), language == 1 ? "累计接单奖励" : language == 2 ? "Cumulative Order Rewards" : "Récompenses de commande cumulées", document1.html()); + String randomString = ToolUtil.getRandomString(10); + //开始生成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/rewards_" + randomString + ".html"); + if(!file.exists()){ + file.createNewFile(); + } + FileWriter fileWriter = new FileWriter(file); + fileWriter.write(document1.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/rewards_" + randomString + ".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/rewards_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(driver.getId()); + tEmail.setType(2); + tEmail.setName(language == 1 ? "累计接单奖励" : language == 2 ? "Cumulative Order Rewards" : "Récompenses de commande cumulées"); + tEmail.setCreateTime(new Date()); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + String week = EmailUtil.getWeek(language, i); + tEmail.setWeek(week); + 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); } } } @@ -2322,6 +2782,7 @@ * @param id */ private void singlePointLogin(Integer id){ + pushUtil.pushOffline(id, 2); //开始验证当前账号是否在别处登录 String value = redisUtil.getValue("DRIVER_" + id); if(ToolUtil.isNotEmpty(value)){//将另外设备上的强迫下线(如果是车载端不需要下线) @@ -2332,6 +2793,7 @@ redisUtil.remove("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存 redisUtil.remove("DRIVER_" + id);//清除存储的token } + } @Override -- Gitblit v1.7.1