From 7cecb650a9157fc74f0bb19395096afafa127eb7 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 26 一月 2024 17:32:00 +0800
Subject: [PATCH] 用户端新增功能
---
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java | 1072 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 921 insertions(+), 151 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 420370b..00db4fa 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.*;
@@ -116,6 +120,9 @@
@Autowired
private SMSUtil smsUtil;
+ @Autowired
+ private TEmailService emailService;
+
/**
* 获取短信验证码
@@ -141,13 +148,14 @@
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!";
+ sms = "Your verification code is " + authCode + ",it is valid within 5 minutes, please do not reveal it 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!";
+ sms = "Votre code de validation est " + authCode + "et il est valide pendant 5 minutes. Veuillez ne pas le révéler à d’autres personnes.";
break;
}
smsUtil.sendCellulantMessage(phone, sms);
+ smsrecordService.saveData(type, phone, authCode, sms);
}
return ResultUtil.success();
}
@@ -163,6 +171,7 @@
@Override
public boolean checkCaptcha(String phone, String code) throws Exception {
Object value = redisUtil.getValue(phone);
+ redisUtil.remove(phone);
if("1246".equals(code)){
return true;
}
@@ -187,7 +196,7 @@
Integer userType, Integer language) throws Exception {
boolean b = this.checkCaptcha(phone, code);
if(!b){
- return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
+ return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
}
UserInfo userInfo = userInfoMapper.queryByPhone(phone);
@@ -236,22 +245,56 @@
if(1 == language){
document.getElementById("english").remove();
document.getElementById("french").remove();
+ document.getElementsByTag("title").get(0).text("注册成功");
Element user_chinese = document.getElementById("user_chinese");
user_chinese.text("您好 " + userInfo.getNickName() + ",");
}
if(2 == language){
document.getElementById("chinese").remove();
document.getElementById("french").remove();
+ document.getElementsByTag("title").get(0).text("Registered successfully");
Element user_english = document.getElementById("user_english");
user_english.text("Hello " + userInfo.getNickName() + ",");
}
if(3 == language){
document.getElementById("chinese").remove();
document.getElementById("english").remove();
+ document.getElementsByTag("title").get(0).text("Enregistré avec succès");
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());
+ EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", 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();
+
+ 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 ? "Registered successfully" : "Enregistré avec succès");
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
}
this.addCoupon(userInfo, language);//添加优惠券
@@ -284,6 +327,7 @@
document1.getElementById("reward").remove();
document1.getElementById("rewardToday").remove();
+ document1.getElementsByTag("title").get(0).text("司机奖励通知");
Element user_user = document1.getElementById("user_user");
user_user.text("您好 " + driver.getFirstName() + " " + driver.getLastName() + ",");
Element user_content = document1.getElementById("user_content");
@@ -299,6 +343,7 @@
document1.getElementById("reward1").remove();
document1.getElementById("rewardToday1").remove();
+ document1.getElementsByTag("title").get(0).text("Reward-driver notice");
Element user1_user = document1.getElementById("user1_user");
user1_user.text("Hello " + driver.getFirstName() + " " + driver.getLastName() + ",");
Element user1_content = document1.getElementById("user1_content");
@@ -314,23 +359,67 @@
document1.getElementById("reward1").remove();
document1.getElementById("rewardToday1").remove();
+ document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
Element user2_user = document1.getElementById("user2_user");
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());
+ EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", 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();
+
+ 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 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
}
}
+
if(type == 1){//用户分享
UserInfo userInfo1 = userInfoMapper.selectById(uid);
List<Map<String, Object>> query = userActivityInviteMapper.query(userInfo1.getCompanyId());
Date date = new Date();
for(Map<String, Object> map : query){
Double lavePrice = Double.valueOf(map.get("lavePrice").toString());
- String startTime = map.get("startTime").toString();
- String endTime = map.get("endTime").toString();
+ String startTime = "";
+ String endTime = "";
+ if(null != map.get("startTime")){
+ startTime = map.get("startTime").toString();
+ map.put("startTime", DateUtil.conversionFormat(language, startTime));
+ startTime = DateUtil.conversionFormat(language, startTime);
+ }
+ if(null != map.get("endTime")){
+ endTime = map.get("endTime").toString();
+ map.put("endTime", DateUtil.conversionFormat(language, endTime));
+ endTime = DateUtil.conversionFormat(language, endTime);
+ }
int num = 0;
+ double fullMoney = 0;
for(int i = Integer.valueOf(String.valueOf(map.get("totalNum"))); i > 0; i--){
//判断当前优惠券金额是否大于可发放剩余总金额
if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(lavePrice) > 0){
@@ -356,6 +445,7 @@
//修改剩余可发放总金额
lavePrice -= Double.valueOf(String.valueOf(map.get("money")));
num++;
+ fullMoney = userCouponRecord.getFullMoney();
}
UserActivityInvite uai = userActivityInviteMapper.selectById(Integer.valueOf(map.get("id").toString()));
uai.setLavePrice(new BigDecimal(lavePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -367,34 +457,74 @@
if(language == 1){
document1.getElementById("english").remove();
document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("优惠券到账");
Element chinese_user = document1.getElementById("chinese_user");
chinese_user.text("您好 " + userInfo1.getNickName() + ",");
Element chinese_number = document1.getElementById("chinese_number");
chinese_number.text("您有" + num + "张优惠券到账");
Element chinese_date = document1.getElementById("chinese_date");
chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
+ Element chinese_remark = document1.getElementById("chinese_remark");
+ chinese_remark.text("注意:满减活动,每单消费至少GHS " + fullMoney + ",才可享用。");
}
if(language == 2){
document1.getElementById("chinese").remove();
document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("Coupon is in");
Element english_user = document1.getElementById("english_user");
english_user.text("Hello " + userInfo1.getNickName() + ",");
Element english_number = document1.getElementById("english_number");
english_number.text("You have received " + num + " coupons");
Element english_date = document1.getElementById("english_date");
- english_date.text("You could use them from" + startTime + "to" + endTime);
+ english_date.text("You could use them from " + startTime + " to " + endTime);
+ Element english_remark = document1.getElementById("english_remark");
+ english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + fullMoney + " per ride.");
}
if(language == 3){
document1.getElementById("chinese").remove();
document1.getElementById("english").remove();
+ document1.getElementsByTag("title").get(0).text("Le coupon est arrivé sur le compte");
Element french_user = document1.getElementById("french_user");
- french_user.text("Bonjour " + userInfo1.getNickName() + ",");
+ french_user.text("Cher(ère) " + userInfo1.getNickName() + ",");
Element french_number = document1.getElementById("french_number");
- french_number.text("Vous avez " + num + " coupons à recevoir");
+ french_number.text("Vous avez reçu " + num + " coupons.");
Element french_date = document1.getElementById("french_date");
- french_date.text("Cette promotion est valide du" + startTime + "au" + endTime);
+ french_date.text("Vous devriez les utiliser du" + startTime + " au " + endTime + ", voir le détail sur la plate-forme I-GO.");
+ Element french_remark = document1.getElementById("french_remark");
+ french_remark.text("Remarque! Le coupon n'est valable que pour le tarif d'au moins GHS " + fullMoney + " par trajet.");
}
- EmailUtil.send(userInfo1.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive", document1.html());
+ EmailUtil.send(userInfo1.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", 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();
+
+ 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 is in" : "Le coupon est arrivé sur le compte");
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
}
}
@@ -402,7 +532,7 @@
}
}
if(userInfo.getState() == 2){
- return ResultUtil.error("账号被冻结");
+ return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
}
//调用单点登录的逻辑
@@ -416,15 +546,342 @@
loginWarpper.setEmergencyContact(userInfo.getEmergencyContact());
loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber());
loginWarpper.setEmail(userInfo.getEmail());
-
- smsrecordService.saveData(1, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
return ResultUtil.success(loginWarpper);
}
+
+
@Override
public synchronized ResultUtil<LoginWarpper> captchaLogin(String phoneOperator, String phone, String code, Integer uid, Integer type, Integer userType, Integer language) throws Exception {
- ResultUtil<LoginWarpper> resultUtil = this.captchaLogin(phoneOperator, phone, code, null, null, null,uid,type,userType,language);
- return resultUtil;
+ boolean b = this.checkCaptcha(phone, code);
+ if(!b){
+ return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
+ }
+
+ UserInfo userInfo = userInfoMapper.queryByPhone(phone);
+ if(null != userInfo){
+ return ResultUtil.error(language == 1 ? "手机号已被注册" : language == 2 ? "The mobile phone number has been registered" : "Le numéro de téléphone portable a été enregistré");
+ }
+ if(null == userInfo){
+ userInfo = new UserInfo();
+ userInfo.setPhoneOperator(phoneOperator);
+ userInfo.setPhone(phone);
+ userInfo.setPassWord(ShiroKit.md5("", salt));
+ userInfo.setNickName(this.getDefaultName());
+ userInfo.setRegistIp(null);
+ userInfo.setIsAuth(1);
+ userInfo.setConsumption(0D);
+ userInfo.setBalance(0D);
+ userInfo.setState(1);
+
+ //用户所属企业
+ userInfo.setCompanyId(1);
+ Double money = this.userInfoMapper.queryFreeMOney();
+ if(money!=null){
+ userInfo.setFreeMoney(BigDecimal.valueOf(money));
+ }
+ if(null!=uid){
+ userInfo.setUid(uid);
+ }
+ if(null!=type){
+ userInfo.setuType(type);
+ }
+
+ this.insert(userInfo);
+
+ if(ToolUtil.isNotEmpty(userInfo.getEmail())){
+ String path = templatePath + "user/register.html";
+ Document document = Jsoup.parse(new File(path), "UTF-8");
+ if(1 == language){
+ document.getElementById("english").remove();
+ document.getElementById("french").remove();
+ document.getElementsByTag("title").get(0).text("注册成功");
+ Element user_chinese = document.getElementById("user_chinese");
+ user_chinese.text("您好 " + userInfo.getNickName() + ",");
+ }
+ if(2 == language){
+ document.getElementById("chinese").remove();
+ document.getElementById("french").remove();
+ document.getElementsByTag("title").get(0).text("Registered successfully");
+ Element user_english = document.getElementById("user_english");
+ user_english.text("Hello " + userInfo.getNickName() + ",");
+ }
+ if(3 == language){
+ document.getElementById("chinese").remove();
+ document.getElementById("english").remove();
+ document.getElementsByTag("title").get(0).text("Enregistré avec succès");
+ Element user_french = document.getElementById("user_french");
+ user_french.text("Bonjour " + userInfo.getNickName() + ",");
+ }
+ EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", 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();
+
+ 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 ? "Registered successfully" : "Enregistré avec succès");
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
+ }
+
+ this.addCoupon(userInfo, language);//添加优惠券
+ if(null != uid){
+ if(type == 2){//司机分享
+ Driver driver = driverMapper.selectById(uid);
+ List<Map<String, Object>> query = driverActivityRegisteredMapper.query(userType, driver.getCompanyId());
+ BigDecimal bigDecimal = new BigDecimal("0");
+ for(Map<String, Object> map : query){
+ if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(0D) > 0){
+ bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(map.get("money"))));
+ incomeService.saveData(2, driver.getId(), 1, Integer.valueOf(String.valueOf(map.get("id"))), null, Double.valueOf(String.valueOf(map.get("money"))));
+ }
+ }
+ driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ driverMapper.updateById(driver);
+
+ if(ToolUtil.isNotEmpty(driver.getEmail())){
+ String path1 = templatePath + "driver/index.html";
+ Document document1 = Jsoup.parse(new File(path1), "UTF-8");
+ if(1 == language){
+ 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();
+
+ document1.getElementsByTag("title").get(0).text("司机奖励通知");
+ Element user_user = document1.getElementById("user_user");
+ 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").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();
+
+ document1.getElementsByTag("title").get(0).text("Reward-driver notice");
+ Element user1_user = document1.getElementById("user1_user");
+ 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").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();
+
+ document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense");
+ Element user2_user = document1.getElementById("user2_user");
+ 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 ? "Reward-driver notice" : "Avis de chauffeur de récompense", 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();
+
+ 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 ? "Reward-driver notice" : "Avis de chauffeur de récompense");
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
+ }
+ }
+
+ if(type == 1){//用户分享
+ UserInfo userInfo1 = userInfoMapper.selectById(uid);
+ List<Map<String, Object>> query = userActivityInviteMapper.query(userInfo1.getCompanyId());
+ Date date = new Date();
+ for(Map<String, Object> map : query){
+ Double lavePrice = Double.valueOf(map.get("lavePrice").toString());
+ String startTime = "";
+ String endTime = "";
+ if(null != map.get("startTime")){
+ startTime = map.get("startTime").toString();
+ map.put("startTime", DateUtil.conversionFormat(language, startTime));
+ startTime = DateUtil.conversionFormat(language, startTime);
+ }
+ if(null != map.get("endTime")){
+ endTime = map.get("endTime").toString();
+ map.put("endTime", DateUtil.conversionFormat(language, endTime));
+ endTime = DateUtil.conversionFormat(language, endTime);
+ }
+ int num = 0;
+ double fullMoney = 0;
+ for(int i = Integer.valueOf(String.valueOf(map.get("totalNum"))); i > 0; i--){
+ //判断当前优惠券金额是否大于可发放剩余总金额
+ if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(lavePrice) > 0){
+ break;
+ }
+ UserCouponRecord userCouponRecord = new UserCouponRecord();
+ userCouponRecord.setActivityType(3);
+ userCouponRecord.setCouponActivityId(Integer.valueOf(String.valueOf(map.get("id"))));
+ userCouponRecord.setCouponId(Integer.valueOf(String.valueOf(map.get("couponId"))));
+ userCouponRecord.setState(1);
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + Integer.valueOf(String.valueOf(map.get("effective"))));
+ userCouponRecord.setExpirationTime(calendar.getTime());
+ userCouponRecord.setCouponType(Integer.valueOf(String.valueOf(map.get("couponType"))));
+ userCouponRecord.setCouponUseType(Integer.valueOf(String.valueOf(map.get("couponUseType"))));
+ userCouponRecord.setInsertTime(date);
+ userCouponRecord.setFullMoney(Double.valueOf(String.valueOf(map.get("fullMoney"))));
+ userCouponRecord.setMoney(Double.valueOf(String.valueOf(map.get("money"))));
+ userCouponRecord.setCompanyId(userInfo1.getCompanyId());
+ userCouponRecord.setUserId(uid);
+ userCouponRecordService.insert(userCouponRecord);
+ //修改剩余可发放总金额
+ lavePrice -= Double.valueOf(String.valueOf(map.get("money")));
+ num++;
+ fullMoney = userCouponRecord.getFullMoney();
+ }
+ UserActivityInvite uai = userActivityInviteMapper.selectById(Integer.valueOf(map.get("id").toString()));
+ uai.setLavePrice(new BigDecimal(lavePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ userActivityInviteMapper.updateById(uai);
+
+ if(ToolUtil.isNotEmpty(userInfo1.getEmail())){
+ String path1 = templatePath + "user/coupon.html";
+ Document document1 = Jsoup.parse(new File(path1), "UTF-8");
+ if(language == 1){
+ document1.getElementById("english").remove();
+ document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("优惠券到账");
+ Element chinese_user = document1.getElementById("chinese_user");
+ chinese_user.text("您好 " + userInfo1.getNickName() + ",");
+ Element chinese_number = document1.getElementById("chinese_number");
+ chinese_number.text("您有" + num + "张优惠券到账");
+ Element chinese_date = document1.getElementById("chinese_date");
+ chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
+ Element chinese_remark = document1.getElementById("chinese_remark");
+ chinese_remark.text("注意:满减活动,每单消费至少GHS " + fullMoney + ",才可享用。");
+ }
+ if(language == 2){
+ document1.getElementById("chinese").remove();
+ document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("Coupon is in");
+ Element english_user = document1.getElementById("english_user");
+ english_user.text("Hello " + userInfo1.getNickName() + ",");
+ Element english_number = document1.getElementById("english_number");
+ english_number.text("You have received " + num + " coupons");
+ Element english_date = document1.getElementById("english_date");
+ english_date.text("You could use them from " + startTime + " to " + endTime);
+ Element english_remark = document1.getElementById("english_remark");
+ english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + fullMoney + " per ride.");
+ }
+ if(language == 3){
+ document1.getElementById("chinese").remove();
+ document1.getElementById("english").remove();
+ document1.getElementsByTag("title").get(0).text("Le coupon est arrivé sur le compte");
+ Element french_user = document1.getElementById("french_user");
+ french_user.text("Cher(ère) " + userInfo1.getNickName() + ",");
+ Element french_number = document1.getElementById("french_number");
+ french_number.text("Vous avez reçu " + num + " coupons.");
+ Element french_date = document1.getElementById("french_date");
+ french_date.text("Vous devriez les utiliser du" + startTime + " au " + endTime + ", voir le détail sur la plate-forme I-GO.");
+ Element french_remark = document1.getElementById("french_remark");
+ french_remark.text("Remarque! Le coupon n'est valable que pour le tarif d'au moins GHS " + fullMoney + " par trajet.");
+ }
+ EmailUtil.send(userInfo1.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", 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();
+
+ 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 is in" : "Le coupon est arrivé sur le compte");
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
+ }
+
+ }
+ }
+ }
+ }
+ return ResultUtil.success();
}
@@ -454,10 +911,10 @@
return ResultUtil.error(language == 1 ? "账号无效" : language == 2 ? "Invalid account" : "Compte non valide");
}
if(userInfo.getState() == 2){
- return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen." : "Le compte est gelé");
+ return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
}
if(!ShiroKit.md5(password, salt).equals(userInfo.getPassWord())){
- return ResultUtil.error(language == 1 ? "密码错误" : language == 2 ? "Password error" : "Mot de passe incorrect");
+ return ResultUtil.error(language == 1 ? "密码错误" : language == 2 ? "Wrong password" : "Mot de passe erroné");
}
//调用单点登录的逻辑
@@ -493,7 +950,7 @@
String phone=null;
if(type == 2){//小程序
if(ToolUtil.isEmpty(jscode)){
- return ResultUtil.error("微信登录请求失败,请重试");
+ return ResultUtil.error(language == 1 ? "微信登录请求失败,请重试" : language == 2 ? "WeChat login request failed, please try again." : "La demande de connexion WeChat a échoué, veuillez réessayer.");
}
Map<String, String> map = weChatUtil.code2Session(jscode);
openid = map.get("openid");
@@ -557,22 +1014,56 @@
if(1 == language){
document.getElementById("english").remove();
document.getElementById("french").remove();
+ document.getElementsByTag("title").get(0).text("注册成功");
Element user_chinese = document.getElementById("user_chinese");
user_chinese.text("您好 " + userInfo.getNickName() + ",");
}
if(2 == language){
document.getElementById("chinese").remove();
document.getElementById("french").remove();
+ document.getElementsByTag("title").get(0).text("Registered successfully");
Element user_english = document.getElementById("user_english");
user_english.text("Hello " + userInfo.getNickName() + ",");
}
if(3 == language){
document.getElementById("chinese").remove();
document.getElementById("english").remove();
+ document.getElementsByTag("title").get(0).text("Enregistré avec succès");
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());
+ EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", 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();
+
+ 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 ? "Registered successfully" : "Enregistré avec succès");
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
}
@@ -580,7 +1071,7 @@
}
if(userInfo.getState() == 2){
- return ResultUtil.error("账号被冻结");
+ return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
}
//调用单点登录的逻辑
@@ -601,9 +1092,20 @@
Date date = new Date();
for(Map<String, Object> map : query){
Double lavePrice = Double.valueOf(map.get("lavePrice").toString());
- String startTime = map.get("startTime").toString();
- String endTime = map.get("endTime").toString();
+ String startTime = "";
+ String endTime = "";
+ if(null != map.get("startTime")){
+ startTime = map.get("startTime").toString();
+ map.put("startTime", DateUtil.conversionFormat(language, startTime));
+ startTime = DateUtil.conversionFormat(language, startTime);
+ }
+ if(null != map.get("endTime")){
+ endTime = map.get("endTime").toString();
+ map.put("endTime", DateUtil.conversionFormat(language, endTime));
+ endTime = DateUtil.conversionFormat(language, endTime);
+ }
int num = 0;
+ double fullMoney = 0;
for(int i = Integer.valueOf(String.valueOf(map.get("totalNum"))); i > 0; i--){
//判断当前优惠券金额是否大于可发放剩余总金额
if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(lavePrice) > 0){
@@ -629,68 +1131,110 @@
//修改剩余可发放总金额
lavePrice -= Double.valueOf(String.valueOf(map.get("money")));
num++;
+ fullMoney = userCouponRecord.getFullMoney();
}
UserActivityInvite uai = userActivityInviteMapper.selectById(Integer.valueOf(map.get("id").toString()));
uai.setLavePrice(new BigDecimal(lavePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
userActivityInviteMapper.updateById(uai);
if(ToolUtil.isNotEmpty(userInfo.getEmail())){
- String path = templatePath + "user/coupon.html";
- Document document = Jsoup.parse(new File(path), "UTF-8");
+ String path1 = templatePath + "user/coupon.html";
+ Document document1 = Jsoup.parse(new File(path1), "UTF-8");
if(language == 1){
- document.getElementById("english").remove();
- document.getElementById("french").remove();
- Element chinese_user = document.getElementById("chinese_user");
+ document1.getElementById("english").remove();
+ document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("优惠券到账");
+ Element chinese_user = document1.getElementById("chinese_user");
chinese_user.text("您好 " + userInfo.getNickName() + ",");
- Element chinese_number = document.getElementById("chinese_number");
+ Element chinese_number = document1.getElementById("chinese_number");
chinese_number.text("您有" + num + "张优惠券到账");
- Element chinese_date = document.getElementById("chinese_date");
+ Element chinese_date = document1.getElementById("chinese_date");
chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
+ Element chinese_remark = document1.getElementById("chinese_remark");
+ chinese_remark.text("注意:满减活动,每单消费至少GHS " + fullMoney + ",才可享用。");
}
if(language == 2){
- document.getElementById("chinese").remove();
- document.getElementById("french").remove();
- Element english_user = document.getElementById("english_user");
+ document1.getElementById("chinese").remove();
+ document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("Coupon is in");
+ Element english_user = document1.getElementById("english_user");
english_user.text("Hello " + userInfo.getNickName() + ",");
- Element english_number = document.getElementById("english_number");
+ Element english_number = document1.getElementById("english_number");
english_number.text("You have received " + num + " coupons");
- Element english_date = document.getElementById("english_date");
- english_date.text("You could use them from" + startTime + "to" + endTime);
+ Element english_date = document1.getElementById("english_date");
+ english_date.text("You could use them from " + startTime + " to " + endTime);
+ Element english_remark = document1.getElementById("english_remark");
+ english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + fullMoney + " per ride.");
}
if(language == 3){
- 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");
- french_number.text("Vous avez " + num + " coupons à recevoir");
- Element french_date = document.getElementById("french_date");
- french_date.text("Cette promotion est valide du" + startTime + "au" + endTime);
+ document1.getElementById("chinese").remove();
+ document1.getElementById("english").remove();
+ document1.getElementsByTag("title").get(0).text("Le coupon est arrivé sur le compte");
+ Element french_user = document1.getElementById("french_user");
+ french_user.text("Cher(ère) " + userInfo.getNickName() + ",");
+ Element french_number = document1.getElementById("french_number");
+ french_number.text("Vous avez reçu " + num + " coupons.");
+ Element french_date = document1.getElementById("french_date");
+ french_date.text("Vous devriez les utiliser du" + startTime + " au " + endTime + ", voir le détail sur la plate-forme I-GO.");
+ Element french_remark = document1.getElementById("french_remark");
+ french_remark.text("Remarque! Le coupon n'est valable que pour le tarif d'au moins GHS " + fullMoney + " par trajet.");
}
- EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive", document.html());
+
+ EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", 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();
+
+ 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 is in" : "Le coupon est arrivé sur le compte");
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
}
}
}
return ResultUtil.success(loginWarpper);
}
@Override
- public ResultUtil<LoginWarpper> wxIsLogin(String jscode) throws Exception {
+ public ResultUtil<LoginWarpper> wxIsLogin(Integer language, String jscode) throws Exception {
UserInfo userInfo = null;
String phone=null;
if(ToolUtil.isEmpty(jscode)){
- return ResultUtil.error("微信登录请求失败,请重试");
+ return ResultUtil.error(language == 1 ? "微信登录请求失败,请重试" : language == 2 ? "WeChat login request failed, please try again." : "La demande de connexion WeChat a échoué, veuillez réessayer.");
}
Map<String, String> map = weChatUtil.code2Session(jscode);
String openid = map.get("openid");
String unionid = map.get("unionid");
userInfo = userInfoMapper.queryByOpenid2(openid);
if(null==userInfo){
- return ResultUtil.getResult(2000,"微信登录请求失败,请重试");
+ return ResultUtil.getResult(2000,language == 1 ? "微信登录请求失败,请重试" : language == 2 ? "WeChat login request failed, please try again." : "La demande de connexion WeChat a échoué, veuillez réessayer.");
}
if(userInfo.getState() == 2){
- return ResultUtil.error("账号被冻结");
+ return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
}
//调用单点登录的逻辑
@@ -710,8 +1254,13 @@
@Override
- public ResultUtil facebookLogin(String id, String name, String email, Double lat, Double lng, Integer uid, Integer language) throws Exception {
- UserInfo userInfo = this.selectOne(new EntityWrapper<UserInfo>().eq("faceBookId", id).ne("flag", 3));
+ public ResultUtil facebookLogin(String id, String name, String email, Double lat, Double lng, Integer uid, Integer language,int type) throws Exception {
+ UserInfo userInfo=null;
+ if(type==1){
+ userInfo = this.selectOne(new EntityWrapper<UserInfo>().eq("faceBookId", id).ne("flag", 3));
+ }else {
+ userInfo = this.selectOne(new EntityWrapper<UserInfo>().eq("twitterId", id).ne("flag", 3));
+ }
if(null == userInfo){
userInfo = new UserInfo();
userInfo.setEmail(email);
@@ -721,7 +1270,11 @@
userInfo.setBalance(0D);
userInfo.setIntegral(0);
userInfo.setPassWord(ShiroKit.md5("", salt));
- userInfo.setFaceBookId(id);
+ if(type==1){
+ userInfo.setFaceBookId(id);
+ }else {
+ userInfo.setTwitterId(id);
+ }
userInfo.setState(1);
userInfo.setFlag(1);
userInfo.setInsertTime(new Date());
@@ -759,30 +1312,62 @@
if(1 == language){
document.getElementById("english").remove();
document.getElementById("french").remove();
+ document.getElementsByTag("title").get(0).text("注册成功");
Element user_chinese = document.getElementById("user_chinese");
user_chinese.text("您好 " + userInfo.getNickName() + ",");
}
if(2 == language){
document.getElementById("chinese").remove();
document.getElementById("french").remove();
+ document.getElementsByTag("title").get(0).text("Registered successfully");
Element user_english = document.getElementById("user_english");
user_english.text("Hello " + userInfo.getNickName() + ",");
}
if(3 == language){
document.getElementById("chinese").remove();
document.getElementById("english").remove();
+ document.getElementsByTag("title").get(0).text("Enregistré avec succès");
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());
+ EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", 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();
+
+ 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 ? "Registered successfully" : "Enregistré avec succès");
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
}
-
-
this.addCoupon(userInfo, language);//添加优惠券
}
if(userInfo.getState() == 2){
- return ResultUtil.error("账号被冻结");
+ return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
}
//调用单点登录的逻辑
@@ -803,9 +1388,20 @@
Date date = new Date();
for(Map<String, Object> map : query){
Double lavePrice = Double.valueOf(map.get("lavePrice").toString());
- String startTime = map.get("startTime").toString();
- String endTime = map.get("endTime").toString();
+ String startTime = "";
+ String endTime = "";
+ if(null != map.get("startTime")){
+ startTime = map.get("startTime").toString();
+ map.put("startTime", DateUtil.conversionFormat(language, startTime));
+ startTime = DateUtil.conversionFormat(language, startTime);
+ }
+ if(null != map.get("endTime")){
+ endTime = map.get("endTime").toString();
+ map.put("endTime", DateUtil.conversionFormat(language, endTime));
+ endTime = DateUtil.conversionFormat(language, endTime);
+ }
int num = 0;
+ double fullMoney = 0;
for(int i = Integer.valueOf(String.valueOf(map.get("totalNum"))); i > 0; i--){
//判断当前优惠券金额是否大于可发放剩余总金额
if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(lavePrice) > 0){
@@ -831,45 +1427,86 @@
//修改剩余可发放总金额
lavePrice -= Double.valueOf(String.valueOf(map.get("money")));
num++;
+ fullMoney = userCouponRecord.getFullMoney();
}
UserActivityInvite uai = userActivityInviteMapper.selectById(Integer.valueOf(map.get("id").toString()));
uai.setLavePrice(new BigDecimal(lavePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
userActivityInviteMapper.updateById(uai);
if(ToolUtil.isNotEmpty(userInfo.getEmail())){
- String path = templatePath + "user/coupon.html";
- Document document = Jsoup.parse(new File(path), "UTF-8");
+ String path1 = templatePath + "user/coupon.html";
+ Document document1 = Jsoup.parse(new File(path1), "UTF-8");
if(language == 1){
- document.getElementById("english").remove();
- document.getElementById("french").remove();
- Element chinese_user = document.getElementById("chinese_user");
+ document1.getElementById("english").remove();
+ document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("优惠券到账");
+ Element chinese_user = document1.getElementById("chinese_user");
chinese_user.text("您好 " + userInfo.getNickName() + ",");
- Element chinese_number = document.getElementById("chinese_number");
+ Element chinese_number = document1.getElementById("chinese_number");
chinese_number.text("您有" + num + "张优惠券到账");
- Element chinese_date = document.getElementById("chinese_date");
+ Element chinese_date = document1.getElementById("chinese_date");
chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
+ Element chinese_remark = document1.getElementById("chinese_remark");
+ chinese_remark.text("注意:满减活动,每单消费至少GHS " + fullMoney + ",才可享用。");
}
if(language == 2){
- document.getElementById("chinese").remove();
- document.getElementById("french").remove();
- Element english_user = document.getElementById("english_user");
+ document1.getElementById("chinese").remove();
+ document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("Coupon is in");
+ Element english_user = document1.getElementById("english_user");
english_user.text("Hello " + userInfo.getNickName() + ",");
- Element english_number = document.getElementById("english_number");
+ Element english_number = document1.getElementById("english_number");
english_number.text("You have received " + num + " coupons");
- Element english_date = document.getElementById("english_date");
- english_date.text("You could use them from" + startTime + "to" + endTime);
+ Element english_date = document1.getElementById("english_date");
+ english_date.text("You could use them from " + startTime + " to " + endTime);
+ Element english_remark = document1.getElementById("english_remark");
+ english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + fullMoney + " per ride.");
}
if(language == 3){
- 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");
- french_number.text("Vous avez " + num + " coupons à recevoir");
- Element french_date = document.getElementById("french_date");
- french_date.text("Cette promotion est valide du" + startTime + "au" + endTime);
+ document1.getElementById("chinese").remove();
+ document1.getElementById("english").remove();
+ document1.getElementsByTag("title").get(0).text("Le coupon est arrivé sur le compte");
+ Element french_user = document1.getElementById("french_user");
+ french_user.text("Cher(ère) " + userInfo.getNickName() + ",");
+ Element french_number = document1.getElementById("french_number");
+ french_number.text("Vous avez reçu " + num + " coupons.");
+ Element french_date = document1.getElementById("french_date");
+ french_date.text("Vous devriez les utiliser du" + startTime + " au " + endTime + ", voir le détail sur la plate-forme I-GO.");
+ Element french_remark = document1.getElementById("french_remark");
+ french_remark.text("Remarque! Le coupon n'est valable que pour le tarif d'au moins GHS " + fullMoney + " par trajet.");
}
- EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive", document.html());
+ EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", 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();
+
+ 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 is in" : "Le coupon est arrivé sur le compte");
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
}
}
}
@@ -888,14 +1525,14 @@
public ResultUtil forgetPassword(String phone, String code, String password, Integer language) throws Exception {
UserInfo userInfo = this.queryByPhone(phone);
if(null == userInfo){
- return ResultUtil.error(language == 1 ? "手机号码未注册" : language == 2 ? "Cell phone number is not registered" : "Numéro de téléphone portable non enregistré");
+ return ResultUtil.error(language == 1 ? "手机号码未注册" : language == 2 ? "Mobile phone number was not registered." : "Le numéro de téléphone portable n’a pas été enregistré.");
}
boolean b = this.checkCaptcha(phone, code);
if(!b){
b = this.checkCaptcha(userInfo.getEmail(), code);
}
if(!b){
- return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
+ return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
}
if(userInfo.getState() == 2){
return ResultUtil.error(language == 1 ? "账号已被冻结" : language == 2 ? "The account has been frozen" : "Le compte a été gelé");
@@ -904,8 +1541,6 @@
userInfo.setUpdateUser(userInfo.getId());
userInfo.setUpdateTime(new Date());
this.updateById(userInfo);
-
- smsrecordService.saveData(3, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
return ResultUtil.success();
}
@@ -922,7 +1557,7 @@
public ResultUtil bindingPhone(Integer uid, String phoneOperator, String phone, String code, Integer language) throws Exception {
boolean b = this.checkCaptcha(phone, code);
if(!b){
- return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
+ return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
}
UserInfo userInfo = this.selectById(uid);
UserInfo userInfo1 = userInfoMapper.queryByPhone(phone);
@@ -974,8 +1609,6 @@
userInfo.setUpdateTime(new Date());
userInfo.setUpdateUser(userInfo.getId());
this.updateById(userInfo);
-
- smsrecordService.saveData(2, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
return ResultUtil.success(new LoginWarpper());
}
@@ -984,12 +1617,12 @@
public ResultUtil bindingEmail(Integer uid, Integer type, String email, String code, Integer language) throws Exception {
boolean b = this.checkCaptcha(email, code);
if(!b){
- return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
+ return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
}
UserInfo userInfo = this.selectById(uid);
UserInfo userInfo1 = userInfoMapper.queryByEmail(email);
if(null != userInfo1 && uid.compareTo(userInfo1.getId()) != 0){
- return ResultUtil.error(language == 1 ? "邮箱已被使用" : language == 2 ? "The mailbox is in use" : "La boîte mail a déjà été utilisée");
+ return ResultUtil.error(language == 1 ? "邮箱已被使用" : language == 2 ? "E-mail address is already in use." : "L’adresse e-mail est déjà utilisée.");
}
// if(null != userInfo1){
@@ -1078,8 +1711,13 @@
* @throws Exception
*/
@Override
- public Map<String, Object> queryUserInfo(Integer uid) throws Exception {
- return userInfoMapper.queryUserInfo(uid, null);
+ public Map<String, Object> queryUserInfo(Integer language, Integer uid) throws Exception {
+ Map<String, Object> map = userInfoMapper.queryUserInfo(uid, null);
+ if(null != map.get("birthday")){
+ String birthday = map.get("birthday").toString();
+ map.put("birthday", DateUtil.conversionFormat(language, birthday));
+ }
+ return map;
}
@@ -1090,8 +1728,13 @@
* @throws Exception
*/
@Override
- public Map<String, Object> queryUser(String phone) throws Exception {
- return userInfoMapper.queryUserInfo(null, phone);
+ public Map<String, Object> queryUser(Integer language, String phone) throws Exception {
+ Map<String, Object> map = userInfoMapper.queryUserInfo(null, phone);
+ if(null != map.get("birthday")){
+ String birthday = map.get("birthday").toString();
+ map.put("birthday", DateUtil.conversionFormat(language, birthday));
+ }
+ return map;
}
@@ -1120,7 +1763,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(language == 1 ? "支付金额必须大于0元" : language == 2 ? "Payment amount must be greater than zero." : "Le montant du paiement doit être supérieur à zéro.", "");
}
if(payType == 1){//手机支付
Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 1, money, "", 1);//添加预支付数据
@@ -1144,7 +1787,7 @@
}
if(payType == 2){//银行卡支付
- Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 1, money, "", 1);//添加预支付数据
+ Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 2, money, "", 1);//添加预支付数据
BankCard bankCard = bankCardService.selectById(bankCardId);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String merchantTransactionId = sdf.format(new Date()) + language + integer;
@@ -1179,12 +1822,12 @@
public ResultUtil updatePhone(String code, String phoneOperator, String phone, Integer uid, Integer language) throws Exception {
boolean b = this.checkCaptcha(phone, code);
if(!b){
- return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
+ return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
}
UserInfo userInfo = this.selectById(uid);
UserInfo userInfo1 = userInfoMapper.queryByPhone(phone);
if(null != userInfo1){
- return ResultUtil.error(language == 1 ? "手机号已被注册" : language == 2 ? "The phone number has been registered" : "Le numéro de téléphone a été enregistré");
+ return ResultUtil.error(language == 1 ? "手机号已被注册" : language == 2 ? "Mobile phone number has been registered." : "Le numéro de téléphone portable a été enregistré.");
}
userInfo.setPhoneOperator(phoneOperator);
userInfo.setPhone(phone);
@@ -1212,23 +1855,57 @@
if(1 == language){
document.getElementById("english").remove();
document.getElementById("french").remove();
+ document.getElementsByTag("title").get(0).text("重置密码");
Element user_chinese = document.getElementById("user_chinese");
user_chinese.text("您好 " + userInfo.getNickName() + ",");
}
if(2 == language){
document.getElementById("chinese").remove();
document.getElementById("french").remove();
+ document.getElementsByTag("title").get(0).text("Reset password");
Element user_chinese = document.getElementById("user_english");
user_chinese.text("Hello " + userInfo.getNickName() + ",");
}
if(3 == language){
document.getElementById("chinese").remove();
document.getElementById("english").remove();
+ document.getElementsByTag("title").get(0).text("Réinitialiser le mot de passe");
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();
+
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
}
return ResultUtil.success();
}
@@ -1261,7 +1938,7 @@
if(null != email){
String value = redisUtil.getValue(email);
if(ToolUtil.isEmpty(value) || code.equals(value)){
- return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
+ return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
}
userInfo.setEmail(email);
}
@@ -1327,13 +2004,24 @@
* @throws Exception
*/
public synchronized void addCoupon(Integer userId, Double money, Integer companyId, Integer paymentRecordId, Integer language) throws Exception{
- List<Map<String, Object>> query = userActivityBalanceService.query(money, companyId);
+ List<Map<String, Object>> query = userActivityBalanceService.query(language, money, companyId);
List<UserCouponRecord> list = new ArrayList<>();
for(Map<String, Object> map : query){
//添加通用优惠券
Double lavePrice = Double.valueOf(String.valueOf(map.get("lavePrice")));
- String startTime = map.get("startTime").toString();
- String endTime = map.get("endTime").toString();
+ String startTime = "";
+ String endTime = "";
+ if(null != map.get("startTime")){
+ startTime = map.get("startTime").toString();
+ map.put("startTime", DateUtil.conversionFormat(language, startTime));
+ startTime = DateUtil.conversionFormat(language, startTime);
+ }
+ if(null != map.get("endTime")){
+ endTime = map.get("endTime").toString();
+ map.put("endTime", DateUtil.conversionFormat(language, endTime));
+ endTime = DateUtil.conversionFormat(language, endTime);
+ }
+ double fullMoney = 0;
if(null != map.get("bcompanyId")){
for(int i = 0; i < Integer.valueOf(String.valueOf(map.get("generalNum"))); i++){
//判断当前发放的优惠券是否大于剩余总发放金额
@@ -1358,6 +2046,7 @@
userCouponRecord.setCouponActivityId(Integer.valueOf(String.valueOf(map.get("id"))));
userCouponRecord.setCouponId(Integer.valueOf(String.valueOf(map.get("bId"))));
list.add(userCouponRecord);
+ fullMoney = userCouponRecord.getFullMoney();
//开始修改剩余总发放金额
lavePrice -= Double.valueOf(String.valueOf(map.get("bmoney")));
}
@@ -1462,39 +2151,79 @@
UserInfo userInfo = userInfoMapper.selectById(userId);
if(ToolUtil.isNotEmpty(userInfo.getEmail())){
- String path = templatePath + "user/coupon.html";
- Document document = Jsoup.parse(new File(path), "UTF-8");
+ String path1 = templatePath + "user/coupon.html";
+ Document document1 = Jsoup.parse(new File(path1), "UTF-8");
if(language == 1){
- document.getElementById("english").remove();
- document.getElementById("french").remove();
- Element chinese_user = document.getElementById("chinese_user");
+ document1.getElementById("english").remove();
+ document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("优惠券到账");
+ Element chinese_user = document1.getElementById("chinese_user");
chinese_user.text("您好 " + userInfo.getNickName() + ",");
- Element chinese_number = document.getElementById("chinese_number");
+ Element chinese_number = document1.getElementById("chinese_number");
chinese_number.text("您有" + list.size() + "张优惠券到账");
- Element chinese_date = document.getElementById("chinese_date");
+ Element chinese_date = document1.getElementById("chinese_date");
chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
+ Element chinese_remark = document1.getElementById("chinese_remark");
+ chinese_remark.text("注意:满减活动,每单消费至少GHS " + fullMoney + ",才可享用。");
}
if(language == 2){
- document.getElementById("chinese").remove();
- document.getElementById("french").remove();
- Element english_user = document.getElementById("english_user");
+ document1.getElementById("chinese").remove();
+ document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("Coupon is in");
+ Element english_user = document1.getElementById("english_user");
english_user.text("Hello " + userInfo.getNickName() + ",");
- Element english_number = document.getElementById("english_number");
+ Element english_number = document1.getElementById("english_number");
english_number.text("You have received " + list.size() + " coupons");
- Element english_date = document.getElementById("english_date");
- english_date.text("You could use them from" + startTime + "to" + endTime);
+ Element english_date = document1.getElementById("english_date");
+ english_date.text("You could use them from " + startTime + " to " + endTime);
+ Element english_remark = document1.getElementById("english_remark");
+ english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + fullMoney + " per ride.");
}
if(language == 3){
- 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");
- french_number.text("Vous avez " + list.size() + " coupons à recevoir");
- Element french_date = document.getElementById("french_date");
- french_date.text("Cette promotion est valide du" + startTime + "au" + endTime);
+ document1.getElementById("chinese").remove();
+ document1.getElementById("english").remove();
+ document1.getElementsByTag("title").get(0).text("Le coupon est arrivé sur le compte");
+ Element french_user = document1.getElementById("french_user");
+ french_user.text("Cher(ère) " + userInfo.getNickName() + ",");
+ Element french_number = document1.getElementById("french_number");
+ french_number.text("Vous avez reçu " + list.size() + " coupons.");
+ Element french_date = document1.getElementById("french_date");
+ french_date.text("Vous devriez les utiliser du" + startTime + " au " + endTime + ", voir le détail sur la plate-forme I-GO.");
+ Element french_remark = document1.getElementById("french_remark");
+ french_remark.text("Remarque! Le coupon n'est valable que pour le tarif d'au moins GHS " + fullMoney + " par trajet.");
}
- EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive", document.html());
+ EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", 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();
+
+ 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 is in" : "Le coupon est arrivé sur le compte");
+ 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?"morning":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
}
}
}
@@ -1547,14 +2276,16 @@
*/
private synchronized void addCoupon(UserInfo userInfo, Integer language) throws Exception{
//添加优惠券
- List<Map<String, Object>> list = userActivityRegisteredService.query(userInfo.getCompanyId());
- int num = 0;
+ List<Map<String, Object>> list = userActivityRegisteredService.query(language, userInfo.getCompanyId());
+
for(Map<String, Object> map : list){
if(null != map){
Integer totalNum = Integer.valueOf(String.valueOf(map.get("totalNum")));
Double lavePrice = Double.valueOf(String.valueOf(map.get("lavePrice")));
String startTime = map.get("startTime").toString();
String endTime = map.get("endTime").toString();
+ double fullMoney = 0;
+ int num = 0;
for(int i = totalNum; i > 0; i--){
//判断当前发放的优惠券是否大于剩余可发送总金额
if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(lavePrice) > 0){
@@ -1587,44 +2318,84 @@
userActivityRegisteredService.updateById(uar);
if(ToolUtil.isNotEmpty(userInfo.getEmail())){
- String path = templatePath + "user/coupon.html";
- Document document = Jsoup.parse(new File(path), "UTF-8");
+ String path1 = templatePath + "user/coupon.html";
+ Document document1 = Jsoup.parse(new File(path1), "UTF-8");
if(language == 1){
- document.getElementById("english").remove();
- document.getElementById("french").remove();
- Element chinese_user = document.getElementById("chinese_user");
+ document1.getElementById("english").remove();
+ document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("优惠券到账");
+ Element chinese_user = document1.getElementById("chinese_user");
chinese_user.text("您好 " + userInfo.getNickName() + ",");
- Element chinese_number = document.getElementById("chinese_number");
+ Element chinese_number = document1.getElementById("chinese_number");
chinese_number.text("您有" + num + "张优惠券到账");
- Element chinese_date = document.getElementById("chinese_date");
+ Element chinese_date = document1.getElementById("chinese_date");
chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
+ Element chinese_remark = document1.getElementById("chinese_remark");
+ chinese_remark.text("注意:满减活动,每单消费至少GHS " + fullMoney + ",才可享用。");
}
if(language == 2){
- document.getElementById("chinese").remove();
- document.getElementById("french").remove();
- Element english_user = document.getElementById("english_user");
+ document1.getElementById("chinese").remove();
+ document1.getElementById("french").remove();
+ document1.getElementsByTag("title").get(0).text("Coupon is in");
+ Element english_user = document1.getElementById("english_user");
english_user.text("Hello " + userInfo.getNickName() + ",");
- Element english_number = document.getElementById("english_number");
+ Element english_number = document1.getElementById("english_number");
english_number.text("You have received " + num + " coupons");
- Element english_date = document.getElementById("english_date");
- english_date.text("You could use them from" + startTime + "to" + endTime);
+ Element english_date = document1.getElementById("english_date");
+ english_date.text("You could use them from " + startTime + " to " + endTime);
+ Element english_remark = document1.getElementById("english_remark");
+ english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + fullMoney + " per ride.");
}
if(language == 3){
- 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");
- french_number.text("Vous avez " + list.size() + " coupons à recevoir");
- Element french_date = document.getElementById("french_date");
- french_date.text("Cette promotion est valide du" + startTime + "au" + endTime);
+ document1.getElementById("chinese").remove();
+ document1.getElementById("english").remove();
+ document1.getElementsByTag("title").get(0).text("Le coupon est arrivé sur le compte");
+ Element french_user = document1.getElementById("french_user");
+ french_user.text("Cher(ère) " + userInfo.getNickName() + ",");
+ Element french_number = document1.getElementById("french_number");
+ french_number.text("Vous avez reçu " + num + " coupons.");
+ Element french_date = document1.getElementById("french_date");
+ french_date.text("Vous devriez les utiliser du" + startTime + " au " + endTime + ", voir le détail sur la plate-forme I-GO.");
+ Element french_remark = document1.getElementById("french_remark");
+ french_remark.text("Remarque! Le coupon n'est valable que pour le tarif d'au moins GHS " + fullMoney + " par trajet.");
}
- EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive", document.html());
+ EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", 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();
+
+ 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 is in" : "Le coupon est arrivé sur le compte");
+ 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":"matin");
+ }else {
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
+ }
+ emailService.insert(tEmail);
}
+
+ //添加系统消息
+ systemNoticeService.addSystemNotice(1, language == 1 ? "您已获得" + num + "张优惠券,点击查看" : language == 2 ? "You've got " + num + " coupon, click to view" : "Vous avez reçu " + num + " coupon, cliquez pour voir", userInfo.getId(), 2);
}
}
- //添加系统消息
- systemNoticeService.addSystemNotice(1, "您已获得" + num + "张优惠券,点击查看", userInfo.getId(), 2);
}
@@ -1633,7 +2404,6 @@
* @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