whycxzp
2020-12-16 0f4c5190746db28618ab0f35e65be41ef8fc78ed
update basic function
15 文件已重命名
4个文件已修改
2个文件已删除
10个文件已添加
456 ■■■■ 已修改文件
pom.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/Application.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/config/MybatisPlusConfig.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/config/WebConfig.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/RoleController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/UserController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/UserLoginInfo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/filter/CrossDomainFilter.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/filter/LoginFilter.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/injector/CustomSqlInjector.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/listener/LoginSessionListener.java 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/listener/Sessionlister.java 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/CustomMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/UserMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/Menu.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/Privilege.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/Role.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/RoleMenu.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/RolePrivilege.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/User.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/UserRole.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/UserService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/swagger/SwaggerConfig.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/swagger/webAppConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/ActionUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/DateUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yckj/filter/LoginFilter.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yckj/mapper/UserMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/META-INF/MANIFEST.MF 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/UserMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ZMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -94,7 +94,7 @@
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 工程主入口-->
                    <mainClass>com.yckj.Application</mainClass>
                    <mainClass>com.whyc.Application</mainClass>
                </configuration>
            </plugin>
        </plugins>
src/main/java/com/whyc/Application.java
File was renamed from src/main/java/com/yckj/Application.java
@@ -1,10 +1,8 @@
package com.yckj;
package com.whyc;
import com.spring4all.swagger.EnableSwagger2Doc;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
@@ -19,7 +17,7 @@
@EnableWebMvc
@EnableSwagger2
@EnableSwagger2Doc
@ServletComponentScan(basePackages = "com.yckj.filter")
@ServletComponentScan(basePackages = "com.whyc.filter")
public class Application extends WebMvcConfigurerAdapter {
    public static void main(String[] args) {
src/main/java/com/whyc/config/MybatisPlusConfig.java
File was renamed from src/main/java/com/yckj/config/MybatisPlusConfig.java
@@ -1,7 +1,7 @@
package com.yckj.config;
package com.whyc.config;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.yckj.injector.CustomSqlInjector;
import com.whyc.injector.CustomSqlInjector;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
src/main/java/com/whyc/config/WebConfig.java
New file
@@ -0,0 +1,28 @@
//package com.yckj.config;
//
//import com.fasterxml.jackson.core.filter.TokenFilter;
//import com.yckj.filter.LoginFilter;
//import org.springframework.boot.web.servlet.FilterRegistrationBean;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import javax.servlet.DispatcherType;
//
//@Configuration
//public class WebConfig {
//
//    @Bean
//    FilterRegistrationBean<LoginFilter> loginFilter() {
//        FilterRegistrationBean<LoginFilter> filterReg = new FilterRegistrationBean(new LoginFilter());
//        //优先级
//        filterReg.setOrder(1);
//        filterReg.setDispatcherTypes(DispatcherType.REQUEST);
//        //匹配路径,过滤接口请求
//        filterReg.addUrlPatterns("*.do");
//        //排除静态资源
//        filterReg.addInitParameter("exclusions","*.css,*.js");
//
//        return filterReg;
//    }
//
//}
src/main/java/com/whyc/controller/RoleController.java
New file
@@ -0,0 +1,21 @@
package com.whyc.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("role")
@RestController
@Slf4j
@Api(value ="role value",tags = "角色")
public class RoleController {
    @GetMapping
    @ApiOperation(value = "查询")
    public void get(){
    }
}
src/main/java/com/whyc/controller/UserController.java
File was renamed from src/main/java/com/yckj/controller/UserController.java
@@ -1,15 +1,14 @@
package com.yckj.controller;
package com.whyc.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yckj.pojo.User;
import com.yckj.service.UserService;
import com.whyc.pojo.User;
import com.whyc.service.UserService;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
src/main/java/com/whyc/dto/UserLoginInfo.java
File was renamed from src/main/java/com/yckj/dto/UserLoginInfo.java
@@ -1,4 +1,4 @@
package com.yckj.dto;
package com.whyc.dto;
/**
 * 用户登录后保存的信息
src/main/java/com/whyc/filter/CrossDomainFilter.java
File was renamed from src/main/java/com/yckj/filter/CrossDomainFilter.java
@@ -1,4 +1,4 @@
package com.yckj.filter;
package com.whyc.filter;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
src/main/java/com/whyc/filter/LoginFilter.java
New file
@@ -0,0 +1,58 @@
package com.whyc.filter;
import com.whyc.pojo.User;
import lombok.extern.slf4j.Slf4j;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.PrintWriter;
@Slf4j
@WebFilter(filterName = "loginFilter",urlPatterns = "/*",initParams = {
        @WebInitParam(name = "exclusions",value = "*.css,*.js")
})
//@WebInitParam(name = "exclusions",value = "*.css,*.js")
public class LoginFilter implements Filter {
    private String exclusions = "";
    public void destroy() {
    }
    public void doFilter(ServletRequest req, ServletResponse resp,
            FilterChain chain) throws IOException, ServletException {
        HttpServletRequest request=(HttpServletRequest)req;
        String URL=request.getRequestURI();
        String[] uri=request.getRequestURI().split("/");
        String source="";
        if(uri.length>0) {
            source = uri[uri.length - 1];
        }
        String suffix = source.substring(source.indexOf(".")+1);
        User user=(User)request.getSession().getAttribute("user");
        //不拦截swagger的资源请求,以及登录请求
        if(URL.indexOf("swagger-resources")>-1 ||URL.indexOf("swagger-ui")>-1 ||URL.indexOf("v2/api-docs")>-1||URL.indexOf("login")>-1){
            chain.doFilter(req,resp);
        }
        //不拦截静态资源css/js
        else if(exclusions.indexOf(suffix)>-1){
            chain.doFilter(req,resp);
        }
        else if(user!=null){
            chain.doFilter(req, resp);
        }else{
            PrintWriter out=resp.getWriter();
            out.print("<script charset='UTF-8'>window.location.href='index.html'</script>");
        }
    }
    public void init(FilterConfig config) throws ServletException {
        exclusions =config.getInitParameter("exclusions");
    }
}
src/main/java/com/whyc/injector/CustomSqlInjector.java
File was renamed from src/main/java/com/yckj/injector/CustomSqlInjector.java
@@ -1,4 +1,4 @@
package com.yckj.injector;
package com.whyc.injector;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
src/main/java/com/whyc/listener/LoginSessionListener.java
src/main/java/com/whyc/listener/Sessionlister.java
src/main/java/com/whyc/mapper/CustomMapper.java
File was renamed from src/main/java/com/yckj/mapper/CustomMapper.java
@@ -1,4 +1,4 @@
package com.yckj.mapper;
package com.whyc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.Collection;
src/main/java/com/whyc/mapper/UserMapper.java
New file
@@ -0,0 +1,7 @@
package com.whyc.mapper;
import com.whyc.pojo.User;
public interface UserMapper extends CustomMapper<User> {
}
src/main/java/com/whyc/pojo/Menu.java
New file
@@ -0,0 +1,45 @@
package com.whyc.pojo;
/**
 * 用户菜单
 */
public class Menu {
    private Integer id;
    private String name;
    /**级别:1级,2级菜单...*/
    private String level;
    /**排序*/
    private Integer order;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getLevel() {
        return level;
    }
    public void setLevel(String level) {
        this.level = level;
    }
    public Integer getOrder() {
        return order;
    }
    public void setOrder(Integer order) {
        this.order = order;
    }
}
src/main/java/com/whyc/pojo/Privilege.java
New file
@@ -0,0 +1,26 @@
package com.whyc.pojo;
/**
 * 权限
 */
public class Privilege {
    private Integer id;
    private String name;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
src/main/java/com/whyc/pojo/Role.java
New file
@@ -0,0 +1,25 @@
package com.whyc.pojo;
/**
 * 角色
 */
public class Role {
    private Integer id;
    private String name;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
src/main/java/com/whyc/pojo/RoleMenu.java
New file
@@ -0,0 +1,34 @@
package com.whyc.pojo;
/**
 * 角色菜单
 */
public class RoleMenu {
    private Integer id;
    private Integer roleId;
    private Integer menuId;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getRoleId() {
        return roleId;
    }
    public void setRoleId(Integer roleId) {
        this.roleId = roleId;
    }
    public Integer getMenuId() {
        return menuId;
    }
    public void setMenuId(Integer menuId) {
        this.menuId = menuId;
    }
}
src/main/java/com/whyc/pojo/RolePrivilege.java
New file
@@ -0,0 +1,35 @@
package com.whyc.pojo;
/**
 * 角色对应权限
 */
public class RolePrivilege {
    private Integer id;
    private Integer roleId;
    private Integer privilegeId;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getRoleId() {
        return roleId;
    }
    public void setRoleId(Integer roleId) {
        this.roleId = roleId;
    }
    public Integer getPrivilegeId() {
        return privilegeId;
    }
    public void setPrivilegeId(Integer privilegeId) {
        this.privilegeId = privilegeId;
    }
}
src/main/java/com/whyc/pojo/User.java
File was renamed from src/main/java/com/yckj/pojo/User.java
@@ -1,13 +1,10 @@
package com.yckj.pojo;
package com.whyc.pojo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
public class User {
    private Integer id;
    private String username;
    private String password;
src/main/java/com/whyc/pojo/UserRole.java
New file
@@ -0,0 +1,25 @@
package com.whyc.pojo;
/**
 * 用户角色表
 */
public class UserRole {
    private User user;
    private Role role;
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
    public Role getRole() {
        return role;
    }
    public void setRole(Role role) {
        this.role = role;
    }
}
src/main/java/com/whyc/service/UserService.java
File was renamed from src/main/java/com/yckj/service/UserService.java
@@ -1,29 +1,21 @@
package com.yckj.service;
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sun.deploy.util.ArrayUtil;
import com.yckj.dto.UserLoginInfo;
import com.yckj.mapper.UserMapper;
import com.yckj.pojo.User;
import com.whyc.dto.UserLoginInfo;
import com.whyc.mapper.UserMapper;
import com.whyc.pojo.User;
import lombok.extern.slf4j.Slf4j;
import org.assertj.core.util.Arrays;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.ServletContext;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -87,16 +79,16 @@
            //servletContext中存储用户信息
            ServletContext servletContext = request.getServletContext();
           List<UserLoginInfo> users = (List<UserLoginInfo>) servletContext.getAttribute("users");
            if(users==null){
           Map<String,UserLoginInfo> userMap = (Map<String, UserLoginInfo>) servletContext.getAttribute("users");
            if(userMap==null){
                log.info("servletContext首次存值");
                users = new LinkedList<>();
                users.add(new UserLoginInfo(username,timestamp));
                servletContext.setAttribute("users",users);
                userMap = new HashMap<>();
                userMap.put(username,new UserLoginInfo(username,timestamp));
                servletContext.setAttribute("users",userMap);
            }else{
                log.info("servletContext已经有值");
                users.add(new UserLoginInfo(username,timestamp));
                servletContext.setAttribute("users",users);
                userMap.put(username,new UserLoginInfo(username,timestamp));
                servletContext.setAttribute("users",userMap);
            }
        }
        return flag;
@@ -111,16 +103,18 @@
        User user = (User) session.getAttribute("user");
        Long timestamp = (Long) session.getAttribute("timestamp");
        List<UserLoginInfo> users = (List<UserLoginInfo>) servletContext.getAttribute("users");
        if(user==null){
            return false;
        }
        Map<String,UserLoginInfo> userMap = (Map<String, UserLoginInfo>) servletContext.getAttribute("users");
        for (UserLoginInfo temp:users){
            if(temp.getUsername().equals(user.getUsername()) && temp.getTimestamp()==timestamp){
        UserLoginInfo userLoginInfo = userMap.get(user.getUsername());
        if(userLoginInfo.getUsername().equals(user.getUsername()) && userLoginInfo.getTimestamp().compareTo(timestamp)==0){
                //说明没有从其他地方登录
            }else{
                //说明从其他地方登录了,当前用户的session清除
                flag = true;
                session.invalidate();
            }
        }else{
            //说明从其他地方登录了,当前用户的session清除
            flag = true;
            session.invalidate();
        }
        return flag;
    }
src/main/java/com/whyc/swagger/SwaggerConfig.java
File was renamed from src/main/java/com/yckj/swagger/SwaggerConfig.java
@@ -1,4 +1,4 @@
package com.yckj.swagger;
package com.whyc.swagger;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
@@ -19,7 +19,7 @@
@Configuration
@EnableSwagger2
@ConditionalOnProperty(name = "swagger.enable",havingValue = "true")
@ComponentScan(basePackages= {"com.yckj.controller"})
@ComponentScan(basePackages= {"com.whyc.controller"})
@EnableWebMvc
public class SwaggerConfig {
src/main/java/com/whyc/swagger/webAppConfig.java
File was renamed from src/main/java/com/yckj/swagger/webAppConfig.java
@@ -1,4 +1,4 @@
package com.yckj.swagger;
package com.whyc.swagger;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
src/main/java/com/whyc/util/ActionUtil.java
File was renamed from src/main/java/com/yckj/util/ActionUtil.java
@@ -1,4 +1,4 @@
package com.yckj.util;
package com.whyc.util;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
src/main/java/com/whyc/util/DateUtil.java
File was renamed from src/main/java/com/yckj/util/DateUtil.java
@@ -1,4 +1,4 @@
package com.yckj.util;
package com.whyc.util;
import java.text.SimpleDateFormat;
src/main/java/com/yckj/filter/LoginFilter.java
File was deleted
src/main/java/com/yckj/mapper/UserMapper.java
File was deleted
src/main/resources/META-INF/MANIFEST.MF
@@ -1,3 +1,3 @@
Manifest-Version: 1.0
Main-Class: com.yckj.Application
Main-Class: com.whyc.Application
src/main/resources/mapper/UserMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yckj.mapper.UserMapper" >
<mapper namespace="com.whyc.mapper.UserMapper" >
</mapper>
src/main/resources/mapper/ZMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yckj.mapper" >
<mapper namespace="com.whyc.mapper" >
</mapper>