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/api/UserInfoController.java | 163 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 145 insertions(+), 18 deletions(-)
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
index 94c967f..ee0750b 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -13,7 +13,12 @@
import com.stylefeng.guns.modular.system.model.UserInfo;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil;
+import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils;
import com.stylefeng.guns.modular.system.warpper.*;
+import com.stylefeng.guns.modular.taxi.model.TransactionDetails;
+import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService;
+import com.stylefeng.guns.modular.taxi.service.ITransactionDetailsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -21,6 +26,7 @@
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
@@ -34,6 +40,7 @@
import javax.servlet.http.HttpSession;
import java.io.*;
import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -71,6 +78,13 @@
@Autowired
private TEmailService emailService;
+ @Autowired
+ private ITransactionDetailsService transactionDetailsService;
+ @Autowired
+ private IPaymentRecordService paymentRecordService;
+
+ @Autowired
+ private FleetEngineUtil fleetEngineUtil;
@@ -127,7 +141,8 @@
@ApiImplicitParams({
@ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"),
@ApiImplicitParam(value = "图片验证码", name = "kaptcha", required = true, dataType = "String"),
- @ApiImplicitParam(value = "场景类型(1=身份验证,2=登录确认,3=用户注册,4=修改密码)", name = "type", required = true, dataType = "String")
+ @ApiImplicitParam(value = "场景类型(1=身份验证,2=登录确认,3=用户注册,4=修改密码)", name = "type", required = true, dataType = "String"),
+ @ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int")
})
public ResultUtil queryCaptcha(HttpServletRequest request,String phone, Integer type,String kaptcha, Integer language){
if(ToolUtil.isNotEmpty(phone)){
@@ -144,7 +159,7 @@
String code = redisUtil.getValue(phone+"_Code");
System.out.println("缓存中验证码为:"+code);
if (ToolUtil.isEmpty(kaptcha) || !kaptcha.equalsIgnoreCase(code)) {
- return ResultUtil.error(language == 1 ? "图形验证码错误" : language == 2 ? "The graphic verification code is incorrect" : "Code de vérification graphique incorrect");
+ return ResultUtil.error(language == 1 ? "图形验证码错误" : language == 2 ? "Wrong CAPTCHA" : "CAPTCHA erroné");
}
return userInfoService.queryCaptcha(phone, type, language);
}catch (Exception e){
@@ -195,7 +210,7 @@
Integer uid = userInfoService.getUserIdFormRedis(request);
if(ToolUtil.isEmpty(email)){
- return ResultUtil.error(language == 1 ? "邮箱不能为空" : language == 2 ? "The mailbox cannot be empty" : "L’email ne peut pas être vide");
+ return ResultUtil.error(language == 1 ? "邮箱不能为空" : language == 2 ? "E-mail address cannot be empty." : "L’adresse e-mail ne peut pas être vide.");
}
Random random = new Random();
@@ -226,6 +241,7 @@
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("您好 " + nickName + ",");
Element content_chinese = document.getElementById("content_chinese");
@@ -234,20 +250,54 @@
if(2 == language){
document.getElementById("chinese").remove();
document.getElementById("french").remove();
+ document.getElementsByTag("title").get(0).text("Verification code");
Element user_chinese = document.getElementById("user_english");
user_chinese.text("Hello " + nickName + ",");
- Element content_chinese = document.getElementById("content_english");
- content_chinese.text(authCode);
+ Element content_english = document.getElementById("content_english");
+ content_english.text(authCode);
}
if(3 == language){
document.getElementById("chinese").remove();
document.getElementById("english").remove();
+ document.getElementsByTag("title").get(0).text("Code de validation");
Element user_french = document.getElementById("user_french");
user_french.text("Bonjour " + nickName + ",");
Element content_french = document.getElementById("content_french");
content_french.text(authCode);
}
- EmailUtil.send(email, language == 1 ? "验证码" : language == 2 ? "Verification code" : "Code de vérification", document.html());
+ EmailUtil.send(email, language == 1 ? "邮箱验证" : language == 2 ? "Verification code" : "Code de validation", 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/mainbox_" + 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/mainbox_" + randomString + ".html";
+ TEmail tEmail = new TEmail();
+ tEmail.setLink(link);
+ tEmail.setUserId(uid);
+ tEmail.setType(1);
+ tEmail.setName(language == 1 ? "邮箱验证" : language == 2 ? "Verification code" : "Code de validation");
+ 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();
}catch (Exception e){
@@ -319,7 +369,8 @@
@ApiImplicitParam(value = "短信验证码", name = "code", required = true, dataType = "String"),
@ApiImplicitParam(value = "分享的用户id", name = "uid", required = true, dataType = "int"),
@ApiImplicitParam(value = "用户类型(1=用户,2=司机)", name = "type", required = true, dataType = "int"),
- @ApiImplicitParam(value = "注册类型(1=司机注册,2=用户注册)", name = "userType", required = true, dataType = "int")
+ @ApiImplicitParam(value = "注册类型(1=司机注册,2=用户注册)", name = "userType", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int")
})
public ResultUtil<LoginWarpper> captchaLogin_(String phoneOperator, String phone, String code, Integer uid, Integer type, Integer userType, Integer language){
try {
@@ -463,9 +514,9 @@
@ApiImplicitParams({
@ApiImplicitParam(value = "微信jscode(小程序登录上传)", name = "jscode", required = false, dataType = "String")
})
- public ResultUtil<LoginWarpper> wxIsLogin( String jscode){
+ public ResultUtil<LoginWarpper> wxIsLogin(Integer language, String jscode){
try {
- return userInfoService.wxIsLogin(jscode);
+ return userInfoService.wxIsLogin(language, jscode);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -593,13 +644,24 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<?> getEmailList(HttpServletRequest request){
+ public ResultUtil<List<EmailWarpper>> getEmailList(Integer language, HttpServletRequest request){
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- return ResultUtil.success(emailService.selectList(new EntityWrapper<TEmail>().eq("userId",uid).eq("type",1).orderBy("createTime",false)));
+ List<TEmail> tEmails = emailService.selectList(new EntityWrapper<TEmail>().eq("userId", uid).eq("type", 1).orderBy("createTime", false));
+ List<EmailWarpper> list = new ArrayList<>();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ for (TEmail tEmail : tEmails) {
+ EmailWarpper warpper = new EmailWarpper();
+ BeanUtils.copyProperties(tEmail, warpper);
+ warpper.setCreateTime(DateUtil.conversionFormat(language, sdf.format(tEmail.getCreateTime())));
+ int i = cn.hutool.core.date.DateUtil.dayOfWeek(tEmail.getCreateTime())-1;
+ warpper.setWeek(EmailUtil.getWeek(language,i));
+ list.add(warpper);
+ }
+ return ResultUtil.success(list);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -617,13 +679,13 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<UserInfoWarpper> queryUserInfo(HttpServletRequest request){
+ public ResultUtil<UserInfoWarpper> queryUserInfo(Integer language, HttpServletRequest request){
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- Map<String, Object> map = userInfoService.queryUserInfo(uid);
+ Map<String, Object> map = userInfoService.queryUserInfo(language, uid);
return ResultUtil.success(UserInfoWarpper.getUserInfoWarpper(map));
}catch (Exception e){
e.printStackTrace();
@@ -643,7 +705,7 @@
@ApiImplicitParam(value = "电话号码", name = "phone", required = true, dataType = "String"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<Object> queryUser(String phone){
+ public ResultUtil<Object> queryUser(Integer language, String phone){
try {
String substring = phone.substring(0, 1);
if("0".equals(substring)){
@@ -652,7 +714,7 @@
if(phone.indexOf("233") < 0){
phone = "233" + phone;
}
- Map<String, Object> map = userInfoService.queryUser(phone);
+ Map<String, Object> map = userInfoService.queryUser(language, phone);
if(null != map){
return ResultUtil.success(UserInfoWarpper.getUserInfoWarpper(map));
}
@@ -826,7 +888,6 @@
phone = "233" + phone;
}
UserInfo userInfo = userInfoService.selectById(uid);
- smsrecordService.saveData(4, userInfo.getPhone(), code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
boolean b = userInfoService.checkCaptcha(phone, code);
Map<String, Object> map = new HashMap<>();
map.put("ok", b ? 1 : 0);
@@ -848,6 +909,7 @@
@ApiOperation(value = "修改登录密码", tags = {"用户端-个人中心"}, notes = "")
@ApiImplicitParams({
@ApiImplicitParam(value = "新密码", name = "password", required = true, dataType = "string"),
+ @ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int"),
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
public ResultUtil updatePassword(String password, Integer language, HttpServletRequest request){
@@ -1146,11 +1208,11 @@
BigDecimal bigDecimal = new BigDecimal(code);
long max = Long.MAX_VALUE;
if(bigDecimal.compareTo(new BigDecimal(max)) >= 0){
- return ResultUtil.error(language == 1 ? "银行卡号格式错误" : language == 2 ? "The format of bank card number is incorrect" : "Format incorrect du numéro de carte bancaire");
+ return ResultUtil.error(language == 1 ? "银行卡号格式错误" : language == 2 ? "Format error of bank card" : "Erreur de format de la carte bancaire");
}
BankCard bankCard = bankCardService.selectOne(new EntityWrapper<BankCard>().eq("code", code));
if(null != bankCard){
- return ResultUtil.error(language == 1 ? "银行卡重复" : language == 2 ? "Duplicate bank card" : "Double carte bancaire");
+ return ResultUtil.error(language == 1 ? "银行卡重复" : language == 2 ? "Reduplication of bank card" : "Reduplication de la carte bancaire");
}
bankCard = new BankCard();
bankCard.setUserId(uid);
@@ -1179,6 +1241,48 @@
try {
bankCardService.deleteById(id);
return ResultUtil.success();
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
+ /**
+ * 用户查询充值记录
+ * @param request
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/api/user/queryRechargeRecord")
+ @ApiOperation(value = "用户查询充值记录", tags = {"用户端-个人中心"}, notes = "")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
+ @ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int"),
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil queryRechargeRecord(Integer pageNum, Integer size,Integer language,HttpServletRequest request){
+ try {
+ Integer uid = userInfoService.getUserIdFormRedis(request);
+ if(null == uid){
+ return ResultUtil.tokenErr();
+ }
+ RechargeRecordWarpper rechargeRecordWarpper = new RechargeRecordWarpper();
+ List<Map<String,Object>> paymentRecord = paymentRecordService.queryRechargeRecord(uid, pageNum, size);
+ for (Map<String, Object> map : paymentRecord) {
+ if(null != map.get("insertTime")){
+ String time = map.get("insertTime").toString();
+ map.put("insertTime", DateUtil.conversionFormat(language, time));
+ }
+ }
+ // 分装返回充值记录实体
+ List<TransactionDetailsWarpper> transactionDetailsWarpper = TransactionDetailsWarpper.getTransactionDetailsWarpper(paymentRecord);
+
+ // 查询充值金额总和
+ double sum = paymentRecordService.queryRechargeMoneySum(uid);
+ rechargeRecordWarpper.setSum(sum);
+ rechargeRecordWarpper.setTransactionDetailsWarpper(transactionDetailsWarpper);
+ return ResultUtil.success(rechargeRecordWarpper);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -1230,4 +1334,27 @@
}
}
}
+
+
+
+ @ResponseBody
+ @PostMapping("/api/user/getFleetEngineAuth")
+ @ApiOperation(value = "获取google地图授权token", tags = {"用户端-个人中心"}, notes = "")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+ })
+ public ResultUtil<Map<String, Object>> getFleetEngineAuth(HttpServletRequest request){
+ try {
+ Integer uid = userInfoService.getUserIdFormRedis(request);
+ if(null == uid){
+ return ResultUtil.tokenErr();
+ }
+ Map<String, Object> s = fleetEngineUtil.fleetEngineAuth(1, uid);
+ return ResultUtil.success(s);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
}
--
Gitblit v1.7.1