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 | 1522 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 1,311 insertions(+), 211 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 0a412e6..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,13 +9,16 @@
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.*;
+import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
+import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil;
+import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo;
+import com.stylefeng.guns.modular.system.util.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;
@@ -25,13 +28,21 @@
import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
import org.apache.shiro.crypto.hash.Md5Hash;
import org.apache.shiro.util.ByteSource;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
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.*;
@@ -80,6 +91,9 @@
@Resource
private DriverActivityRegisteredMapper driverActivityRegisteredMapper;
+ @Resource
+ private DriverActivityHistoryMapper driverActivityHistoryMapper;
+
@Autowired
private IIncomeService incomeService;
@@ -90,18 +104,24 @@
private ISystemNoticeService systemNoticeService;
@Autowired
- private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
+ private PayMoneyUtil payMoneyUtil;
@Autowired
- private PayMoneyUtil payMoneyUtil;
+ private IBankCardService bankCardService;
@Value("${callbackPath}")
private String callbackPath;
- @Value("${pushMinistryOfTransport}")
- private boolean pushMinistryOfTransport;
+ @Value("${spring.mail.template-path}")
+ private String templatePath;
private String salt = "&a.s";
+
+ @Autowired
+ private SMSUtil smsUtil;
+
+ @Autowired
+ private TEmailService emailService;
/**
@@ -110,7 +130,7 @@
* @return
*/
@Override
- public ResultUtil queryCaptcha(String phone, Integer type) throws Exception {
+ public ResultUtil queryCaptcha(String phone, Integer type, Integer language) throws Exception {
Random random = new Random();
Object value = redisUtil.getValue(phone);
if(value==null){
@@ -119,36 +139,24 @@
sb.append((int) (random.nextDouble() * 10));
}
String authCode = sb.toString();
- String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!";
+ String sms = "";
//发送验证码短信
redisUtil.setStrValue(phone, authCode, 5 * 60);//设置五分钟过期
- String templateCode = "";
- switch (type){
+ switch (language){
case 1:
- templateCode = "SMS_207770039";//身份验证
+ sms = "您的验证码为:" + authCode + ",该验证码5分钟内有效,请勿泄漏于他人!";
break;
case 2:
- templateCode = "SMS_207770039";//登录确认
+ sms = "Your verification code is " + authCode + ",it is valid within 5 minutes, please do not reveal it to others.";
break;
case 3:
- templateCode = "SMS_207770039";//用户注册
- break;
- case 4:
- templateCode = "SMS_207770039";//修改密码
+ 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;
}
- /*String sData = aLiSendSms.sendSms(phone, templateCode, "{\"code\":\"" + authCode + "\"}");
- JSONObject jsonObject = JSON.parseObject(sData);
- String message = jsonObject.getString("Message");
- if(!"OK".equals(message)){
- System.err.println(message);
- return ResultUtil.error(message);
- }*/
- System.out.println(sms);
+ 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;
}
@@ -183,15 +192,17 @@
* @return
*/
@Override
- public ResultUtil<LoginWarpper> captchaLogin(String phone, String code, String registIp, String registAreaCode,Integer uid,Integer type, Integer userType) throws Exception {
+ public ResultUtil<LoginWarpper> captchaLogin(String phoneOperator, String phone, String code, String registIp, Double lat, Double lng,Integer uid,Integer type,
+ Integer userType, Integer language) throws Exception {
boolean b = this.checkCaptcha(phone, code);
if(!b){
- return ResultUtil.error("验证码无效");
+ return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
}
UserInfo userInfo = userInfoMapper.queryByPhone(phone);
if(null == userInfo){
userInfo = new UserInfo();
+ userInfo.setPhoneOperator(phoneOperator);
userInfo.setPhone(phone);
userInfo.setPassWord(ShiroKit.md5("", salt));
userInfo.setNickName(this.getDefaultName());
@@ -202,10 +213,16 @@
userInfo.setState(1);
//用户所属企业
- if(null != registAreaCode){
- Company query = companyCityService.query(registAreaCode);
+ if(null != lat && null != lng){
+ ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lat);
+ AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos();
+ String[] citys = new String[addressComponentsVos.length];
+ for (int i = 0; i < addressComponentsVos.length; i++) {
+ citys[i] = addressComponentsVos[i].getLongName();
+ }
+ Company query = companyCityService.query(citys);
userInfo.setCompanyId(null != query ? query.getId() : null);
- userInfo.setRegistAreaCode(registAreaCode);
+ userInfo.setRegistAreaCode(null);
}else{
userInfo.setCompanyId(1);
}
@@ -222,7 +239,65 @@
this.insert(userInfo);
- this.addCoupon(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);
@@ -238,13 +313,113 @@
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){
@@ -269,27 +444,95 @@
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);
+ }
+
}
}
}
- UserInfo finalUserInfo = userInfo;
- new Thread(new Runnable() {
- @Override
- public void run() {
- if(pushMinistryOfTransport){
- //上传数据
- pushMinistryOfTransportUtil.baseInfoPassenger(finalUserInfo.getId());
- }
- }
- }).start();
-
}
if(userInfo.getState() == 2){
- return ResultUtil.error("账号被冻结");
+ return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
}
//调用单点登录的逻辑
@@ -302,16 +545,350 @@
loginWarpper.setAppid(UUIDUtil.getRandomCode());
loginWarpper.setEmergencyContact(userInfo.getEmergencyContact());
loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber());
-
- smsrecordService.saveData(1, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
+ loginWarpper.setEmail(userInfo.getEmail());
return ResultUtil.success(loginWarpper);
}
- @Override
- public synchronized ResultUtil<LoginWarpper> captchaLogin(String phone, String code, Integer uid, Integer type, Integer userType) throws Exception {
- ResultUtil<LoginWarpper> resultUtil = this.captchaLogin(phone, code, null, null,uid,type,userType);
- return resultUtil;
+
+ @Override
+ public synchronized ResultUtil<LoginWarpper> captchaLogin(String phoneOperator, String phone, String code, Integer uid, Integer type, Integer userType, Integer language) throws Exception {
+ 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();
}
@@ -335,16 +912,16 @@
* @throws Exception
*/
@Override
- public ResultUtil<LoginWarpper> userLogin(String phone, String password) throws Exception {
+ public ResultUtil<LoginWarpper> userLogin(String phone, String password, Integer language) throws Exception {
UserInfo userInfo = this.queryByPhone(phone);
if(null == userInfo){
- return ResultUtil.error("账号无效");
+ return ResultUtil.error(language == 1 ? "账号无效" : language == 2 ? "Invalid account" : "Compte non valide");
}
if(userInfo.getState() == 2){
- return ResultUtil.error("账号被冻结");
+ 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("密码错误");
+ return ResultUtil.error(language == 1 ? "密码错误" : language == 2 ? "Wrong password" : "Mot de passe erroné");
}
//调用单点登录的逻辑
@@ -355,6 +932,7 @@
loginWarpper.setId(userInfo.getId());
loginWarpper.setToken(token);
loginWarpper.setAppid(UUIDUtil.getRandomCode());
+ loginWarpper.setEmail(userInfo.getEmail());
loginWarpper.setEmergencyContact(userInfo.getEmergencyContact());
loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber());
return ResultUtil.success(loginWarpper);
@@ -373,12 +951,13 @@
*/
@Override
public ResultUtil<LoginWarpper> wxLogin(Integer type, String openid, String unionid, String jscode, String registIp,
- String registAreaCode, Integer sex, String nickName, String avatar,String loginType,String encryptedData, String iv,Integer uid) throws Exception {
+ String registAreaCode, Integer sex, String nickName, String avatar,String loginType,
+ String encryptedData, String iv,Integer uid, Integer language) throws Exception {
UserInfo userInfo = null;
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");
@@ -433,29 +1012,73 @@
userInfo.setConsumption(0D);
userInfo.setBalance(0D);
userInfo.setState(1);
- //用户所属企业
- if(null != registAreaCode){
- Company query = companyCityService.query(registAreaCode);
- userInfo.setCompanyId(null != query ? query.getId() : null);
- userInfo.setRegistAreaCode(registAreaCode);
- }
+ userInfo.setCompanyId(1);
this.insert(userInfo);
- this.addCoupon(userInfo);//添加优惠券
-
- UserInfo finalUserInfo = userInfo;
- new Thread(new Runnable() {
- @Override
- public void run() {
- if(pushMinistryOfTransport){
- //上传数据
- pushMinistryOfTransportUtil.baseInfoPassenger(finalUserInfo.getId());
- }
+ 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() + ",");
}
- }).start();
+ 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(userInfo.getState() == 2){
- return ResultUtil.error("账号被冻结");
+ return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
}
//调用单点登录的逻辑
@@ -467,7 +1090,7 @@
loginWarpper.setToken(token);
loginWarpper.setAppid(UUIDUtil.getRandomCode());
loginWarpper.setPhone(ToolUtil.isNotEmpty(userInfo.getPhone()) ? 2 : 1);
- loginWarpper.setEmail(ToolUtil.isNotEmpty(userInfo.getEmail()) ? 2 : 1);
+ loginWarpper.setEmail(userInfo.getEmail());
loginWarpper.setEmergencyContact(userInfo.getEmergencyContact());
loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber());
if(uid!=null){
@@ -476,6 +1099,20 @@
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){
@@ -500,32 +1137,111 @@
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(userInfo.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("您好 " + userInfo.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 " + userInfo.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) " + 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 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é");
}
//调用单点登录的逻辑
@@ -537,7 +1253,7 @@
loginWarpper.setToken(token);
loginWarpper.setAppid(UUIDUtil.getRandomCode());
loginWarpper.setPhone(ToolUtil.isNotEmpty(userInfo.getPhone()) ? 2 : 1);
- loginWarpper.setEmail(ToolUtil.isNotEmpty(userInfo.getEmail()) ? 2 : 1);
+ loginWarpper.setEmail(userInfo.getEmail());
loginWarpper.setEmergencyContact(userInfo.getEmergencyContact());
loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber());
return ResultUtil.success(loginWarpper);
@@ -545,8 +1261,13 @@
@Override
- public ResultUtil facebookLogin(String id, String name, String email, String registAreaCode, Integer uid) 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);
@@ -556,7 +1277,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());
@@ -572,29 +1297,84 @@
userInfo.setuType(1);
}
//用户所属企业
- if(null != registAreaCode){
- Company query = companyCityService.query(registAreaCode);
- userInfo.setCompanyId(null != query ? query.getId() : null);
- userInfo.setRegistAreaCode(registAreaCode);
+ if(null != lat && null != lng){
+ ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lng);
+ if(null != reverseGeocode){
+ AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos();
+ String[] citys = new String[addressComponentsVos.length];
+ for (int i = 0; i < addressComponentsVos.length; i++) {
+ citys[i] = addressComponentsVos[i].getLongName();
+ }
+ Company query = companyCityService.query(citys);
+ userInfo.setCompanyId(null != query ? query.getId() : null);
+ userInfo.setRegistAreaCode(null);
+ }
+
}
this.insert(userInfo);
- this.addCoupon(userInfo);//添加优惠券
-
- UserInfo finalUserInfo = userInfo;
- new Thread(new Runnable() {
- @Override
- public void run() {
- if(pushMinistryOfTransport){
- //上传数据
- pushMinistryOfTransportUtil.baseInfoPassenger(finalUserInfo.getId());
- }
+ 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() + ",");
}
- }).start();
+ 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(userInfo.getState() == 2){
- return ResultUtil.error("账号被冻结");
+ return ResultUtil.error(language == 1 ? "账号被冻结" : language == 2 ? "Account is frozen" : "Le compte est gelé");
}
//调用单点登录的逻辑
@@ -606,7 +1386,7 @@
loginWarpper.setToken(token);
loginWarpper.setAppid(UUIDUtil.getRandomCode());
loginWarpper.setPhone(ToolUtil.isNotEmpty(userInfo.getPhone()) ? 2 : 1);
- loginWarpper.setEmail(ToolUtil.isNotEmpty(userInfo.getEmail()) ? 2 : 1);
+ loginWarpper.setEmail(userInfo.getEmail());
loginWarpper.setEmergencyContact(userInfo.getEmergencyContact());
loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber());
if(uid!=null){
@@ -615,6 +1395,20 @@
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){
@@ -639,10 +1433,88 @@
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(userInfo.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("您好 " + userInfo.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 " + userInfo.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) " + 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 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);
@@ -657,24 +1529,25 @@
* @throws Exception
*/
@Override
- public ResultUtil forgetPassword(String phone, String code, String password) throws Exception {
- boolean b = this.checkCaptcha(phone, code);
- if(!b){
- return ResultUtil.error("验证码无效");
- }
+ public ResultUtil forgetPassword(String phone, String code, String password, Integer language) throws Exception {
UserInfo userInfo = this.queryByPhone(phone);
if(null == userInfo){
- return ResultUtil.error("手机号码未注册");
+ 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" : "CAPTCHA non valide");
}
if(userInfo.getState() == 2){
- return ResultUtil.error("账号已被冻结");
+ return ResultUtil.error(language == 1 ? "账号已被冻结" : language == 2 ? "The account has been frozen" : "Le compte a été gelé");
}
userInfo.setPassWord(ShiroKit.md5(password, salt));
userInfo.setUpdateUser(userInfo.getId());
userInfo.setUpdateTime(new Date());
this.updateById(userInfo);
-
- smsrecordService.saveData(3, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
return ResultUtil.success();
}
@@ -688,10 +1561,10 @@
* @throws Exception
*/
@Override
- public ResultUtil bindingPhone(Integer uid, String phone, String code) throws Exception {
+ 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("验证码无效");
+ return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
}
UserInfo userInfo = this.selectById(uid);
UserInfo userInfo1 = userInfoMapper.queryByPhone(phone);
@@ -734,78 +1607,34 @@
loginWarpper.setToken(token);
loginWarpper.setAppid(UUIDUtil.getRandomCode());
loginWarpper.setPhone(2);
- loginWarpper.setEmail(2);
+ loginWarpper.setEmail(userInfo1.getEmail());
return ResultUtil.success(loginWarpper);
}
+ userInfo.setPhoneOperator(phoneOperator);
userInfo.setPhone(phone);
userInfo.setUpdateTime(new Date());
userInfo.setUpdateUser(userInfo.getId());
this.updateById(userInfo);
-
- smsrecordService.saveData(2, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
return ResultUtil.success(new LoginWarpper());
}
@Override
- public ResultUtil bindingEmail(Integer uid, Integer type, String email, String code) throws Exception {
+ 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("验证码无效");
+ 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){
- 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(2);
- return ResultUtil.success(loginWarpper);
+ if(null != userInfo1 && uid.compareTo(userInfo1.getId()) != 0){
+ return ResultUtil.error(language == 1 ? "邮箱已被使用" : language == 2 ? "E-mail address is already in use." : "L’adresse e-mail est déjà utilisée.");
}
-
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());
}
@@ -842,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;
}
@@ -854,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;
}
@@ -881,35 +1722,53 @@
* @throws Exception
*/
@Override
- public ResultUtil depositBalance(Integer payType, Double money, Integer uid, Integer type) throws Exception {
+ 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){//微信支付
+ if(payType == 1){//手机支付
Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 1, money, "", 1);//添加预支付数据
- //Map<String, String> map = icbcPayUtil.placeAnOrder(integer.toString(), 9, 5, uid.toString(), "余额充值", money, callbackPath + "/base/wxCancelUserBalance", uid.toString(), type, userInfo.getAppletsOpenId());
- ResultUtil resultUtil = payMoneyUtil.weixinpay("余额充值",integer.toString(),integer.toString(),money+"","/base/wxCancelUserBalance","JSAPI",userInfo.getAppletsOpenId());
- if(resultUtil.getCode()==200){
- PaymentRecord paymentRecord = paymentRecordService.selectById(integer);
- paymentRecordService.updateById(paymentRecord);
- return resultUtil;
- }else{
- return ResultUtil.error("获取支付信息失败", "");
- }
+
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+ String merchantTransactionId = sdf.format(new Date()) + language + integer;
+ CheckoutRequest checkoutRequest = new CheckoutRequest();
+ checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
+ checkoutRequest.setCustomerEmail(userInfo.getEmail());
+ checkoutRequest.setAccountNumber(userInfo.getPhone());
+ checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
+ checkoutRequest.setCustomerLastName(userInfo.getLastName());
+ checkoutRequest.setRequestAmount(money);
+ checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+ checkoutRequest.setRequestDescription("Account top-up");
+ checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance");
+ checkoutRequest.setPendingRedirectUrl("");
+ checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
+ checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
+ return TinggPayUtil.checkoutRequest(checkoutRequest);
}
- if(payType == 2){//支付宝支付
+
+ if(payType == 2){//银行卡支付
Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 2, money, "", 1);//添加预支付数据
- ResultUtil resultUtil = payMoneyUtil.alipay("余额充值","余额充值",integer.toString(),money+"","/base/aliCancelUserBalance");
- if(resultUtil.getCode()==200){
- PaymentRecord paymentRecord = paymentRecordService.selectById(integer);
- paymentRecordService.updateById(paymentRecord);
- return resultUtil;
- }else{
- return ResultUtil.error("获取支付信息失败", "");
- }
+ BankCard bankCard = bankCardService.selectById(bankCardId);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+ String merchantTransactionId = sdf.format(new Date()) + language + integer;
+ CheckoutRequest checkoutRequest = new CheckoutRequest();
+ checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
+ checkoutRequest.setCustomerEmail(userInfo.getEmail());
+ checkoutRequest.setAccountNumber(bankCard.getCode());
+ checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
+ checkoutRequest.setCustomerLastName(bankCard.getLastName());
+ checkoutRequest.setRequestAmount(money);
+ checkoutRequest.setMerchantTransactionId(merchantTransactionId);
+ checkoutRequest.setRequestDescription("Account top-up");
+ checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance");
+ checkoutRequest.setPendingRedirectUrl("");
+ checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
+ checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
+ return TinggPayUtil.checkoutRequest(checkoutRequest);
}
- return ResultUtil.success();
+ return ResultUtil.success("");
}
@@ -922,20 +1781,19 @@
* @throws Exception
*/
@Override
- public ResultUtil updatePhone(String code, String phone, Integer uid) throws Exception {
+ 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("验证码无效");
+ 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("手机号已被注册");
+ 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);
this.updateById(userInfo);
-
-// smsrecordService.saveData(2, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
return ResultUtil.success();
}
@@ -948,12 +1806,69 @@
* @throws Exception
*/
@Override
- public ResultUtil updatePass(String password, Integer uid) throws Exception {
+ public ResultUtil updatePass(String password, Integer uid, Integer language) throws Exception {
UserInfo userInfo = this.selectById(uid);
userInfo.setPassWord(ShiroKit.md5(password, salt));
this.updateById(userInfo);
- //发送邮件
- EmailUtil.getMimeMessage(userInfo.getEmail(), "修改密码", "");
+
+ if(ToolUtil.isNotEmpty(userInfo.getEmail())){
+ String path = templatePath + "user/passwordReset.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("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();
}
@@ -968,7 +1883,7 @@
* @throws Exception
*/
@Override
- public void updateInfo(String avatar, String nickname, Integer sex, Date birthday, Integer uid) throws Exception {
+ public ResultUtil updateInfo(String avatar, String nickname, Integer sex, Date birthday, String email, String code, String lastName, String firstName, Integer uid, Integer language) throws Exception {
UserInfo userInfo = this.selectById(uid);
if(ToolUtil.isNotEmpty(avatar)){
userInfo.setAvatar(avatar);
@@ -982,7 +1897,21 @@
if(null != birthday){
userInfo.setBirthday(birthday);
}
+ if(null != email){
+ String value = redisUtil.getValue(email);
+ if(ToolUtil.isEmpty(value) || code.equals(value)){
+ return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid CAPTCHA" : "CAPTCHA non valide");
+ }
+ userInfo.setEmail(email);
+ }
+ if(null != lastName){
+ userInfo.setLastName(lastName);
+ }
+ if(null != firstName){
+ userInfo.setFirstName(firstName);
+ }
this.updateById(userInfo);
+ return ResultUtil.success();
}
@@ -1002,16 +1931,15 @@
* 完成余额充值后的处理
* @param id 用户id
* @param order_id 工行订单id
- * @param type 支付类型(1=微信,2=支付宝)
* @throws Exception
*/
@Override
- public void payCancelUserBalance(Integer id, String order_id, Integer paymentRecordId, Integer type) throws Exception {
+ public void payCancelUserBalance(Integer id, String order_id, Integer paymentRecordId, Integer language) throws Exception {
PaymentRecord query = paymentRecordService.selectById(paymentRecordId);
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);
@@ -1020,10 +1948,10 @@
query.setState(2);
paymentRecordService.updateById(query);
- this.addCoupon(userInfo.getId(), query.getAmount(), userInfo.getCompanyId(), query.getId());//添加优惠券
+ this.addCoupon(userInfo.getId(), query.getAmount(), userInfo.getCompanyId(), query.getId(), language);//添加优惠券
}else{
- System.err.println("预支付数据异常(userId = " + id + ")");
+ System.err.println("预支付数据异常(paymentRecordId = " + paymentRecordId + ")");
}
}
@@ -1037,12 +1965,25 @@
* @param companyId
* @throws Exception
*/
- public synchronized void addCoupon(Integer userId, Double money, Integer companyId, Integer paymentRecordId) throws Exception{
- List<Map<String, Object>> query = userActivityBalanceService.query(money, companyId);
+ public synchronized void addCoupon(Integer userId, Double money, Integer companyId, Integer paymentRecordId, Integer language) throws Exception{
+ 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 = "";
+ 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++){
//判断当前发放的优惠券是否大于剩余总发放金额
@@ -1067,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")));
}
@@ -1167,6 +2109,84 @@
if(list.size() > 0){
userCouponRecordService.insertBatch(list);
+
+ UserInfo userInfo = userInfoMapper.selectById(userId);
+
+ if(ToolUtil.isNotEmpty(userInfo.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("您好 " + userInfo.getNickName() + ",");
+ Element chinese_number = document1.getElementById("chinese_number");
+ chinese_number.text("您有" + list.size() + "张优惠券到账");
+ 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 " + userInfo.getNickName() + ",");
+ Element english_number = document1.getElementById("english_number");
+ english_number.text("You have received " + list.size() + " 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) " + 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 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);
+ }
}
}
}
@@ -1179,7 +2199,7 @@
*/
public String getDefaultName(){
int num = this.selectCount(new EntityWrapper<UserInfo>().ne("flag", 3)) + 1000001;
- return "XW" + String.valueOf(num).substring(1);
+ return "IGO" + String.valueOf(num).substring(1);
}
@@ -1216,14 +2236,18 @@
* @param userInfo
* @throws Exception
*/
- private synchronized void addCoupon(UserInfo userInfo) throws Exception{
+ 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){
@@ -1254,10 +2278,86 @@
UserActivityRegistered uar = userActivityRegisteredService.selectById(Integer.valueOf(map.get("id").toString()));
uar.setLavePrice(new BigDecimal(lavePrice).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
userActivityRegisteredService.updateById(uar);
+
+ if(ToolUtil.isNotEmpty(userInfo.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("您好 " + userInfo.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 " + userInfo.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) " + 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 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);
}
--
Gitblit v1.7.1