From cf763f7ae2f86409c5f13b4fe36a25a8ec31cbf8 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期一, 04 九月 2023 09:26:55 +0800 Subject: [PATCH] 用户端 邮件中心 --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java | 623 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 532 insertions(+), 91 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java index a29af8f..ba0b6a2 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java @@ -21,6 +21,7 @@ import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; import com.stylefeng.guns.modular.system.util.Tingg.TinggPayUtil; import com.stylefeng.guns.modular.system.util.Tingg.model.CheckoutRequest; +import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; import com.stylefeng.guns.modular.system.warpper.LoginWarpper; import com.stylefeng.guns.modular.taxi.model.PaymentRecord; import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService; @@ -40,6 +41,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.*; @@ -113,6 +117,12 @@ private String salt = "&a.s"; + @Autowired + private SMSUtil smsUtil; + + @Autowired + private TEmailService emailService; + /** * 获取短信验证码 @@ -120,7 +130,7 @@ * @return */ @Override - public ResultUtil queryCaptcha(String phone, Integer type) throws Exception { + public ResultUtil queryCaptcha(String phone, Integer type, Integer language) throws Exception { Random random = new Random(); Object value = redisUtil.getValue(phone); if(value==null){ @@ -129,12 +139,22 @@ sb.append((int) (random.nextDouble() * 10)); } String authCode = sb.toString(); - String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!"; + String sms = ""; //发送验证码短信 redisUtil.setStrValue(phone, authCode, 5 * 60);//设置五分钟过期 - SMSUtil.send_huawei_sms("b793ae3d41a049059197bfe92cf8bc83", "+" + phone, "[\"" + authCode + "\"]"); - System.out.println(sms); + switch (language){ + case 1: + sms = "您的验证码为:" + authCode + ",该验证码5分钟内有效,请勿泄漏于他人!"; + break; + case 2: + sms = "Your verification code is: " + authCode + ", the verification code is valid within 5 minutes, do not leak to others!"; + break; + case 3: + sms = "Votre code de vérification est: " + authCode + ". Ce code est valide pendant 5 minutes. Ne le divulguez pas aux autres!"; + break; + } + smsUtil.sendCellulantMessage(phone, sms); } return ResultUtil.success(); } @@ -221,24 +241,67 @@ String path = templatePath + "user/register.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(1 == language){ - document.getElementById("english").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("english").remove(); + document.getElementById("french").remove(); Element user_chinese = document.getElementById("user_chinese"); user_chinese.text("您好 " + userInfo.getNickName() + ","); } if(2 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); Element user_english = document.getElementById("user_english"); user_english.text("Hello " + userInfo.getNickName() + ","); } if(3 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("english").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); Element user_french = document.getElementById("user_french"); user_french.text("Bonjour " + userInfo.getNickName() + ","); } EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Successful registration" : "Inscription réussie", document.html()); + //开始生成pdf收据和html收据 + File file = new File("/usr/local/nginx/html/files/html/"); + if(!file.exists()){ + file.mkdirs(); + } + String randomString = ToolUtil.getRandomString(10); + file = new File("/usr/local/nginx/html/files/html/registration_" + 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/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(uid); + tEmail.setType(1); + tEmail.setName(language == 1 ? "注册成功" : language == 2 ? "Successful registration" : "Inscription réussie"); + 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); + } this.addCoupon(userInfo, language);//添加优惠券 @@ -262,51 +325,93 @@ String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if(1 == language){ - document1.getElementById("english").attr("style", "display: none;"); - document1.getElementById("french").attr("style", "display: none;"); - document1.getElementById("invite").attr("style", "display: none;"); - document1.getElementById("settle").attr("style", "display: none;"); - document1.getElementById("pass").attr("style", "display: none;"); - document1.getElementById("bill").attr("style", "display: none;"); - document1.getElementById("reward").attr("style", "display: none;"); - document1.getElementById("rewardToday").attr("style", "display: none;"); + document1.getElementById("english").remove(); + document1.getElementById("french").remove(); + document1.getElementById("invite").remove(); + document1.getElementById("settle").remove(); + document1.getElementById("pass").remove(); + document1.getElementById("bill").remove(); + document1.getElementById("reward").remove(); + document1.getElementById("rewardToday").remove(); Element user_user = document1.getElementById("user_user"); - user_user.text("您好 " + driver.getName() + ","); + user_user.text("您好 " + driver.getFirstName() + " " + driver.getLastName() + ","); Element user_content = document1.getElementById("user_content"); user_content.text("您已成功邀请一位用户注册I-GO,获得奖励GHS " + bigDecimal.doubleValue() + ",请查收"); } if(2 == language){ - document1.getElementById("chinese").attr("style", "display: none;"); - document1.getElementById("french").attr("style", "display: none;"); - document1.getElementById("invite1").attr("style", "display: none;"); - document1.getElementById("settle1").attr("style", "display: none;"); - document1.getElementById("pass1").attr("style", "display: none;"); - document1.getElementById("bill1").attr("style", "display: none;"); - document1.getElementById("reward1").attr("style", "display: none;"); - document1.getElementById("rewardToday1").attr("style", "display: none;"); + document1.getElementById("chinese").remove(); + document1.getElementById("french").remove(); + document1.getElementById("invite1").remove(); + document1.getElementById("settle1").remove(); + document1.getElementById("pass1").remove(); + document1.getElementById("bill1").remove(); + document1.getElementById("reward1").remove(); + document1.getElementById("rewardToday1").remove(); Element user1_user = document1.getElementById("user1_user"); - user1_user.text("Hello " + driver.getName() + ","); + user1_user.text("Hello " + driver.getFirstName() + " " + driver.getLastName() + ","); Element user1_content = document1.getElementById("user1_content"); user1_content.text("You have succeeded to invite a rider to register with I-GO, so you received a GHS " + bigDecimal.doubleValue() + " bonus, please check your balance."); } if(3 == language){ - document1.getElementById("chinese").attr("style", "display: none;"); - document1.getElementById("english").attr("style", "display: none;"); - document1.getElementById("invite1").attr("style", "display: none;"); - document1.getElementById("settle1").attr("style", "display: none;"); - document1.getElementById("pass1").attr("style", "display: none;"); - document1.getElementById("bill1").attr("style", "display: none;"); - document1.getElementById("reward1").attr("style", "display: none;"); - document1.getElementById("rewardToday1").attr("style", "display: none;"); + document1.getElementById("chinese").remove(); + document1.getElementById("english").remove(); + document1.getElementById("invite1").remove(); + document1.getElementById("settle1").remove(); + document1.getElementById("pass1").remove(); + document1.getElementById("bill1").remove(); + document1.getElementById("reward1").remove(); + document1.getElementById("rewardToday1").remove(); Element user2_user = document1.getElementById("user2_user"); - user2_user.text("Bonjour " + driver.getName() + ","); + user2_user.text("Bonjour " + driver.getFirstName() + " " + driver.getLastName() + ","); Element user2_content = document1.getElementById("user2_content"); user2_content.text("Vous avez invité avec succès un utilisateur à 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", document1.html()); + //开始生成pdf收据和html收据 + File file = new File("/usr/local/nginx/html/files/html/"); + if(!file.exists()){ + file.mkdirs(); + } + String randomString = ToolUtil.getRandomString(10); + file = new File("/usr/local/nginx/html/files/html/invitation_" + 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/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(uid); + tEmail.setType(1); + 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; + 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); } } if(type == 1){//用户分享 @@ -352,8 +457,8 @@ String path1 = templatePath + "user/coupon.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if(language == 1){ - document1.getElementById("english").attr("style", "display: none;"); - document1.getElementById("french").attr("style", "display: none;"); + document1.getElementById("english").remove(); + document1.getElementById("french").remove(); Element chinese_user = document1.getElementById("chinese_user"); chinese_user.text("您好 " + userInfo1.getNickName() + ","); Element chinese_number = document1.getElementById("chinese_number"); @@ -362,8 +467,8 @@ chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台"); } if(language == 2){ - document1.getElementById("chinese").attr("style", "display: none;"); - document1.getElementById("french").attr("style", "display: none;"); + document1.getElementById("chinese").remove(); + document1.getElementById("french").remove(); Element english_user = document1.getElementById("english_user"); english_user.text("Hello " + userInfo1.getNickName() + ","); Element english_number = document1.getElementById("english_number"); @@ -372,8 +477,8 @@ english_date.text("You could use them from" + startTime + "to" + endTime); } if(language == 3){ - document1.getElementById("chinese").attr("style", "display: none;"); - document1.getElementById("english").attr("style", "display: none;"); + document1.getElementById("chinese").remove(); + document1.getElementById("english").remove(); Element french_user = document1.getElementById("french_user"); french_user.text("Bonjour " + userInfo1.getNickName() + ","); Element french_number = document1.getElementById("french_number"); @@ -382,6 +487,48 @@ french_date.text("Cette promotion est valide du" + startTime + "au" + endTime); } EmailUtil.send(userInfo1.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive", document1.html()); + //开始生成pdf收据和html收据 + File file = new File("/usr/local/nginx/html/files/html/"); + if(!file.exists()){ + file.mkdirs(); + } + String randomString = ToolUtil.getRandomString(10); + file = new File("/usr/local/nginx/html/files/html/coupon_" + 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/coupon_" + 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/coupon_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(uid); + tEmail.setType(1); + tEmail.setName(language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive"); + 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); } } @@ -541,24 +688,66 @@ String path = templatePath + "user/register.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(1 == language){ - document.getElementById("english").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("english").remove(); + document.getElementById("french").remove(); Element user_chinese = document.getElementById("user_chinese"); user_chinese.text("您好 " + userInfo.getNickName() + ","); } if(2 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); Element user_english = document.getElementById("user_english"); user_english.text("Hello " + userInfo.getNickName() + ","); } if(3 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("english").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); Element user_french = document.getElementById("user_french"); user_french.text("Bonjour " + userInfo.getNickName() + ","); } EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Successful registration" : "Inscription réussie", document.html()); + //开始生成pdf收据和html收据 + File file = new File("/usr/local/nginx/html/files/html/"); + if(!file.exists()){ + file.mkdirs(); + } + String randomString = ToolUtil.getRandomString(10); + file = new File("/usr/local/nginx/html/files/html/registration_" + 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/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(uid); + tEmail.setType(1); + tEmail.setName(language == 1 ? "注册成功" : language == 2 ? "Successful registration" : "Inscription réussie"); + 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); } @@ -624,8 +813,8 @@ String path = templatePath + "user/coupon.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(language == 1){ - document.getElementById("english").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("english").remove(); + document.getElementById("french").remove(); Element chinese_user = document.getElementById("chinese_user"); chinese_user.text("您好 " + userInfo.getNickName() + ","); Element chinese_number = document.getElementById("chinese_number"); @@ -634,8 +823,8 @@ chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台"); } if(language == 2){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); Element english_user = document.getElementById("english_user"); english_user.text("Hello " + userInfo.getNickName() + ","); Element english_number = document.getElementById("english_number"); @@ -644,8 +833,8 @@ english_date.text("You could use them from" + startTime + "to" + endTime); } if(language == 3){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("english").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); Element french_user = document.getElementById("french_user"); french_user.text("Bonjour " + userInfo.getNickName() + ","); Element french_number = document.getElementById("french_number"); @@ -654,6 +843,48 @@ french_date.text("Cette promotion est valide du" + startTime + "au" + endTime); } EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive", document.html()); + //开始生成pdf收据和html收据 + File file = new File("/usr/local/nginx/html/files/html/"); + if(!file.exists()){ + file.mkdirs(); + } + String randomString = ToolUtil.getRandomString(10); + file = new File("/usr/local/nginx/html/files/html/coupon_" + 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/coupon_" + 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/coupon_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(uid); + tEmail.setType(1); + tEmail.setName(language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive"); + 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); } } } @@ -743,24 +974,66 @@ String path = templatePath + "user/register.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(1 == language){ - document.getElementById("english").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("english").remove(); + document.getElementById("french").remove(); Element user_chinese = document.getElementById("user_chinese"); user_chinese.text("您好 " + userInfo.getNickName() + ","); } if(2 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); Element user_english = document.getElementById("user_english"); user_english.text("Hello " + userInfo.getNickName() + ","); } if(3 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("english").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); Element user_french = document.getElementById("user_french"); user_french.text("Bonjour " + userInfo.getNickName() + ","); } EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Successful registration" : "Inscription réussie", document.html()); + //开始生成pdf收据和html收据 + File file = new File("/usr/local/nginx/html/files/html/"); + if(!file.exists()){ + file.mkdirs(); + } + String randomString = ToolUtil.getRandomString(10); + file = new File("/usr/local/nginx/html/files/html/registration_" + 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/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(uid); + tEmail.setType(1); + tEmail.setName(language == 1 ? "注册成功" : language == 2 ? "Successful registration" : "Inscription réussie"); + 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); } @@ -826,8 +1099,8 @@ String path = templatePath + "user/coupon.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(language == 1){ - document.getElementById("english").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("english").remove(); + document.getElementById("french").remove(); Element chinese_user = document.getElementById("chinese_user"); chinese_user.text("您好 " + userInfo.getNickName() + ","); Element chinese_number = document.getElementById("chinese_number"); @@ -836,8 +1109,8 @@ chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台"); } if(language == 2){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); Element english_user = document.getElementById("english_user"); english_user.text("Hello " + userInfo.getNickName() + ","); Element english_number = document.getElementById("english_number"); @@ -846,8 +1119,8 @@ english_date.text("You could use them from" + startTime + "to" + endTime); } if(language == 3){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("english").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); Element french_user = document.getElementById("french_user"); french_user.text("Bonjour " + userInfo.getNickName() + ","); Element french_number = document.getElementById("french_number"); @@ -856,6 +1129,48 @@ french_date.text("Cette promotion est valide du" + startTime + "au" + endTime); } EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive", document.html()); + //开始生成pdf收据和html收据 + File file = new File("/usr/local/nginx/html/files/html/"); + if(!file.exists()){ + file.mkdirs(); + } + String randomString = ToolUtil.getRandomString(10); + file = new File("/usr/local/nginx/html/files/html/coupon_" + 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/coupon_" + 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/coupon_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(uid); + tEmail.setType(1); + tEmail.setName( language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive"); + 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); } } } @@ -1106,7 +1421,7 @@ public ResultUtil depositBalance(Integer payType, String bankCardId, Double money, Integer uid, Integer type, Integer language) throws Exception { UserInfo userInfo = userInfoMapper.selectById(uid); if(money.compareTo(0D) <= 0){ - return ResultUtil.error("支付金额必须大于0元"); + return ResultUtil.error("支付金额必须大于0元", ""); } if(payType == 1){//手机支付 Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 1, money, "", 1);//添加预支付数据 @@ -1124,8 +1439,8 @@ checkoutRequest.setRequestDescription("Account top-up"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun"); - checkoutRequest.setFailRedirectUrl("https://www.baidu.com"); + checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); return TinggPayUtil.checkoutRequest(checkoutRequest); } @@ -1145,11 +1460,11 @@ checkoutRequest.setRequestDescription("Account top-up"); checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance"); checkoutRequest.setPendingRedirectUrl(""); - checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun"); - checkoutRequest.setFailRedirectUrl("https://www.baidu.com"); + checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html"); + checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html"); return TinggPayUtil.checkoutRequest(checkoutRequest); } - return ResultUtil.success(); + return ResultUtil.success(""); } @@ -1196,25 +1511,67 @@ String path = templatePath + "user/passwordReset.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(1 == language){ - document.getElementById("english").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("english").remove(); + document.getElementById("french").remove(); Element user_chinese = document.getElementById("user_chinese"); user_chinese.text("您好 " + userInfo.getNickName() + ","); } if(2 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); Element user_chinese = document.getElementById("user_english"); user_chinese.text("Hello " + userInfo.getNickName() + ","); } if(3 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("english").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); Element user_french = document.getElementById("user_french"); user_french.text("Bonjour " + userInfo.getNickName() + ","); } EmailUtil.send(userInfo.getEmail(), language == 1 ? "重置密码" : language == 2 ? "Reset password" : "Réinitialiser le mot de passe", document.html()); + //开始生成pdf收据和html收据 + File file = new File("/usr/local/nginx/html/files/html/"); + if(!file.exists()){ + file.mkdirs(); + } + String randomString = ToolUtil.getRandomString(10); + file = new File("/usr/local/nginx/html/files/html/password_" + 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/password_" + 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/password_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(uid); + tEmail.setType(1); + 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; + 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); } return ResultUtil.success(); } @@ -1451,8 +1808,8 @@ String path = templatePath + "user/coupon.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(language == 1){ - document.getElementById("english").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("english").remove(); + document.getElementById("french").remove(); Element chinese_user = document.getElementById("chinese_user"); chinese_user.text("您好 " + userInfo.getNickName() + ","); Element chinese_number = document.getElementById("chinese_number"); @@ -1461,8 +1818,8 @@ chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台"); } if(language == 2){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); Element english_user = document.getElementById("english_user"); english_user.text("Hello " + userInfo.getNickName() + ","); Element english_number = document.getElementById("english_number"); @@ -1471,8 +1828,8 @@ english_date.text("You could use them from" + startTime + "to" + endTime); } if(language == 3){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("english").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); Element french_user = document.getElementById("french_user"); french_user.text("Bonjour " + userInfo.getNickName() + ","); Element french_number = document.getElementById("french_number"); @@ -1481,6 +1838,48 @@ french_date.text("Cette promotion est valide du" + startTime + "au" + endTime); } EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive", document.html()); + //开始生成pdf收据和html收据 + File file = new File("/usr/local/nginx/html/files/html/"); + if(!file.exists()){ + file.mkdirs(); + } + String randomString = ToolUtil.getRandomString(10); + file = new File("/usr/local/nginx/html/files/html/coupon_" + 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/coupon_" + 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/coupon_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(userInfo.getId()); + tEmail.setType(1); + tEmail.setName(language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive"); + 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); } } } @@ -1576,8 +1975,8 @@ String path = templatePath + "user/coupon.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(language == 1){ - document.getElementById("english").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("english").remove(); + document.getElementById("french").remove(); Element chinese_user = document.getElementById("chinese_user"); chinese_user.text("您好 " + userInfo.getNickName() + ","); Element chinese_number = document.getElementById("chinese_number"); @@ -1586,8 +1985,8 @@ chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台"); } if(language == 2){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); Element english_user = document.getElementById("english_user"); english_user.text("Hello " + userInfo.getNickName() + ","); Element english_number = document.getElementById("english_number"); @@ -1596,8 +1995,8 @@ english_date.text("You could use them from" + startTime + "to" + endTime); } if(language == 3){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("english").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); Element french_user = document.getElementById("french_user"); french_user.text("Bonjour " + userInfo.getNickName() + ","); Element french_number = document.getElementById("french_number"); @@ -1606,6 +2005,47 @@ french_date.text("Cette promotion est valide du" + startTime + "au" + endTime); } EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive", document.html()); + //开始生成pdf收据和html收据 + File file = new File("/usr/local/nginx/html/files/html/"); + if(!file.exists()){ + file.mkdirs(); + } + String randomString = ToolUtil.getRandomString(10); + file = new File("/usr/local/nginx/html/files/html/coupon_" + 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/coupon_" + 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/coupon_" + randomString + ".html"; + TEmail tEmail = new TEmail(); + tEmail.setLink(link); + tEmail.setUserId(userInfo.getId()); + tEmail.setType(1); + tEmail.setName(language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive"); + tEmail.setCreateTime(new Date()); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + boolean am = cn.hutool.core.date.DateUtil.isAM(new Date()); + if(am){ + tEmail.setAmOrPm(language==1?"上午":language==2?"Morning":""); + }else { + tEmail.setAmOrPm(language==1?"下午":language==2?"Afternoon":""); + } + emailService.insert(tEmail); } } } @@ -1619,6 +2059,7 @@ * @param id */ private void singlePointLogin(Integer id) throws Exception{ + pushUtil.pushOffline(id, 1); //开始验证当前账号是否在别处登录 String value = redisUtil.getValue("USER_" + id); if(ToolUtil.isNotEmpty(value)){//将另外设备上的强迫下线 -- Gitblit v1.7.1