Junjie
2023-12-20 0eaaac435d91a2240a63b5b36758b9044c54c32f
登录鉴别
1个文件已添加
5个文件已修改
47 ■■■■ 已修改文件
zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/LoginSystemType.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/OperateLog.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/sys/entity/UserLogin.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/web/AuthController.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/config/AdminInterceptor.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/webapp/views/login.html 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/domain/enums/LoginSystemType.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.common.domain.enums;
/**
 * 登录系统类型枚举
 */
public enum LoginSystemType {
    WMS,
    WCS
    ;
}
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);
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);
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());
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;
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) {