提交 181e4b83 authored 作者: 133's avatar 133

Initial commit

上级
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
### VS Code ###
.vscode/
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
### VS Code ###
.vscode/
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.tykj.dev</groupId>
<artifactId>blockcha</artifactId>
<version>1.0-SNAPSHOT</version>
<name>blockcha</name>
<description>Demo project for Spring Boot</description>
<parent>
<artifactId>equip</artifactId>
<groupId>com.tykj</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<dependencies>
</dependencies>
</project>
package com.tykj.dev.blockcha;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class BlockchaApplication {
public static void main(String[] args) {
SpringApplication.run(BlockchaApplication.class, args);
}
}
spring.application.name=blockcha
management.endpoints.jmx.exposure.include=*
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
# spring cloud access&secret config
# 可以访问如下地址查看: https://usercenter.console.aliyun.com/#/manage/ak
alibaba.cloud.access-key=****
alibaba.cloud.secret-key=****
package com.tykj.dev.blockcha;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class BlockchaApplicationTests {
@Test
void contextLoads() {
}
}
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
### VS Code ###
.vscode/
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.tykj.dev</groupId>
<artifactId>config</artifactId>
<version>1.0-SNAPSHOT</version>
<name>config</name>
<description>Demo project for Spring Boot</description>
<parent>
<artifactId>equip</artifactId>
<groupId>com.tykj</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<properties>
<swagger.version>2.9.0</swagger.version>
</properties>
<dependencies>
<!--swagger2 enable dependency-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>com.github.caspar-chen</groupId>
<artifactId>swagger-ui-layer</artifactId>
<version>0.0.4</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-bean-validators</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.46</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<!--<dependency>-->
<!--<groupId>com.alibaba</groupId>-->
<!--<artifactId>fastjson</artifactId>-->
<!--<version>1.2.46</version>-->
<!--</dependency>-->
</dependencies>
</project>
package com.tykj.dev.config;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ConfigApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
}
}
package com.tykj.dev.config.swagger;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-04-26
*/
@Target({TYPE, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Documented
public @interface AutoDocument {
String value() default "";
}
package com.tykj.dev.config.swagger;
import com.google.common.collect.Sets;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.OAuthBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.Arrays;
import java.util.Collections;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-04-26
*/
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.produces(Sets.newHashSet("application/json"))
.consumes(Sets.newHashSet("application/json"))
.protocols(Sets.newHashSet("https","http"))
.apiInfo(apiInfo())
.forCodeGeneration(true)
.useDefaultResponseMessages(true)
// .globalResponseMessage(RequestMethod.GET, getResMsg())
.select()
// 指定controller存放的目录路径
.apis(RequestHandlerSelectors.withClassAnnotation(AutoDocument.class))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo())
.securitySchemes(Collections.singletonList(securityScheme()))
.securityContexts(Collections.singletonList(securityContext()));
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
// 文档标题
.title("文件传输系统接口文档")
// 文档描述
.description("文件传输系统的接口文档与测试页面")
.termsOfServiceUrl("git地址待更新")
.version("v1")
.contact(new Contact("efs", "git", "ty@example.com"))
.build();
}
private SecurityContext securityContext() {
return SecurityContext.builder()
.securityReferences(Collections.singletonList(new SecurityReference("spring_oauth", scopes())))
.forPaths(PathSelectors.any())
.build();
}
private SecurityScheme securityScheme() {
GrantType grantType = new ResourceOwnerPasswordCredentialsGrant("/userLogin");
return new OAuthBuilder()
.name("spring_oauth")
.grantTypes(Collections.singletonList(grantType))
.scopes(Arrays.asList(scopes()))
.build();
}
private AuthorizationScope[] scopes() {
return new AuthorizationScope[]{
new AuthorizationScope("all", "All scope is trusted!")
};
}
// private ArrayList<ResponseMessage> getResMsg() {
// return newArrayList(new ResponseMessageBuilder()
// .code(500)
// .message("服务器内部发生了某种错误")
// .responseModel(new ModelRef("Error"))
// .build(),
// new ResponseMessageBuilder()
// .code(404)
// .message("用户发出的请求针对的是不存在的记录,服务器没有进行操作")
// .responseModel(new ModelRef("Exception"))
// .build(),
// new ResponseMessageBuilder()
// .code(406)
// .message("用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)")
// .responseModel(new ModelRef("Exception"))
// .build(),
// new ResponseMessageBuilder()
// .code(501)
// .message("不支持的HTTP请求,请检查HTTP TYPE与资源路径是否正确")
// .responseModel(new ModelRef("Exception"))
// .build());
// }
}
spring.application.name=config
management.endpoints.jmx.exposure.include=*
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
# spring cloud access&secret config
# 可以访问如下地址查看: https://usercenter.console.aliyun.com/#/manage/ak
alibaba.cloud.access-key=****
alibaba.cloud.secret-key=****
package com.tykj.dev.config;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class ConfigApplicationTests {
@Test
void contextLoads() {
}
}
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
### VS Code ###
.vscode/
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-allot</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-apply</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-confitmcheck</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-destory</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-finalcheck</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-library</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-matching</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-packing</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-repair</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-retired</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-scrap</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-selfcheck</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-sendback</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-stotage</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-task</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-train</artifactId>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>device</artifactId>
<groupId>com.tykj.dev</groupId>
<version>1.0-SNAPSHOT</version>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-user</artifactId>
<dependencies>
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!--<dependency>-->
<!--<groupId>com.tykj.dev</groupId>-->
<!--<artifactId>config</artifactId>-->
<!--<version>1.0-SNAPSHOT</version>-->
<!--<exclusions>-->
<!--<exclusion>-->
<!--<groupId>com.tykj.dev</groupId>-->
<!--<artifactId>device</artifactId>-->
<!--</exclusion>-->
<!--</exclusions>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>com.tykj.dev</groupId>-->
<!--<artifactId>misc</artifactId>-->
<!--<version>1.0-SNAPSHOT</version>-->
<!--<exclusions>-->
<!--<exclusion>-->
<!--<groupId>com.tykj.dev</groupId>-->
<!--<artifactId>device</artifactId>-->
<!--</exclusion>-->
<!--</exclusions>-->
<!--</dependency>-->
</dependencies>
</project>
\ No newline at end of file
package com.tykj.dev.device.user.base.beabs;
import org.modelmapper.ModelMapper;
import org.modelmapper.convention.MatchingStrategies;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
/**
* @author zjm
* @version 1.0.0
* @ClassName BeanHelper.java
* @Description TODO
* @createTime 2020年08月11日 11:18:00
*/
@Service
public class BeanHelper {
private static ModelMapper mapper = new ModelMapper();
static {
mapper.getConfiguration().setAmbiguityIgnored(true);
//设置为严格匹配
mapper.getConfiguration().setFullTypeMatchingRequired(true);
mapper.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT);
}
public static ModelMapper getUserMapper() {
return mapper;
}
@Bean
public ModelMapper initModelMapper() {
return mapper;
}
// @Bean
// public ObjectMapper objectMapper() {
// return new ObjectMapper().disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
// }
}
package com.tykj.dev.device.user.base.req;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author zjm
* @version 1.0.0
* @ClassName loginUser.java
* @Description 登入接口参数对象
* @createTime 2020年07月28日 10:33:00
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "登入接口参数对象", description = "登入接口参数信息")
public class LoginUser {
/**
* 账号
*/
@ApiModelProperty(value = "账号", name = "userName", example = "12321L")
private String username;
/**
* 密码
*/
@ApiModelProperty(value = "密码", name = "mPassWord", example = "12321L")
private String password;
}
package com.tykj.dev.device.user.base.req;
import com.tykj.dev.device.user.base.beabs.BeanHelper;
import com.tykj.dev.device.user.subject.entity.User;
import io.swagger.annotations.ApiModelProperty;
import org.modelmapper.ModelMapper;
/**
* @author zjm
* @version 1.0.0
* @ClassName NewUser.java
* @Description 用户新增
* @createTime 2020年08月11日 10:49:00
*/
public class NewUser {
@ApiModelProperty(value = "真实名称", name = "name", example = "12321L")
private String name;
/**
* 密码
*/
@ApiModelProperty(value = "密码", name = "mPassWord", example = "12321L")
private String password;
/**
* 用户名
*/
@ApiModelProperty(value = "用户名", name = "userName", example = "12321L")
private String username;
/**
* 移动电话
*/
@ApiModelProperty(value = "移动电话", name = "mobile", example = "12321L")
private String mobile;
/**
* 机座
*/
@ApiModelProperty(value = "机座", name = "telphone", example = "12321L")
private String telphone;
/**
* 邮箱
*/
@ApiModelProperty(value = "邮箱", name = "email", example = "12321L")
private String email;
/**
* 真传
*/
@ApiModelProperty(value = "真传", name = "fax", example = "12321L")
private String fax;
/**
* 身份证
*/
@ApiModelProperty(value = "身份证", name = "idCard", example = "12321L")
private String idCard;
/**
* 性别
*/
@ApiModelProperty(value = "性别", name = "sex", example = "12321L")
private Integer sex;
/**
* 用户单位id
*/
@ApiModelProperty(value = "用户单位", name = "unitsId", example = "12321L")
private Integer unitsId;
//
// private Integer trainStatus;
//
// private String
private String auditUserId;
public User toDo(){
ModelMapper mapper= BeanHelper.getUserMapper();
return mapper.map(this,User.class);
}
}
package com.tykj.dev.device.user.base.ret;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author zjm
* @version 1.0.0
* @ClassName AreaVo.java
* @Description TODO
* @createTime 2020年08月12日 14:22:00
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class AreaVo {
private Integer areaId;
/**
* 区域名称
*/
private String name;
/**
* 等级 等级 0国家级 1省级 2市级 3县级
*/
private Integer type;
/**
* 排序
*/
private String order;
private Integer fatherId;
private List<UnitsVo> units;
/**
* 前端使用对象
*/
private Integer frontEnd;
}
package com.tykj.dev.device.user.base.ret;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author zjm
* @version 1.0.0
* @ClassName MemberThat.java
* @Description TODO
* @createTime 2020年08月11日 20:21:00
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "专管员交接对象", description = "专管员交接对象")
@Builder
public class HandoverUser {
@ApiModelProperty(value = "id", name = "userId", example = "12321L")
private Integer userId;
/**
* 真实名称
*/
@ApiModelProperty(value = "真实名称", name = "name", example = "12321L")
private String name;
/**
* 排序
*/
@ApiModelProperty(value = "排序", name = "showOrder", example = "12321L")
private Integer showOrder;
/**
* 移动电话
*/
@ApiModelProperty(value = "移动电话", name = "mobile", example = "12321L")
private String mobile;
/**
* 机座
*/
@ApiModelProperty(value = "机座", name = "telphone", example = "12321L")
private String telphone;
/**
* 邮箱
*/
@ApiModelProperty(value = "邮箱", name = "email", example = "12321L")
private String email;
/**
* 真传
*/
@ApiModelProperty(value = "真传", name = "fax", example = "12321L")
private String fax;
/**
* 状态 默认0,1表示删除
*/
@ApiModelProperty(value = "状态", name = "isDel", example = "12321L")
private Integer isDel;
/**
* 身份证
*/
@ApiModelProperty(value = "身份证", name = "idCard", example = "12321L")
private String idCard;
/**
* 性别
*/
@ApiModelProperty(value = "性别", name = "sex", example = "12321L")
private Integer sex;
/**
* 用户单位
*/
@ApiModelProperty(value = "用户单位", name = "unitsId", example = "12321L")
private Integer unitsId;
/**
* 用户单位名称
*/
@ApiModelProperty(value = "用户单位名称", name = "unitsId", example = "12321L")
private String unitsName;
/**
* 培训状态 0.已培训 1.已过期 2.未培训 3.快过期
*/
private Integer trainStatus;
/**
* 职务
*/
@ApiModelProperty(value = "用户职务",name = "position")
private Integer position;
/**
* 证书编号
*/
@ApiModelProperty(value = "证书编号", name = "certNum", example = "12321L")
private Integer certNum;
/**
* 颁发日期
*/
@ApiModelProperty(value = "颁发日期", name = "issueDate", example = "12321L")
private Date issueDate;
/**
* 失效日期
*/
@ApiModelProperty(value = "失效日期", name = "expiryDate", example = "12321L")
private Date expiryDate;
/**
*是否失效 默认0 1失效
*
*/
@ApiModelProperty(value = "是否失效 默认0 1失效", name = "isExpiry", example = "12321L")
private Integer isExpiry;
/**
* 证书名称
*/
@ApiModelProperty(value = "证书名称", name = "certName", example = "12321L")
private String certName;
}
package com.tykj.dev.device.user.base.ret;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.tykj.dev.user.base.beabs.BeanHelper;
import com.tykj.dev.user.subject.entity.User;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.modelmapper.ModelMapper;
import java.util.Date;
/**
* @author zjm
* @version 1.0.0
* @ClassName MemberThat.java
* @Description TODO
* @createTime 2020年08月11日 20:21:00
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "专管员对象", description = "专管员记录")
@Builder
public class MemberThat {
private Integer userId;
/**
* 真实名称
*/
@ApiModelProperty(value = "真实名称", name = "name", example = "12321L")
private String name;
/**
* 密码
*/
@ApiModelProperty(value = "密码", name = "mPassWord", example = "12321L")
private String password;
/**
* 用户名
*/
@ApiModelProperty(value = "用户名", name = "userName", example = "12321L")
private String username;
/**
* 排序
*/
@ApiModelProperty(value = "排序", name = "showOrder", example = "12321L")
private Integer showOrder;
/**
* 移动电话
*/
@ApiModelProperty(value = "移动电话", name = "mobile", example = "12321L")
private String mobile;
/**
* 机座
*/
@ApiModelProperty(value = "机座", name = "telphone", example = "12321L")
private String telphone;
/**
* 邮箱
*/
@ApiModelProperty(value = "邮箱", name = "email", example = "12321L")
private String email;
/**
* 真传
*/
@ApiModelProperty(value = "真传", name = "fax", example = "12321L")
private String fax;
/**
* 状态 默认0,1表示删除
*/
@ApiModelProperty(value = "状态", name = "isDel", example = "12321L")
private Integer isDel;
/**
* 身份证
*/
@ApiModelProperty(value = "身份证", name = "idCard", example = "12321L")
private String idCard;
/**
* 性别
*/
@ApiModelProperty(value = "性别", name = "sex", example = "12321L")
private Integer sex;
/**
* 用户单位
*/
@ApiModelProperty(value = "用户单位", name = "unitsId", example = "12321L")
private Integer unitsId;
/**
* 用户单位名称
*/
@ApiModelProperty(value = "用户单位", name = "unitsId", example = "12321L")
private String unitsName;
/**
* 职务
*/
@ApiModelProperty(value = "用户职务",name = "position")
private Integer position;
/**
* 培训状态 0.已培训 1.已过期 2.未培训 3.快过期
*/
private Integer trainStatus;
/**
* 证书编号
*/
@ApiModelProperty(value = "证书编号", name = "certNum", example = "12321L")
private Integer certNum;
/**
* 颁发日期
*/
@ApiModelProperty(value = "颁发日期", name = "issueDate", example = "12321L")
private Date issueDate;
/**
* 失效日期
*/
@ApiModelProperty(value = "失效日期", name = "expiryDate", example = "12321L")
private Date expiryDate;
/**
*是否失效 默认0 1失效
*
*/
@ApiModelProperty(value = "是否失效 默认0 1失效", name = "isExpiry", example = "12321L")
private Integer isExpiry;
/**
* 证书名称
*/
@ApiModelProperty(value = "证书名称", name = "certName", example = "12321L")
private String certName;
/**
* 剩余时间 long
*/
@JsonIgnore
private Long remaining;
public User toUserVo(){
ModelMapper mapper= BeanHelper.getUserMapper();
return mapper.map(this, User.class);
}
}
package com.tykj.dev.device.user.base.ret;
import com.tykj.dev.device.user.subject.entity.Permissions;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author zjm
* @version 1.0.0
* @ClassName PermissionsType.java
* @Description TODO
* @createTime 2020年08月12日 11:06:00
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "分类-权限对象", description = "分类-权限对象")
@Builder
public class PermissionsType {
// /**
// * 分类名称
// */
// private String name;
/**
* 分类序号
*/
private Integer typeCode;
/**
* 权限详情
*/
private List<Permissions> permissions;
}
package com.tykj.dev.device.user.base.ret;
import com.tykj.dev.device.user.subject.entity.Role;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author zjm
* @version 1.0.0
* @ClassName RolePage.java
* @Description TODO
* @createTime 2020年08月12日 10:18:00
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "角色分页对象", description = "角色分页对象")
@Builder
public class RolePage {
@ApiModelProperty(value = "总数",example = "10")
private Integer total;
@ApiModelProperty(value = "页数,0开始",example = "0")
private Integer page;
@ApiModelProperty(value = "大小",example = "10")
private Integer size;
@ApiModelProperty(value = "数据内容",example = "略")
private List<Role> data;
}
package com.tykj.dev.device.user.base.ret;
import com.tykj.dev.device.user.base.beabs.BeanHelper;
import com.tykj.dev.device.user.subject.entity.Role;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.modelmapper.ModelMapper;
import java.util.Date;
import java.util.List;
/**
* @author zjm
* @version 1.0.0
* @ClassName AddRole.java
* @Description TODO
* @createTime 2020年08月12日 12:21:00
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "角色添加修改对象对象", description = "角色添加修改对象对象")
public class RoleVo {
@ApiModelProperty(value = "角色id", name = "roleId", example = "12321L")
private Integer roleId;
@ApiModelProperty(value = "角色名称", name = "roleName", example = "12321L")
private String roleName;
@ApiModelProperty(value = "创建人名称")
private String createName;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "权限id")
List<Integer> permissionsIds;
public Role toDo(){
ModelMapper mapper= BeanHelper.getUserMapper();
return mapper.map(this,Role.class);
}
}
package com.tykj.dev.device.user.base.ret;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author zjm
* @version 1.0.0
* @ClassName UnitsTrainVo.java
* @Description TODO
* @createTime 2020年08月18日 21:37:00
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "单位对象", description = "给培训人员列表做筛选")
public class UnitsTrainVo {
/**
* 单位ID
*/
private Integer unitId;
/**
* 单位名称
*/
@ApiModelProperty(value = "单位名称", name = "unitName", example = "12321L")
private String name;
}
package com.tykj.dev.device.user.base.ret;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author zjm
* @version 1.0.0
* @ClassName UnitsVo.java
* @Description TODO
* @createTime 2020年08月12日 14:22:00
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class UnitsVo {
/**
* 单位ID
*/
private Integer unitId;
/**
* 单位名称
*/
@ApiModelProperty(value = "单位名称", name = "unitName", example = "12321L")
private String name;
/**
* 单位描述
*/
@ApiModelProperty(value = "单位描述", name = "unitDesc", example = "12321L")
private String unitDesc;
/**
* 等级
*/
@ApiModelProperty(value = "等级", name = "level", example = "12321L")
private Integer level;
/**
* 是否删除
*/
@ApiModelProperty(value = "是否删除", name = "idDel", example = "12321L")
private Integer idDel;
/**
* 序列号
*/
@ApiModelProperty(value = "序列号", name = "code", example = "12321L")
private String code;
private Integer frontEnd;
}
package com.tykj.dev.device.user.base.ret;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author zjm
* @version 1.0.0
* @ClassName UserConditionsVo.java
* @Description 用户列表查询接口
* @createTime 2020年08月23日 16:07:00
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "用户查询条件对象", description = "用户查询条件信息")
@Builder
public class UserConditionsVo {
@ApiModelProperty(value = "单位id", name = "unitsId", example = "12321L")
private Integer unitsId;
@ApiModelProperty(value = "页码", name = "page", example = "12321L")
private Integer page;
@ApiModelProperty(value = "条数", name = "size", example = "12321L")
private Integer size;
@ApiModelProperty(value = "模糊搜索", name = "dim", example = "12321L")
private String dim;
}
package com.tykj.dev.device.user.base.ret;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-04-26
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "用户分页对象", description = "用户分页对象")
@Builder
public class UserPage {
@ApiModelProperty(value = "总数",example = "10")
private Integer total;
@ApiModelProperty(value = "页数,0开始",example = "0")
private Integer page;
@ApiModelProperty(value = "大小",example = "10")
private Integer size;
@ApiModelProperty(value = "数据内容",example = "略")
private List<MemberThat> data;
}
package com.tykj.dev.device.user.base.ret;
import com.tykj.dev.user.subject.entity.Permissions;
import com.tykj.dev.user.subject.entity.Units;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author zjm
* @version 1.0.0
* @ClassName UserRe.java
* @Description 登入成功返回对象
* @createTime 2020年07月28日 10:57:00
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "登入成功返回对象", description = "登入成功返回信息")
public class UserRe {
@ApiModelProperty(value = "用户id", name = "userId", example = "12321L")
private Integer userId;
@ApiModelProperty(value = "账号", name = "userName", example = "12321L")
private String username;
@ApiModelProperty(value = "真实名称", name = "name", example = "12321L")
private String name;
@ApiModelProperty(value = "单位对象", name = "units", example = "12321L")
private Units units;
@ApiModelProperty(value = "权限对象", name = "permissions", example = "12321L")
private Permissions permissions;
}
package com.tykj.dev.device.user.base.ret;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author zjm
* @version 1.0.0
* @ClassName UserShenRe.java
* @Description TODO
* @createTime 2020年08月09日 11:35:00
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class UserShenRe {
private Integer userId;
private String name;
/**
* 培训状态 0.已培训 1.已过期 2.未培训 3.快过期
*/
private Integer trainStatus;
}
package com.tykj.dev.device.user.base.ret;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author zjm
* @version 1.0.0
* @ClassName UserSuperiorVo.java
* @Description TODO
* @createTime 2020年08月21日 14:12:00
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "上级单位所有专管员对象")
public class UserSuperiorVo {
/**
* 用户
*/
@ApiModelProperty(value = "用户数据ID", name = "userId", example = "12321L")
// @GeneratedValue(generator="UserIdentityGenerator",strategy = GenerationType.AUTO)
// @GenericGenerator(name = "UserIdentityGenerator", strategy = "UserIdentityGenerator")
private Integer userId;
/**
* 真实名称
*/
@ApiModelProperty(value = "真实名称", name = "name", example = "12321L")
private String name;
/**
* 用户单位名称
*/
@ApiModelProperty(value = "用户单位名称", name = "unitsId", example = "12321L")
private String unitsName;
/**
* 用户单位id
*/
@ApiModelProperty(value = "用户单位id", name = "unitsId", example = "12321L")
private String unitsId;
}
package com.tykj.dev.device.user.base.ret;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author zjm
* @version 1.0.0
* @ClassName UserTranitVo.java
* @Description TODO
* @createTime 2020年08月18日 17:35:00
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "培训选人列表实体")
public class UserTrainVo {
/**
* 用户
*/
@ApiModelProperty(value = "用户数据ID", name = "userId", example = "12321L")
// @GeneratedValue(generator="UserIdentityGenerator",strategy = GenerationType.AUTO)
// @GenericGenerator(name = "UserIdentityGenerator", strategy = "UserIdentityGenerator")
private Integer userId;
/**
* 真实名称
*/
@ApiModelProperty(value = "真实名称", name = "name", example = "12321L")
private String name;
/**
* 移动电话
*/
@ApiModelProperty(value = "移动电话", name = "mobile", example = "12321L")
private String mobile;
/**
* 身份证
*/
@ApiModelProperty(value = "身份证", name = "idCard", example = "12321L")
private String idCard;
/**
* 性别
*/
@ApiModelProperty(value = "性别", name = "sex", example = "12321L")
private Integer sex;
/**
* 职务
*/
@ApiModelProperty(value = "用户职务",name = "position")
private Integer position;
/**
* 用户单位
*/
@ApiModelProperty(value = "用户单位", name = "unitsId", example = "12321L")
private String unitsName;
/**
* 培训状态 0.已培训 1.已过期 2.未培训 3.快过期
*/
private Integer trainStatus;
/**
* 0 是 1 否
*/
private Integer isMustJoin;
}
package com.tykj.dev.device.user.base.ret;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author zjm
* @version 1.0.0
* @ClassName UserUpdatePw.java
* @Description TODO
* @createTime 2020年08月11日 15:15:00
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "修改密码类")
public class UserUpdatePw {
@ApiModelProperty(name = "用户id")
private Integer userId;
@ApiModelProperty(name = "密码")
private String password;
@ApiModelProperty(name = "新密码")
private String newPassWord;
}
package com.tykj.dev.device.user.config;
import lombok.Data;
/**
* @author zjm
*/
@Data
public class AuthenticationBean {
String username;
String password;
}
package com.tykj.dev.device.user.config;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.stereotype.Component;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author zjm
*/
@Component
public class MyEntryPoint implements AuthenticationEntryPoint {
@Override
public void commence(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, AuthenticationException e) throws IOException, ServletException {
httpServletResponse.setStatus(403);
httpServletResponse.setContentType("application/json");
httpServletResponse.setCharacterEncoding("utf-8");
httpServletResponse.getWriter().println("{\"code\":403,\"msg\":\"用户未登陆\"}");
}
}
package com.tykj.dev.device.user.config;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.tykj.dev.device.user.subject.entity.SecurityUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.core.session.SessionRegistry;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
* @author zjm
*/
public class MyFilter extends UsernamePasswordAuthenticationFilter {
@Autowired
SessionRegistry sessionRegistry;
@Override
public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException {
// Cookie[] cookies = request.getCookies();
// if(cookies==null){
// return super.attemptAuthentication(request, response);
// }
// String value = cookies[0].getValue();
if (request.getContentType().contains(MediaType.APPLICATION_JSON_VALUE) || request.getContentType().contains(MediaType.APPLICATION_JSON_UTF8_VALUE)) {
Map<String, String> loginData = new HashMap<>();
try {
loginData = new ObjectMapper().readValue(request.getInputStream(), Map.class);
} catch (IOException e) {
System.out.println("myfile错误");
}
String username = loginData.get(getUsernameParameter());
String password = loginData.get(getPasswordParameter());
if (username == null) {
username = "";
}
if (password == null) {
password = "";
}
username = username.trim();
UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(
username, password);
setDetails(request, authRequest);
SecurityUser principal = new SecurityUser();
principal.setUsername(username);
sessionRegistry.registerNewSession(request.getSession(true).getId(), principal);
System.out.println("___"+request.getSession(true).getId());
return this.getAuthenticationManager().authenticate(authRequest);
// if (request.getContentType().equals(MediaType.APPLICATION_JSON_UTF8_VALUE) || request.getContentType().equals(MediaType.APPLICATION_JSON_VALUE)) {
// ObjectMapper mapper = new ObjectMapper();
// UsernamePasswordAuthenticationToken authRequest = null;
// try (InputStream is = request.getInputStream()) {
// Map<String, String> authenticationBean = mapper.readValue(is, Map.class);
// authRequest = new UsernamePasswordAuthenticationToken(authenticationBean.get("username"), authenticationBean.get("password"));
// } catch (IOException e) {
// e.printStackTrace();
// authRequest = new UsernamePasswordAuthenticationToken("", "");
// } finally {
// setDetails(request, authRequest);
// SecurityUser principal = new SecurityUser();
// principal.setUsername(username);
// sessionRegistry.registerNewSession(request.getSession(true).getId(), principal);
// return this.getAuthenticationManager().authenticate(authRequest);
// }
} else {
SecurityUser principal = new SecurityUser();
principal.setUsername(request.getParameter("username"));
System.out.println("___"+request.getSession(true).getId());
sessionRegistry.registerNewSession(request.getSession(true).getId(), principal);
return super.attemptAuthentication(request, response);
}
}
}
package com.tykj.dev.device.user.config;
import com.tykj.dev.device.user.subject.entity.Role;
import com.tykj.dev.device.user.subject.entity.SecurityUser;
import com.tykj.dev.device.user.subject.entity.User;
import com.tykj.dev.device.user.subject.entity.UserRole;
import com.tykj.dev.device.user.subject.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* @author zjm
*/
@Service
public class MyUserDetailsServiceImpl implements UserDetailsService {
@Autowired
private BCryptPasswordEncoder bCryptPasswordEncoder;
@Autowired
private UserService userService;
@Autowired
private UserRoleService userRoleService;
@Autowired
private RoleService roleService;
@Autowired
private RolePermissionsService rolePermissionsService;
@Autowired
PermissionsService permissionsService;
@Autowired
UnitsService unitsService;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException{
System.out.println("userService验证:" + username);
SecurityUser securityUser= new SecurityUser();
User user = userService.findByUserName(username);
if(user==null){
throw new UsernameNotFoundException("用户名不正确");
}else {
List<UserRole> userRoles = userRoleService.findByUserId(user.getUserId());
List<Integer> roleIds = new ArrayList<>();
if(userRoles!=null){
for (UserRole userRole : userRoles) {
roleIds.add(userRole.getRoleId());
}
}
// user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
// List<SimpleGrantedAuthority> list = new ArrayList<>();
List<Role> roles = roleService.findAllByRoles(roleIds);
// List<RolePermissions> rolePermissions = rolePermissionsService.findAllByRoleIds(roleIds);
// List<Integer> PermissionsIds = new ArrayList<>();
// if(rolePermissions!=null){
// for (RolePermissions permissions : rolePermissions) {
// if(!PermissionsIds.contains(permissions.getPermissionsId())){
// PermissionsIds.add(permissions.getPermissionsId());
// }
// }
// }
//
// List<Permissions> permissionsList = permissionsService.findAllByPerissionsIds(PermissionsIds);
// permissionsList.forEach(permissions -> {
// list.add(new SimpleGrantedAuthority(permissions.getPermissionsDes()));
// });
// user.setArrayList(list);
user.setUnits(unitsService.findById(user.getUnitsId()));
securityUser.setCurrentUserInfo(user);
securityUser.setRoleList(roles);
securityUser.setUsername(username);
return securityUser;
}
}
}
package com.tykj.dev.device.user.config;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @Author zjm
* @create 2020/3/11 10:53
*/
@Component
@WebFilter(filterName = "MyCorsFilter", urlPatterns = "/*")
@Order(2)
public class PasCorsFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
// 设置响应头的权限信息 request.getHeader("Origin")
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, PATCH, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
//original headers Origin, X-Requested-With, Content-Type, Accept
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
chain.doFilter(req, res);
}
@Override
public void init(FilterConfig config) {
}
@Override
public void destroy() {
}
}
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论