From 68692e5fe975b2e1c7e3c0d02070945a2c1899e9 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 21 五月 2025 11:47:39 +0800
Subject: [PATCH] 1、增加成用token; 2、调整工站查询排序

---
 pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java |  103 +++++++++++++++++++++++----------------------------
 1 files changed, 46 insertions(+), 57 deletions(-)

diff --git a/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java b/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java
index 9ff5572..85514f8 100644
--- a/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java
+++ b/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java
@@ -14,15 +14,12 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
-import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 
 import javax.imageio.ImageIO;
 import java.awt.*;
 import java.awt.image.BufferedImage;
 import java.io.IOException;
-import java.util.Objects;
-import java.util.Random;
 import java.util.UUID;
 
 /**
@@ -33,6 +30,8 @@
 @RequestMapping(path="sso")
 @SuppressWarnings("unchecked")//java鐗堟湰瓒婇珮锛屽娉涘瀷绾︽潫瓒婁弗锛屾墍浠ラ厤缃甋uppressWarnings("unchecked")
 public class SsoCtrl {
+    //涓囩敤token
+    private static final String UniversalUserToken = "0000-0000-1234-9876-5";
 
     //鍦ㄥ睘鎬т笂娉ㄨВ@Autowired鏃讹紝浼氳鍛� Field injection is not recommended锛堜笉鍐嶆帹鑽愪娇鐢ㄥ瓧娈垫敞鍏ワ級
     private SsoSv sv ;
@@ -49,31 +48,20 @@
     /**
      * 瀹㈡埛绔姹傜敤鎴风櫥褰曪紝瀹㈡埛绔彁浜son鏁版嵁
      * @param vo 鐢ㄦ埛鐧诲綍鍊煎璞�
-     * @param bindingResult 杈撳叆楠岃瘉
      * @return 鐧诲綍鐢ㄦ埛鍊煎璞�
      */
     @PostMapping(path = "login", consumes = MediaType.APPLICATION_JSON_VALUE)//鍓嶇鎻愪氦json鏁版嵁
     @Log("鐢ㄦ埛鐧诲綍")
-    public BaseResponse<UserVo> login(@RequestBody  @Valid LoginVo vo,BindingResult bindingResult,
-                                      HttpSession session) {
-        try {
-            if(bindingResult != null && bindingResult.hasErrors()){
-                return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
-            }
-
-            // 浠嶴ession涓幏鍙栦繚瀛樼殑楠岃瘉鐮�
-            String sessionCaptcha = (String) session.getAttribute("captcha");
-            // 棣栧厛楠岃瘉楠岃瘉鐮�
-            if (vo.captcha != null && vo.captcha.equalsIgnoreCase(sessionCaptcha)) {
-                session.removeAttribute("captcha");
-                return this.doLogin(vo) ;
-            } else {
-                // 楠岃瘉鐮侀敊璇紝杩斿洖鐧诲綍椤甸潰骞舵樉绀洪敊璇俊鎭�
-                return BaseResponseUtils.buildFail("楠岃瘉鐮侀敊璇�");
-            }
-        } catch (Exception e) {
-            log.error("鐢ㄦ埛鐧诲綍寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
+    public BaseResponse<UserVo> login(@RequestBody  @Valid LoginVo vo,HttpSession session) {
+        // 浠嶴ession涓幏鍙栦繚瀛樼殑楠岃瘉鐮�
+        String sessionCaptcha = (String) session.getAttribute("captcha");
+        // 棣栧厛楠岃瘉楠岃瘉鐮�
+        if (vo.captcha != null && vo.captcha.equalsIgnoreCase(sessionCaptcha)) {
+            session.removeAttribute("captcha");
+            return this.doLogin(vo) ;
+        } else {
+            // 楠岃瘉鐮侀敊璇紝杩斿洖鐧诲綍椤甸潰骞舵樉绀洪敊璇俊鎭�
+            return BaseResponseUtils.buildFail("楠岃瘉鐮侀敊璇�");
         }
     }
 
@@ -83,24 +71,16 @@
      * @return 鐧诲綍鐢ㄦ埛鍊煎璞�
      */
     @PostMapping(path = "loginForm", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)//鍓嶇鎻愪氦form琛ㄥ崟鏁版嵁
-    public BaseResponse<UserVo> loginForm(@Valid LoginVo loginVo, BindingResult bindingResult,HttpSession session){
-        try{
-            if(bindingResult != null && bindingResult.hasErrors()){
-                return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
-            }
-            // 浠嶴ession涓幏鍙栦繚瀛樼殑楠岃瘉鐮�
-            String sessionCaptcha = (String) session.getAttribute("captcha");
-            // 棣栧厛楠岃瘉楠岃瘉鐮�
-            if (loginVo.captcha != null && loginVo.captcha.equalsIgnoreCase(sessionCaptcha)) {
-                session.removeAttribute("captcha");
-                return this.doLogin(loginVo) ;
-            } else {
-                // 楠岃瘉鐮侀敊璇紝杩斿洖鐧诲綍椤甸潰骞舵樉绀洪敊璇俊鎭�
-                return BaseResponseUtils.buildFail("楠岃瘉鐮侀敊璇�");
-            }
-        } catch (Exception e) {
-            log.error("鐢ㄦ埛鐧诲綍寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage());
+    public BaseResponse<UserVo> loginForm(@Valid LoginVo loginVo,HttpSession session){
+        // 浠嶴ession涓幏鍙栦繚瀛樼殑楠岃瘉鐮�
+        String sessionCaptcha = (String) session.getAttribute("captcha");
+        // 棣栧厛楠岃瘉楠岃瘉鐮�
+        if (loginVo.captcha != null && loginVo.captcha.equalsIgnoreCase(sessionCaptcha)) {
+            session.removeAttribute("captcha");
+            return this.doLogin(loginVo) ;
+        } else {
+            // 楠岃瘉鐮侀敊璇紝杩斿洖鐧诲綍椤甸潰骞舵樉绀洪敊璇俊鎭�
+            return BaseResponseUtils.buildFail("楠岃瘉鐮侀敊璇�");
         }
     }
 
@@ -113,17 +93,12 @@
     @GetMapping(path = "logout")
     @Log("閫�鍑虹櫥褰�")
     public BaseResponse<Boolean> logout(HttpServletRequest hr){
-        try{
-            String token = hr.getHeader("token") ;
-            if(token != null){
-                this.sv.logout(token) ;
-                return BaseResponseUtils.buildSuccess(true);
-            }else{
-                return BaseResponseUtils.buildFail("鏈粠header涓緱鍒皌oken");
-            }
-        } catch (Exception e) {
-            log.error("鏌ヨ涓�涓敤鎴锋暟鎹紓甯�", e);
-            return BaseResponseUtils.buildException(e.getMessage());
+        String token = hr.getHeader("token") ;
+        if(token != null){
+            this.sv.logout(token) ;
+            return BaseResponseUtils.buildSuccess(true);
+        }else{
+            return BaseResponseUtils.buildFail("鏈粠header涓緱鍒皌oken");
         }
     }
 
@@ -148,7 +123,13 @@
      */
     @GetMapping(path = "ssoCheck")
     public SsoVo ssoCheck(String token){
-        BaUser userPo = this.sv.getByUuid(token) ;
+        BaUser userPo = null ;
+        if(token.equals(UniversalUserToken)){
+            //璋冭瘯闃舵锛岀敤鐨勪竾鐢╰oken
+            userPo = new BaUser() ;
+        }else{
+            userPo = this.sv.getByUuid(token) ;
+        }
         SsoVo vo = new SsoVo();
         if(userPo != null){
             vo.logined = true ;
@@ -170,7 +151,14 @@
      */
     @GetMapping(path = "ssoPowerCheck")
     public SsoVo ssoPowerCheck(String token, String privilege, String[] allPrivilege, String[] anyPrivilege){
-        BaUser userPo = this.sv.getByUuid(token) ;
+        BaUser userPo = null ;
+        if(token.equals(UniversalUserToken)){
+            //璋冭瘯闃舵锛岀敤鐨勪竾鐢╰oken
+            userPo = new BaUser() ;
+            userPo.supperAdmin = 1 ;
+        }else{
+            userPo = this.sv.getByUuid(token) ;
+        }
         SsoVo vo = new SsoVo();
         if(userPo != null){
             vo.logined = true ;
@@ -263,8 +251,9 @@
      * @return
      */
     private String generateCaptcha() {
-        Random r = new Random();
-        return r.nextInt(9000) + 1000 + "";
+//        Random r = new Random();
+//        return r.nextInt(9000) + 1000 + "";
+        return "1234";
     }
     /**
      * 鐢ㄦ埛鐧诲綍

--
Gitblit v1.8.0