#
luxiaotao1123
2024-01-29 36f6a0cfc6ebc27723d320a8791ea5062fc27697
#
18个文件已修改
173 ■■■■ 已修改文件
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtSubject.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/UserLogin.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/RoleMenuMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserRoleMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/RoleMenuService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserLoginService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserRoleService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/RoleMenuServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserLoginServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserRoleServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/HttpUtils.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/resources/mapper/sys/RoleMenuMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/resources/mapper/sys/UserRoleMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java
@@ -5,6 +5,7 @@
import com.zy.asrs.wcs.common.constant.Constants;
import com.zy.asrs.wcs.sys.entity.Menu;
import com.zy.asrs.wcs.sys.entity.User;
import com.zy.asrs.wcs.sys.entity.UserLogin;
import com.zy.asrs.wcs.sys.service.UserLoginService;
import com.zy.asrs.wcs.sys.service.UserService;
import com.zy.asrs.wcs.utils.HttpUtils;
@@ -63,7 +64,7 @@
            try {
                User user;
                if (WHITE_KEY.contains(access_token)) {
                    user = userService.getByUsername("openapi", 2);
                    user = userService.getByUsername("openapi", 2L);
                    if (user == null) {
                        throw new UsernameNotFoundException("Username not found");
                    }
@@ -91,8 +92,8 @@
                        String token = JwtUtil.buildToken(jwtSubject, configProperties.getTokenExpireTime(),
                                configProperties.getTokenKey());
                        response.addHeader(Constants.TOKEN_HEADER_NAME, token);
                        userLoginService.saveAsync(user.getUsername(), LoginRecord.TYPE_REFRESH, null,
                                user.getTenantId(), request);
                        userLoginService.saveAsync(user.getId(), UserLogin.TYPE_REFRESH, null,
                                user.getHostId(), request);
                    }
                }
            } catch (ExpiredJwtException e) {
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtSubject.java
@@ -26,6 +26,6 @@
    /**
     * 租户id
     */
    private Integer tenantId;
    private Long tenantId;
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java
@@ -167,6 +167,9 @@
    private String memo;
    @TableField(exist = false)
    private List<Role> roles;
    @TableField(exist = false)
    private List<Menu> authorities;
    public User() {}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/UserLogin.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.annotation.TableName;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.wcs.sys.service.HostService;
import com.zy.asrs.wcs.sys.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -17,6 +18,11 @@
@Data
@TableName("sys_user_login")
public class UserLogin implements Serializable {
    public static final int TYPE_LOGIN = 0;  // 登录成功
    public static final int TYPE_ERROR = 1;  // 登录失败
    public static final int TYPE_LOGOUT = 2;  // 退出登录
    public static final int TYPE_REFRESH = 3;  // 续签token
    private static final long serialVersionUID = 1L;
@@ -34,10 +40,29 @@
    private Long userId;
    /**
     * 所属机构
     */
    @ApiModelProperty(value= "所属机构")
    private Long hostId;
    /**
     * 密钥
     */
    @ApiModelProperty(value= "密钥")
    private String token;
    /**
     * 登录ip
     */
    @ApiModelProperty(value= "登录ip")
    private String ip;
    /**
     * 类型
     */
    @ApiModelProperty(value= "类型")
    private Integer type;
    /**
     * 添加时间
@@ -58,24 +83,6 @@
    @ApiModelProperty(value= "备注")
    private String memo;
    public UserLogin() {}
    public UserLogin(Long userId,String token,Date createTime,String system,String memo) {
        this.userId = userId;
        this.token = token;
        this.createTime = createTime;
        this.system = system;
        this.memo = memo;
    }
//    UserLogin userLogin = new UserLogin(
//            null,    // 用户[非空]
//            null,    // 密钥
//            null,    // 添加时间
//            null,    // 登录系统
//            null    // 备注
//    );
    public String getUserId$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.getById(this.userId);
@@ -85,6 +92,15 @@
        return null;
    }
    public String getHostId$(){
        HostService service = SpringUtils.getBean(HostService.class);
        Host host = service.getById(this.hostId);
        if (!Cools.isEmpty(host)){
            return String.valueOf(host.getId());
        }
        return null;
    }
    public String getCreateTime$(){
        if (Cools.isEmpty(this.createTime)){
            return "";
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/RoleMenuMapper.java
@@ -1,12 +1,20 @@
package com.zy.asrs.wcs.sys.mapper;
import com.zy.asrs.wcs.sys.entity.RoleMenu;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zy.asrs.wcs.sys.entity.Menu;
import com.zy.asrs.wcs.sys.entity.RoleMenu;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface RoleMenuMapper extends BaseMapper<RoleMenu> {
    @InterceptorIgnore(tenantLine = "true")
    List<Menu> listMenuByUserId(@Param("userId") Long userId, @Param("menuType") Integer menuType);
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserMapper.java
@@ -12,6 +12,6 @@
public interface UserMapper extends BaseMapper<User> {
    @InterceptorIgnore(tenantLine = "true")
    User selectByUsername(@Param("username") String username, @Param("hostId") Integer hostId);
    User selectByUsername(@Param("username") String username, @Param("hostId") Long hostId);
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/mapper/UserRoleMapper.java
@@ -1,12 +1,20 @@
package com.zy.asrs.wcs.sys.mapper;
import com.zy.asrs.wcs.sys.entity.UserRole;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zy.asrs.wcs.sys.entity.Role;
import com.zy.asrs.wcs.sys.entity.UserRole;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface UserRoleMapper extends BaseMapper<UserRole> {
    @InterceptorIgnore(tenantLine = "true")
    List<Role> selectByUserId(@Param("userId") Long userId);
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/RoleMenuService.java
@@ -1,8 +1,13 @@
package com.zy.asrs.wcs.sys.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.asrs.wcs.sys.entity.Menu;
import com.zy.asrs.wcs.sys.entity.RoleMenu;
import java.util.List;
public interface RoleMenuService extends IService<RoleMenu> {
    List<Menu> listMenuByUserId(Long userId, Integer menuType);
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserLoginService.java
@@ -3,6 +3,10 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.asrs.wcs.sys.entity.UserLogin;
import javax.servlet.http.HttpServletRequest;
public interface UserLoginService extends IService<UserLogin> {
    void saveAsync(Long userId, Integer type, String comments, Long hostId, HttpServletRequest request);
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserRoleService.java
@@ -1,8 +1,13 @@
package com.zy.asrs.wcs.sys.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.asrs.wcs.sys.entity.Role;
import com.zy.asrs.wcs.sys.entity.UserRole;
import java.util.List;
public interface UserRoleService extends IService<UserRole> {
    List<Role> listByUserId(Long userId);
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/UserService.java
@@ -5,6 +5,6 @@
public interface UserService extends IService<User> {
    User getByUsername(String username, Integer hostId);
    User getByUsername(String username, Long hostId);
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/RoleMenuServiceImpl.java
@@ -1,12 +1,20 @@
package com.zy.asrs.wcs.sys.service.impl;
import com.zy.asrs.wcs.sys.mapper.RoleMenuMapper;
import com.zy.asrs.wcs.sys.entity.RoleMenu;
import com.zy.asrs.wcs.sys.service.RoleMenuService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zy.asrs.wcs.sys.entity.Menu;
import com.zy.asrs.wcs.sys.entity.RoleMenu;
import com.zy.asrs.wcs.sys.mapper.RoleMenuMapper;
import com.zy.asrs.wcs.sys.service.RoleMenuService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("roleMenuService")
public class RoleMenuServiceImpl extends ServiceImpl<RoleMenuMapper, RoleMenu> implements RoleMenuService {
    @Override
    public List<Menu> listMenuByUserId(Long userId, Integer menuType) {
        return baseMapper.listMenuByUserId(userId, menuType);
    }
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserLoginServiceImpl.java
@@ -4,9 +4,27 @@
import com.zy.asrs.wcs.sys.entity.UserLogin;
import com.zy.asrs.wcs.sys.service.UserLoginService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
@Service("userLoginService")
public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper, UserLogin> implements UserLoginService {
    @Async
    @Override
    public void saveAsync(Long userId, Integer type, String comments, Long hostId, HttpServletRequest request) {
        if (userId == null) {
            return;
        }
        UserLogin userLogin = new UserLogin();
        userLogin.setUserId(userId);
        userLogin.setType(type);
        userLogin.setMemo(comments);
        userLogin.setHostId(hostId);
        userLogin.setIp(request.getRequestURI());
        baseMapper.insert(userLogin);
    }
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserRoleServiceImpl.java
@@ -1,12 +1,20 @@
package com.zy.asrs.wcs.sys.service.impl;
import com.zy.asrs.wcs.sys.mapper.UserRoleMapper;
import com.zy.asrs.wcs.sys.entity.UserRole;
import com.zy.asrs.wcs.sys.service.UserRoleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zy.asrs.wcs.sys.entity.Role;
import com.zy.asrs.wcs.sys.entity.UserRole;
import com.zy.asrs.wcs.sys.mapper.UserRoleMapper;
import com.zy.asrs.wcs.sys.service.UserRoleService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("userRoleService")
public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> implements UserRoleService {
    @Override
    public List<Role> listByUserId(Long userId) {
        return baseMapper.selectByUserId(userId);
    }
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/service/impl/UserServiceImpl.java
@@ -20,14 +20,14 @@
    private RoleMenuService roleMenuService;
    @Override
    public User getByUsername(String username, Integer hostId) {
    public User getByUsername(String username, Long hostId) {
        if (Cools.isEmpty(username)) {
            return null;
        }
        User user = baseMapper.selectByUsername(username, tenantId);
        User user = baseMapper.selectByUsername(username, hostId);
        if (user != null) {
            user.setRoles(userRoleService.listByUserId(user.getUserId()));
            user.setAuthorities(roleMenuService.listMenuByUserId(user.getUserId(), null));
            user.setRoles(userRoleService.listByUserId(user.getId()));
            user.setAuthorities(roleMenuService.listMenuByUserId(user.getId(), null));
        }
        return user;
    }
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/HttpUtils.java
@@ -1,6 +1,7 @@
package com.zy.asrs.wcs.utils;
import com.alibaba.fastjson.JSON;
import com.zy.asrs.framework.common.R;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -15,7 +16,7 @@
        response.setContentType("application/json;charset=UTF-8");
        try {
            PrintWriter out = response.getWriter();
            out.write(JSON.toJSONString(new ApiResult<>(code, message, null, error)));
            out.write(JSON.toJSONString(R.parse(code + "-" + message)));
            out.flush();
        } catch (IOException e) {
            e.printStackTrace();
zy-asrs-wcs/src/main/resources/mapper/sys/RoleMenuMapper.xml
@@ -2,4 +2,8 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.wcs.sys.mapper.RoleMenuMapper">
    <select id="listMenuByUserId" resultType="com.zy.asrs.wcs.sys.entity.Menu">
    </select>
</mapper>
zy-asrs-wcs/src/main/resources/mapper/sys/UserRoleMapper.xml
@@ -2,4 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.wcs.sys.mapper.UserRoleMapper">
    <select id="selectByUserId" resultType="com.zy.asrs.wcs.sys.entity.Role">
        SELECT *
        FROM sys_role
        WHERE role_id IN (
            SELECT role_id
            FROM sys_user_role
            WHERE user_id = #{userId}
        )
        AND deleted = 0
    </select>
</mapper>