From 49e88798dcea0164f77c59f0be9eefdf67a3d228 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 17 七月 2024 15:03:10 +0800
Subject: [PATCH] 2.0bug修改
---
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java | 983 +++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 640 insertions(+), 343 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 7910fcd..80bb72f 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
@@ -9,10 +9,7 @@
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.core.util.JwtTokenUtil;
import com.stylefeng.guns.core.util.ToolUtil;
-import com.stylefeng.guns.modular.system.dao.DriverActivityRegisteredMapper;
-import com.stylefeng.guns.modular.system.dao.DriverMapper;
-import com.stylefeng.guns.modular.system.dao.UserActivityInviteMapper;
-import com.stylefeng.guns.modular.system.dao.UserInfoMapper;
+import com.stylefeng.guns.modular.system.dao.*;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
@@ -94,6 +91,9 @@
@Resource
private DriverActivityRegisteredMapper driverActivityRegisteredMapper;
+ @Resource
+ private DriverActivityHistoryMapper driverActivityHistoryMapper;
+
@Autowired
private IIncomeService incomeService;
@@ -148,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();
}
@@ -195,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);
@@ -244,22 +245,25 @@
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()){
@@ -274,35 +278,23 @@
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.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?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
-
}
this.addCoupon(userInfo, language);//添加优惠券
@@ -335,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");
@@ -350,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");
@@ -365,12 +359,13 @@
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()){
@@ -385,32 +380,21 @@
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.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?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -422,9 +406,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){
@@ -450,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());
@@ -461,34 +457,43 @@
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()){
@@ -503,32 +508,21 @@
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.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?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -538,7 +532,7 @@
}
}
if(userInfo.getState() == 2){
- return ResultUtil.error("账号被冻结");
+ return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
}
//调用单点登录的逻辑
@@ -552,15 +546,349 @@
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"))));
+ }
+ DriverActivityHistory dah = new DriverActivityHistory();
+ dah.setActivityId(Integer.valueOf(map.get("id").toString()));
+ dah.setDriverId(uid);
+ dah.setType(2);
+ DriverActivityHistory driverActivityHistory = driverActivityHistoryMapper.selectOne(dah);
+ driverActivityHistory.setCarryOut(2);
+ driverActivityHistoryMapper.updateById(driverActivityHistory);
+ }
+ 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();
}
@@ -590,10 +918,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é");
}
//调用单点登录的逻辑
@@ -629,7 +957,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");
@@ -693,22 +1021,25 @@
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()){
@@ -723,32 +1054,21 @@
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.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?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -758,7 +1078,7 @@
}
if(userInfo.getState() == 2){
- return ResultUtil.error("账号被冻结");
+ return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
}
//调用单点登录的逻辑
@@ -779,9 +1099,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){
@@ -807,45 +1138,56 @@
//修改剩余可发放总金额
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()){
@@ -857,35 +1199,24 @@
file.createNewFile();
}
FileWriter fileWriter = new FileWriter(file);
- fileWriter.write(document.html());
+ 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.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?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -894,23 +1225,23 @@
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é");
}
//调用单点登录的逻辑
@@ -988,22 +1319,25 @@
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()){
@@ -1018,32 +1352,21 @@
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.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?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -1051,7 +1374,7 @@
}
if(userInfo.getState() == 2){
- return ResultUtil.error("账号被冻结");
+ return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
}
//调用单点登录的逻辑
@@ -1072,9 +1395,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){
@@ -1100,45 +1434,55 @@
//修改剩余可发放总金额
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()){
@@ -1150,35 +1494,24 @@
file.createNewFile();
}
FileWriter fileWriter = new FileWriter(file);
- fileWriter.write(document.html());
+ 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.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?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -1199,14 +1532,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é");
@@ -1215,8 +1548,6 @@
userInfo.setUpdateUser(userInfo.getId());
userInfo.setUpdateTime(new Date());
this.updateById(userInfo);
-
- smsrecordService.saveData(3, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
return ResultUtil.success();
}
@@ -1233,7 +1564,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);
@@ -1285,8 +1616,6 @@
userInfo.setUpdateTime(new Date());
userInfo.setUpdateUser(userInfo.getId());
this.updateById(userInfo);
-
- smsrecordService.saveData(2, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
return ResultUtil.success(new LoginWarpper());
}
@@ -1295,64 +1624,17 @@
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){
-// userInfo1.setOpenId(userInfo.getOpenId());
-// userInfo1.setUnionid(userInfo.getUnionid());
-// userInfo1.setAppletsOpenId(userInfo.getAppletsOpenId());
-// userInfo1.setAvatar(userInfo.getAvatar());
-// userInfo1.setSex(userInfo.getSex());
-// userInfo1.setNickName(userInfo.getNickName());
-// this.updateById(userInfo1);
-//
-// this.deleteById(userInfo.getId());//删除原有数据
-// //还原之前账号领取的注册优惠券
-// List<UserCouponRecord> list = userCouponRecordService.selectList(new EntityWrapper<UserCouponRecord>().eq("userId", userInfo.getId()));
-// for(UserCouponRecord ucr : list){
-// if(ucr.getActivityType() == 1){//赠送
-//
-// }
-// if(ucr.getActivityType() == 2){//注册
-// UserActivityRegistered userActivityRegistered = userActivityRegisteredService.selectById(ucr.getCouponActivityId());
-// userActivityRegistered.setLaveNum(userActivityRegistered.getLaveNum() + 1);
-// userActivityRegistered.setLavePrice(userActivityRegistered.getLavePrice() + ucr.getMoney());
-// userActivityRegisteredService.updateById(userActivityRegistered);
-// }
-// if(ucr.getActivityType() == 3){//邀请
-//
-// }
-// if(ucr.getActivityType() == 4){//充值
-//
-// }
-// userCouponRecordService.deleteById(ucr.getId());
-// }
-//
-//
-// //获取新的token等数据
-// String token = this.getToken(userInfo1, "");
-// LoginWarpper loginWarpper = new LoginWarpper();
-// loginWarpper.setId(userInfo1.getId());
-// loginWarpper.setToken(token);
-// loginWarpper.setAppid(UUIDUtil.getRandomCode());
-// loginWarpper.setPhone(2);
-// loginWarpper.setEmail(userInfo1.getEmail());
-// return ResultUtil.success(loginWarpper);
-// }
-
userInfo.setEmail(email);
userInfo.setUpdateTime(new Date());
userInfo.setUpdateUser(userInfo.getId());
this.updateById(userInfo);
-// if(type == 1){//注册成功后发送邮件
-//// EmailUtil.getMimeMessage(email, "注册账户", "");
-// }
return ResultUtil.success(new LoginWarpper());
}
@@ -1389,8 +1671,15 @@
* @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));
+ }
+ Double sum = paymentRecordService.queryRechargeMoneySum(uid);
+ map.put("rechargeAmountSum",sum);
+ return map;
}
@@ -1401,8 +1690,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;
}
@@ -1431,7 +1725,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);//添加预支付数据
@@ -1455,7 +1749,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;
@@ -1490,12 +1784,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);
@@ -1523,18 +1817,21 @@
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() + ",");
}
@@ -1554,17 +1851,6 @@
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();
@@ -1577,9 +1863,9 @@
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");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -1614,7 +1900,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);
}
@@ -1653,7 +1939,7 @@
UserInfo userInfo = this.selectById(query.getUserId());
if(null != query){
//添加交易明细
- transactionDetailsService.saveData(Integer.valueOf(query.getUserId()), "余额充值", query.getAmount(), 2, 1, 1, 5, null);
+ transactionDetailsService.saveData(Integer.valueOf(query.getUserId()), "余额充值", query.getAmount(), 2, 1, 1, 5, paymentRecordId);
double v = new BigDecimal(userInfo.getBalance()).add(new BigDecimal(query.getAmount())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
userInfo.setBalance(v);
this.updateById(userInfo);
@@ -1680,13 +1966,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++){
//判断当前发放的优惠券是否大于剩余总发放金额
@@ -1711,6 +2008,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")));
}
@@ -1815,39 +2113,48 @@
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()){
@@ -1859,35 +2166,24 @@
file.createNewFile();
}
FileWriter fileWriter = new FileWriter(file);
- fileWriter.write(document.html());
+ 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(userInfo.getId());
tEmail.setType(1);
- tEmail.setName(language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive");
+ 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?"AM":"Dans la matinée");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
+ tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
}
emailService.insert(tEmail);
}
@@ -1942,14 +2238,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){
@@ -1982,39 +2280,48 @@
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()){
@@ -2026,41 +2333,31 @@
file.createNewFile();
}
FileWriter fileWriter = new FileWriter(file);
- fileWriter.write(document.html());
+ 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(userInfo.getId());
tEmail.setType(1);
- tEmail.setName(language == 1 ? "优惠券到账" : language == 2 ? "Coupon arrives" : "Le coupon arrive");
+ 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":"");
+ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin");
}else {
- tEmail.setAmOrPm(language==1?"下午":language==2?"Afternoon":"");
+ 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);
}
--
Gitblit v1.7.1