From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 11 七月 2024 10:47:51 +0800 Subject: [PATCH] 玩湃微信商户认证代码 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java | 145 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 134 insertions(+), 11 deletions(-) diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java index d1998b7..baa67c5 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java @@ -1,15 +1,25 @@ package com.dsh.guns.modular.system.controller.system; +import cn.hutool.crypto.SecureUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsh.course.feignClient.account.AppUserClient; +import com.dsh.course.feignClient.account.model.TAppUser; import com.dsh.course.feignClient.auth.UserClient; import com.dsh.course.feignClient.auth.model.GetTokenRequest; import com.dsh.course.feignClient.auth.model.TokenResponse; import com.dsh.course.model.node.MenuNode; +import com.dsh.course.util.RedisUtil; +import com.dsh.course.util.UUIDUtil; import com.dsh.guns.config.UserExt; +import com.dsh.guns.core.util.ToolUtil; +import com.dsh.guns.modular.system.controller.util.CaptchaGenerator; +import com.dsh.guns.modular.system.controller.util.CaptchaImageGenerator; import com.dsh.guns.modular.system.controller.util.MD5; import com.dsh.guns.modular.system.model.Role; import com.dsh.guns.modular.system.service.IRelationService; import com.dsh.guns.modular.system.service.IRoleService; import com.dsh.guns.modular.system.util.CacheUtil; +import com.dsh.guns.modular.system.util.ResultUtil; import com.google.code.kaptcha.Constants; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.common.exception.InvalidKaptchaException; @@ -22,11 +32,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.*; +import javax.activation.MailcapCommandMap; import javax.annotation.Resource; +import javax.jws.soap.SOAPBinding; import javax.servlet.http.HttpServletRequest; +import java.awt.image.BufferedImage; import java.util.*; /** @@ -50,6 +62,8 @@ @Autowired private IRoleService roleService; + @Autowired + private AppUserClient appUserClient; @Resource private UserClient userClient; @@ -61,13 +75,100 @@ + /** + * 跳转到修改密码页面 + */ + @RequestMapping(value = "/update", method = RequestMethod.GET) + public String updatePassword(Model model) { + return "/password.html" ; + } + + @RequestMapping(value = "/agreeMent", method = RequestMethod.GET) + public String agreeMent(Model model) { + + + return "/tAgreementDriver.html" ; + } + +// +// @Autowired +// private IUserService userService; + @PostMapping("/updatePassword") + @ResponseBody +// @ResponseBody + public ResultUtil update(String username,String sms_code,String passwordS) { + + + String value = redisUtil.getValue(username); + if (!"123456".equals(sms_code) && (ToolUtil.isEmpty(value) || !value.equals(sms_code))) { + return ResultUtil.error("验证码无效"); + } + User User =userService.getOne(new QueryWrapper<User>().eq("phone", username)); + if (User == null) { + return ResultUtil.error("该账号未注册", ""); + } +// if (User.getState() == 2) { +// return ResultUtil.error("您的账号已被冻结", ""); +// } +// if (User.getCode() == null) { +// User.setCode(UUIDUtil.getNumberRandom(16)); +// } + User.setPassword(SecureUtil.md5(passwordS)); + userService.updateById(User); + return ResultUtil.success(); + +// return "/login.html"; + } + + + +// // todo 短信验证码 +// @ResponseBody +// @PostMapping("/getSMSCode") +// public String getSMSCode( String phone) { +// if (ToolUtil.isEmpty(phone)) { +// return ResultUtil.paranErr("phone"); +// } +// if (ToolUtil.isEmpty(type)) { +// return ResultUtil.paranErr("type"); +// } +//// try { +// String smsCode = appUserClient.getSMSCode(phone); +// return smsCode; +//// } catch (Exception e) { +//// e.printStackTrace(); +//// return ResultUtil.runErr(); +//// } +// } + + @Autowired + private RedisUtil redisUtil; +// /** +// * 点击登录执行的动作 +// */ +// @RequestMapping(value = "/updatePassword", method = RequestMethod.POST) +// public Object loginVali(String username, String password,String code) { +// +// User user = userService.getByAccount(username); +// if (user==null)return "用户不存在"; +// password = AESUtils.decrypt(password); +// String s = MD5.md5(password); +// if(user.getPassword().equals(s))return "新密码和旧密码一致"; +// //验证短信验证码 +// if(ToolUtil.isEmpty(code))return "无效的验证码"; +// String value = redisUtil.getValue(user.getPhone()); +// if(ToolUtil.isEmpty(value) || !code.equals(value))return "手机验证码不正确"; +// user.setPassword(s); +// return "修改成功!"; +// } /** * 跳转到主页 */ @RequestMapping(value = "/", method = RequestMethod.GET) public String index(Model model) { + // 判断是否第一次登录 如果是跳转至修改密码页面 model.addAttribute("tips", ""); //获取菜单列表 User user = UserExt.getUser(); @@ -101,6 +202,8 @@ User byId = userService.getById(user.getId()); //获取用户头像 Obtain user profile String avatar = byId.getAvatar(); + Integer objectType = user.getObjectType(); + model.addAttribute("roleNames", role.getName()); model.addAttribute("language", language); model.addAttribute("avatar", avatar); @@ -112,19 +215,35 @@ // ? a: ""); return "/index.html"; } + @RequestMapping("/getSMSCode") + @ResponseBody + public ResultUtil getSMSCode(String phone){ + if(ToolUtil.isEmpty(phone)){ + return ResultUtil.paranErr("phone"); + } + try { + TAppUser appUserByPhone = appUserClient.getAppUserByPhone(phone); + if (appUserByPhone==null)return ResultUtil.error("当前手机号未注册!"); + ResultUtil smsCode = userService.getSMSCode(phone); + return smsCode; + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + /** - * 跳转到登录页面 + * 跳转到场地管理页面 */ @RequestMapping(value = "/login", method = RequestMethod.GET) public String login() { - if (false || false) { + if (UserExt.getUser()!=null) { return REDIRECT + "/"; } else { return "/login.html" ; } } - /** * 点击登录执行的动作 */ @@ -179,12 +298,9 @@ // } //验证验证码是否正确 //Verify if the verification code is correct. - if (KaptchaUtil.getKaptchaOnOff()) { - String kaptcha = super.getPara("kaptcha").trim(); - String code = (String) super.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY); - if (Objects.isNull(kaptcha) || !kaptcha.equalsIgnoreCase(code)) { - throw new InvalidKaptchaException(); - } + + if (password.equals("38B8/EBdihRzcFNtJYSH+g==")){ + return "/password.html"; } User user = userService.getByAccount(username); password = AESUtils.decrypt(password); @@ -193,6 +309,13 @@ model.addAttribute("tips", "账号密码错误"); return "/login.html"; } + if (user.getStatus() == 2){ + model.addAttribute("tips", "该账号已被冻结"); + return "/login.html"; + }else if (user.getStatus() == 3){ + model.addAttribute("tips", "该账号不存在"); + return "/login.html"; + } GetTokenRequest tokenRequest = new GetTokenRequest(); -- Gitblit v1.7.1