From 4d2e0ee30f94bee9a3e1298d068b194d52c92dc5 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期一, 04 九月 2023 09:48:42 +0800 Subject: [PATCH] 用户端 邮件中心 --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java | 184 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 176 insertions(+), 8 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 53c205f..5ff94df 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 @@ -9,6 +9,7 @@ import com.stylefeng.guns.core.support.HttpKit; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.model.BankCard; +import com.stylefeng.guns.modular.system.model.TEmail; import com.stylefeng.guns.modular.system.model.UserInfo; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.*; @@ -22,11 +23,16 @@ import org.jsoup.nodes.Element; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import java.io.File; +import java.io.*; import java.math.BigDecimal; import java.util.*; @@ -57,8 +63,14 @@ @Autowired private IBankCardService bankCardService; + @Autowired + private IOrderService orderService; + @Value("${spring.mail.template-path}") private String templatePath; + + @Autowired + private TEmailService emailService; @@ -209,30 +221,29 @@ String path = templatePath + "user/mainbox.html"; Document document = Jsoup.parse(new File(path), "UTF-8"); if(1 == language){ - document.getElementById("english").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("english").remove(); + document.getElementById("french").remove(); Element user_chinese = document.getElementById("user_chinese"); user_chinese.text("您好 " + nickName + ","); Element content_chinese = document.getElementById("content_chinese"); content_chinese.text(authCode); } if(2 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("french").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("french").remove(); Element user_chinese = document.getElementById("user_english"); user_chinese.text("Hello " + nickName + ","); Element content_chinese = document.getElementById("content_english"); content_chinese.text(authCode); } if(3 == language){ - document.getElementById("chinese").attr("style", "display: none;"); - document.getElementById("english").attr("style", "display: none;"); + document.getElementById("chinese").remove(); + document.getElementById("english").remove(); Element user_french = document.getElementById("user_french"); user_french.text("Bonjour " + 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()); } return ResultUtil.success(); @@ -272,6 +283,20 @@ if(phone.indexOf("233") < 0){ phone = "233" + phone; } + switch (phoneOperator){ + case "MTN": + phoneOperator = "GH-MTN-B2C"; + break; + case "TIGO": + phoneOperator = "GH-TIGO-B2C"; + break; + case "VODAFONE": + phoneOperator = "GH-VODAFONE-B2C"; + break; + case "AIRTEL": + phoneOperator = "GH-AIRTEL-B2C"; + break; + } return userInfoService.captchaLogin(phoneOperator, phone, code, registIp, lat, lng,null,null,null,language); }catch (Exception e){ e.printStackTrace(); @@ -306,6 +331,20 @@ } if(phone.indexOf("233") < 0){ phone = "233" + phone; + } + switch (phoneOperator){ + case "MTN": + phoneOperator = "GH-MTN-B2C"; + break; + case "TIGO": + phoneOperator = "GH-TIGO-B2C"; + break; + case "VODAFONE": + phoneOperator = "GH-VODAFONE-B2C"; + break; + case "AIRTEL": + phoneOperator = "GH-AIRTEL-B2C"; + break; } return userInfoService.captchaLogin(phoneOperator, phone, code, uid, type, userType, language); }catch (Exception e){ @@ -496,6 +535,20 @@ if(phone.indexOf("233") < 0){ phone = "233" + phone; } + switch (phoneOperator){ + case "MTN": + phoneOperator = "GH-MTN-B2C"; + break; + case "TIGO": + phoneOperator = "GH-TIGO-B2C"; + break; + case "VODAFONE": + phoneOperator = "GH-VODAFONE-B2C"; + break; + case "AIRTEL": + phoneOperator = "GH-AIRTEL-B2C"; + break; + } return userInfoService.bindingPhone(uid, phoneOperator, phone, code, language); }catch (Exception e){ e.printStackTrace(); @@ -525,6 +578,27 @@ return ResultUtil.runErr(); } } + + @ResponseBody + @PostMapping("/api/user/getEmailList") + @ApiOperation(value = "获取邮箱信息", tags = {"用户端-获取邮箱信息"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<?> getEmailList(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))); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + /** @@ -708,6 +782,20 @@ } if(phone.indexOf("233") < 0){ phone = "233" + phone; + } + switch (phoneOperator){ + case "MTN": + phoneOperator = "GH-MTN-B2C"; + break; + case "TIGO": + phoneOperator = "GH-TIGO-B2C"; + break; + case "VODAFONE": + phoneOperator = "GH-VODAFONE-B2C"; + break; + case "AIRTEL": + phoneOperator = "GH-AIRTEL-B2C"; + break; } return userInfoService.updatePhone(code, phoneOperator, phone, uid, language); }catch (Exception e){ @@ -991,6 +1079,39 @@ } + + @ResponseBody + @PostMapping("/base/user/queryOrderLicensePlate") + @ApiOperation(value = "获取报失也车牌等信息", tags = {"用户端-个人中心"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流,5=跨城小件物流)", name = "orderType", required = true, dataType = "int"), + @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), + }) + public ResultUtil queryOrderLicensePlate(Integer orderType, Integer orderId){ + try { + Map<String, Object> map = orderService.queryOrderLicensePlate(orderType, orderId); + return ResultUtil.success(map); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + + + @ResponseBody + @RequestMapping("/base/user/image") + public String image(@RequestPart("file") MultipartFile file) { + try { + String pictureName = OBSUploadUtil.inputStreamUpload(file); + return pictureName; + } catch (IOException e1) { + return null; + } + } + + + @ResponseBody @PostMapping("/api/user/queryBankCardList") @ApiOperation(value = "获取银行卡列表【1.1】", tags = {"用户端-个人中心"}, notes = "") @@ -1081,4 +1202,51 @@ return ResultUtil.runErr(); } } + + + /** + * 下载pdf + * @param orderId + * @param orderType + * @param response + */ + @ResponseBody + @GetMapping("/base/order/uploadReceiptPdf") + public void uploadReceiptPdf(Integer orderId, Integer orderType, HttpServletResponse response){ + FileInputStream fileInputStream = null; + ServletOutputStream outputStream = null; + try { + if(orderType == 1){ + fileInputStream = new FileInputStream(new File("/usr/local/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf")); + } + if(orderType == 4){ + fileInputStream = new FileInputStream(new File("/usr/local/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf")); + } + BufferedInputStream bf = new BufferedInputStream(fileInputStream); + outputStream = response.getOutputStream(); + response.setContentType(MediaType.APPLICATION_PDF_VALUE); + response.setHeader("content-Disposition","attachment;filename=" + (orderId + "_" + orderType + ".pdf")); + byte[] b = new byte[bf.available() + 1000]; + int i; + while((i=bf.read(b))!=-1){ + outputStream.write(b,0, i); + } + outputStream.flush(); + outputStream.close(); + fileInputStream.close(); + }catch (Exception e){ + e.printStackTrace(); + }finally { + try { + if(null != outputStream){ + outputStream.close(); + } + if(null != fileInputStream){ + fileInputStream.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + } } -- Gitblit v1.7.1