From c15739adf58aa87002516f151d6314b8caecbb29 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 30 九月 2022 12:39:47 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/controller/sys/SignController.java | 101 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 80 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/lf/server/controller/sys/SignController.java b/src/main/java/com/lf/server/controller/sys/SignController.java index d21b4e8..dc85c5b 100644 --- a/src/main/java/com/lf/server/controller/sys/SignController.java +++ b/src/main/java/com/lf/server/controller/sys/SignController.java @@ -3,12 +3,12 @@ import com.lf.server.controller.BaseController; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.data.LoginEntity; +import com.lf.server.entity.data.TokenEntity; import com.lf.server.entity.data.UsersEntity; -import com.lf.server.entity.sys.LoginInfo; -import com.lf.server.entity.sys.Result; -import com.lf.server.entity.sys.User; import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; import com.lf.server.service.data.LoginService; +import com.lf.server.service.data.TokenService; import com.lf.server.service.data.UsersService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -31,18 +31,21 @@ @Autowired LoginService loginService; + @Autowired + TokenService tokenService; + /** * 璺冲埌棣栭〉 * * @return String */ @GetMapping({"/", "/toIndex"}) - public ModelAndView toIndex(ModelAndView mv) { + public ModelAndView toIndex(ModelAndView mv, HttpServletRequest req) { mv.setViewName("index"); - User user = null; - if (user != null) { - mv.addObject("msg", "Hello " + user.getLoginName() + " !"); + UsersEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + mv.addObject("msg", "Hello " + ue.getUname() + " !"); } return mv; @@ -63,10 +66,10 @@ /** * 鐧诲綍璁よ瘉 * - * @return String + * @return ResponseMsg<TokenEntity> */ - @PostMapping(value="/login", produces = "application/json; charset=UTF-8") - public ResponseMsg<String> login(@RequestBody UsersEntity user, HttpServletRequest req, HttpServletResponse res) { + @PostMapping(value = "/login", produces = "application/json; charset=UTF-8") + public ResponseMsg<TokenEntity> login(@RequestBody UsersEntity user, HttpServletRequest req, HttpServletResponse res) { try { if (user == null) { return fail("璇疯緭鍏ョ敤鎴峰悕鍜屽瘑鐮侊紒", null); @@ -83,32 +86,88 @@ return fail("鐢ㄦ埛鍚嶄笉瀛樺湪锛�", null); } - LoginEntity le = loginService.getNewLogin(user.getId(), req); + LoginEntity le = loginService.getNewLogin(ue.getId(), req); if (!user.getPwd().equals(ue.getPwd())) { le.setStatus(0); le.setDescr("瀵嗙爜閿欒"); loginService.insertLogin(le); return fail("瀵嗙爜涓嶆纭紒", null); } - le.setStatus(1); - loginService.insertLogin(le); - return null; + Integer rows = loginService.insertLogin(le); + if (rows == 0) { + return fail("鍒涘缓鐧诲綍鏃ュ織澶辫触锛�", null); + } + + TokenEntity te = tokenService.getNewToken(ue.getId(), req); + rows = tokenService.insertToken(te); + if (rows == 0) { + return fail("鍒涘缓浠ょ墝淇℃伅澶辫触锛�", null); + } + + tokenService.saveToken(ue, te, req, res); + + return success(te); } catch (Exception ex) { return fail(ex.getMessage(), null); } } /** - * 娉ㄩ攢 + * 鐧诲嚭 * - * @return String + * @param req + * @return */ - @GetMapping("/logout") - public ModelAndView logout() { - ModelAndView mv = new ModelAndView(); - mv.setViewName("login"); + @GetMapping(value = "/logout") + public ResponseMsg<Boolean> logout(HttpServletRequest req) { + try { + String token = WebHelper.getToken(req); + if (StringHelper.isEmpty(token)) { + return fail("娌℃湁妫�娴嬪埌浠ょ墝", false); + } - return mv; + Boolean flag = tokenService.logout(token, req); + + return success(flag ? "鐧诲嚭鎴愬姛" : "鐧诲嚭澶辫触", flag); + } catch (Exception ex) { + return fail(ex.getMessage(), false); + } + } + + /** + * 妫�鏌ユ槸/鍚︾櫥褰� + * + * @return ResponseMsg<String> + */ + @GetMapping("/check") + public ResponseMsg<Boolean> check(HttpServletRequest req, HttpServletResponse res) { + try { + Boolean flag = tokenService.isLogin(req, res); + + return success(flag ? "鐢ㄦ埛宸茬櫥褰�" : "鐢ㄦ埛鏈櫥褰�", flag); + } catch (Exception ex) { + return fail(ex.getMessage(), false); + } + } + + /** + * 鑾峰彇褰撳墠鐢ㄦ埛 + * + * @param req + * @return + */ + @GetMapping("/getCurrentUser") + public ResponseMsg<UsersEntity> getCurrentUser(HttpServletRequest req) { + try { + UsersEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("娌℃湁鎵惧埌", null); + } + + return success(ue); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } } } -- Gitblit v1.9.3