From 0eaaac435d91a2240a63b5b36758b9044c54c32f Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 20 十二月 2023 12:34:41 +0800
Subject: [PATCH] 登录鉴别

---
 zy-asrs-common/src/main/java/com/zy/asrs/common/web/AuthController.java           |   18 +++++++++++++-----
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/config/AdminInterceptor.java            |    4 +++-
 zy-asrs-wms/src/main/webapp/views/login.html                                      |    3 ++-
 zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/UserLogin.java         |    5 +++++
 zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/LoginSystemType.java |   12 ++++++++++++
 zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/OperateLog.java        |    5 +++++
 6 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/LoginSystemType.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/LoginSystemType.java
new file mode 100644
index 0000000..c8e488c
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/LoginSystemType.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.common.domain.enums;
+
+/**
+ * 鐧诲綍绯荤粺绫诲瀷鏋氫妇
+ */
+public enum LoginSystemType {
+
+    WMS,
+    WCS
+    ;
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/OperateLog.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/OperateLog.java
index 4725f5f..ca5269a 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/OperateLog.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/OperateLog.java
@@ -54,6 +54,11 @@
      */
     private Date createTime;
 
+    /**
+     * 鐧诲綍绯荤粺
+     */
+    private String system;
+
     public String getUserId$(){
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.getById(this.userId);
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/UserLogin.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/UserLogin.java
index 495a444..d1a4aef 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/UserLogin.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/UserLogin.java
@@ -40,6 +40,11 @@
      */
     private Date createTime;
 
+    /**
+     * 鐧婚檰绯荤粺
+     */
+    private String system;
+
     public String getUserUsername(){
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.getById(this.userId);
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/web/AuthController.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/web/AuthController.java
index 85d7974..df4a984 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/web/AuthController.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/web/AuthController.java
@@ -6,6 +6,7 @@
 import com.zy.asrs.common.domain.dto.PowerDto;
 import com.zy.asrs.common.domain.entity.Parameter;
 import com.zy.asrs.common.domain.enums.HtmlNavIconType;
+import com.zy.asrs.common.domain.enums.LoginSystemType;
 import com.zy.asrs.common.properties.OSinfo;
 import com.zy.asrs.common.properties.SystemProperties;
 import com.zy.asrs.common.sys.entity.*;
@@ -46,7 +47,7 @@
 
     @RequestMapping("/login.action")
     @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "鐧诲綍")
-    public R loginAction(String username, String password){
+    public R loginAction(String username, String password, Boolean wms) {
         if (username.equals("super") && password.equals(Cools.md5(superPwd))) {
             Map<String, Object> res = new HashMap<>();
             res.put("username", username);
@@ -56,21 +57,28 @@
         LambdaQueryWrapper<User> userWrapper = new LambdaQueryWrapper<>();
         userWrapper.eq(User::getUsername, username);
         User user = userService.getOne(userWrapper);
-        if (Cools.isEmpty(user)){
+        if (Cools.isEmpty(user)) {
             return R.parse(CodeRes.USER_10001);
         }
-        if (user.getStatus()!=1){
+        if (user.getStatus() != 1) {
             return R.parse(CodeRes.USER_10002);
         }
-        if (!user.getPassword().equals(password)){
+        if (!user.getPassword().equals(password)) {
             return R.parse(CodeRes.USER_10003);
         }
+        String system = null;//鐧婚檰绯荤粺
+        if (wms) {
+            system = String.valueOf(LoginSystemType.WMS);
+        }else {
+            system = String.valueOf(LoginSystemType.WCS);
+        }
         String token = Cools.enToken(System.currentTimeMillis() + username, user.getPassword());
-        userLoginService.remove(new LambdaQueryWrapper<UserLogin>().eq(UserLogin::getUserId, user.getId()));
+        userLoginService.remove(new LambdaQueryWrapper<UserLogin>().eq(UserLogin::getUserId, user.getId()).eq(UserLogin::getSystem, system));
         UserLogin userLogin = new UserLogin();
         userLogin.setUserId(user.getId());
         userLogin.setToken(token);
         userLogin.setCreateTime(new Date());
+        userLogin.setSystem(system);
         userLoginService.save(userLogin);
         Map<String, Object> res = new HashMap<>();
         res.put("username", user.getUsername());
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/config/AdminInterceptor.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/config/AdminInterceptor.java
index 8ba613d..4960cac 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/config/AdminInterceptor.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/config/AdminInterceptor.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.common.domain.enums.LoginSystemType;
 import com.zy.asrs.common.properties.SystemProperties;
 import com.zy.asrs.common.sys.entity.OperateLog;
 import com.zy.asrs.common.sys.entity.User;
@@ -107,7 +108,7 @@
     private boolean check(HttpServletRequest request, HttpServletResponse response, String memo) {
         try {
             String token = request.getHeader("token");
-            UserLogin userLogin = userLoginService.getOne(new LambdaQueryWrapper<UserLogin>().eq(UserLogin::getToken, token));
+            UserLogin userLogin = userLoginService.getOne(new LambdaQueryWrapper<UserLogin>().eq(UserLogin::getToken, token).eq(UserLogin::getSystem, String.valueOf(LoginSystemType.WMS)));
             if (null == userLogin){
                 Http.response(response, BaseRes.DENIED);
                 return false;
@@ -138,6 +139,7 @@
                 operateLog.setIp(request.getRemoteAddr());
                 operateLog.setUserId(user.getId());
                 operateLog.setRequest(JSON.toJSONString(request.getParameterMap()));
+                operateLog.setSystem(String.valueOf(LoginSystemType.WMS));
                 request.setAttribute("operateLog", operateLog);
             }
             return true;
diff --git a/zy-asrs-wms/src/main/webapp/views/login.html b/zy-asrs-wms/src/main/webapp/views/login.html
index d7aa305..d77ebc4 100644
--- a/zy-asrs-wms/src/main/webapp/views/login.html
+++ b/zy-asrs-wms/src/main/webapp/views/login.html
@@ -126,7 +126,8 @@
           url: baseUrl+"/login.action",
           data: {
             username: username,
-            password: hex_md5(password)
+            password: hex_md5(password),
+            wms: true
           },
           method: 'POST',
           success: function (res) {

--
Gitblit v1.9.1