From 9d25cb0ec78260a283b06fd96bc7b156f32cf9df Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期五, 30 九月 2022 14:28:52 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/controller/sys/SignController.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 100 insertions(+), 18 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 c5c364f..a30f99e 100644 --- a/src/main/java/com/lf/server/controller/sys/SignController.java +++ b/src/main/java/com/lf/server/controller/sys/SignController.java @@ -2,15 +2,20 @@ 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.*; import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** * 绛惧悕鎺у埗鍣� @@ -23,18 +28,24 @@ @Autowired UsersService userService; + @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; @@ -55,10 +66,10 @@ /** * 鐧诲綍璁よ瘉 * - * @return String + * @return ResponseMsg<TokenEntity> */ - @PostMapping(value="/login", produces = "application/json; charset=UTF-8") - public ResponseMsg<String> login(@RequestBody UsersEntity user) { + @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); @@ -75,23 +86,94 @@ return fail("鐢ㄦ埛鍚嶄笉瀛樺湪锛�", null); } + LoginEntity le = loginService.getNewLogin(ue.getId(), 1, req); + if (!user.getPwd().equals(ue.getPwd())) { + le.setStatus(0); + le.setDescr("瀵嗙爜閿欒"); + loginService.insertLogin(le); + return fail("瀵嗙爜涓嶆纭紒", null); + } - 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); + if (flag) { + // 鍐欐棩蹇� + UsersEntity ue = tokenService.getCurrentUser(req); + LoginEntity le = loginService.getNewLogin(ue.getId(), 2, req); + Integer rows = loginService.insertLogin(le); + } + + 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