提交 72939942 authored 作者: xc's avatar xc

Merge branch 'develop' of 192.168.1.249:LJJ/encrypted-file-system

<?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>efs</artifactId>
<groupId>com.zjty</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>efs-log</artifactId>
<dependencies>
<dependency>
<groupId>com.zjty</groupId>
<artifactId>efs-misc</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--springboot aop 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!--springboot-cache-jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
# dir files
/target/
/log/*
/file
/files
# Compiled class file
*.class
# Log file
*.log
.log
**/.log
# publisher file
schemes.json
# BlueJ files
*.ctxt
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# other files
!.mvn/wrapper/maven-wrapper.jar
*#
*.iml
*.ipr
*.iws
*.jar
*.sw?
*~
.#*
.*.md.html
.DS_Store
.classpath
.factorypath
.gradle
.idea
.metadata
.project
.recommenders
.settings
.springBeans
/build
/code
MANIFEST.MF
_site/
activemq-data
bin
build
build.log
dependency-reduced-pom.xml
dump.rdb
interpolated*.xml
lib/
manifest.yml
overridedb.*
settings.xml
target
transaction-logs
.flattened-pom.xml
secrets.yml
.gradletasknamecache
.sts4-cache
\ No newline at end of file
package com.zjty.efs.log;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-26
*/
@SpringBootApplication(scanBasePackages = {
"com.zjty.efs.log",
"com.zjty.efs.misc"
})
public class LogApplication {
public static void main(String[] args) {
SpringApplication.run(LogApplication.class,args);
}
}
# dir files
/target/
/log/*
/file
/files
# Compiled class file
*.class
# Log file
*.log
.log
**/.log
# publisher file
schemes.json
# BlueJ files
*.ctxt
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# other files
!.mvn/wrapper/maven-wrapper.jar
*#
*.iml
*.ipr
*.iws
*.jar
*.sw?
*~
.#*
.*.md.html
.DS_Store
.classpath
.factorypath
.gradle
.idea
.metadata
.project
.recommenders
.settings
.springBeans
/build
/code
MANIFEST.MF
_site/
activemq-data
bin
build
build.log
dependency-reduced-pom.xml
dump.rdb
interpolated*.xml
lib/
manifest.yml
overridedb.*
settings.xml
target
transaction-logs
.flattened-pom.xml
secrets.yml
.gradletasknamecache
.sts4-cache
\ No newline at end of file
package com.zjty.efs.log.subject.controller;
import com.zjty.efs.log.subject.entity.EfsLogVo;
import com.zjty.efs.log.subject.service.EfsLogService;
import com.zjty.efs.misc.config.AutoDocument;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-26
*/
@RestController
@RequestMapping("/api")
@AutoDocument
@Api(tags = "日志模块")
public class EfsController {
@Autowired
private EfsLogService efsLogService;
@GetMapping("/log")
@ApiOperation(value = "查询日志的接口")
@ApiImplicitParams({
@ApiImplicitParam(name="page",value="页数,1开始",dataType="integer", paramType = "query"),
@ApiImplicitParam(name="size",value="每页大小",dataType="integer", paramType = "query")
})
public ResponseEntity<EfsLogVo> getAll(@RequestParam(value = "page") Integer page,
@RequestParam(value = "size") Integer size) {
page = page -1;
EfsLogVo rs = efsLogService.findAllLog(page, size);
return ResponseEntity.ok(rs);
}
}
package com.zjty.efs.log.subject.dao;
import com.zjty.efs.log.subject.entity.EfsLog;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-26
*/
public interface EfsLogDao extends JpaRepository<EfsLog, String> {
}
package com.zjty.efs.log.subject.entity;
import com.zjty.efs.misc.config.AutoDocument;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.util.Date;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-26
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@AutoDocument
@ApiModel(value = "消息日志", description = "消息模块")
@Entity
public class EfsLog {
@ApiModelProperty(value = "id",example = "jksdhfjks5")
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "org.hibernate.id.UUIDGenerator" )
private String id;
@ApiModelProperty(value = "操作人id", example = "张三")
private String operatorId;
@ApiModelProperty(value = "消息内容",example = "***干了***")
private String msg;
@ApiModelProperty(value = "创建时间",example = "2010-01-01 00:00:00")
private Date time;
}
package com.zjty.efs.log.subject.entity;
import com.zjty.efs.misc.config.AutoDocument;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-26
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@AutoDocument
@ApiModel(value = "查询日志返回类", description = "返回对象")
public class EfsLogVo {
@ApiModelProperty(value = "总数", example = "10")
private Long total;
@ApiModelProperty(value = "页数", example = "1")
private Integer page;
@ApiModelProperty(value = "每页大小", example = "10")
private Integer size;
@ApiModelProperty(value = "对象", example = "")
private List<EfsLog> data;
}
package com.zjty.efs.log.subject.service;
import com.zjty.efs.log.subject.entity.EfsLog;
import com.zjty.efs.log.subject.entity.EfsLogVo;
import org.springframework.stereotype.Service;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-26
*/
@Service
public interface EfsLogService {
/**
* 查询日志
* @param page page
* @param sze size
* @return obj
*/
EfsLogVo findAllLog(Integer page,Integer sze);
/**
* 存储日志
* @param efsLog obj
* @return true or false
*/
Boolean addLog(EfsLog efsLog);
}
package com.zjty.efs.log.subject.service.impl;
import com.zjty.efs.log.subject.dao.EfsLogDao;
import com.zjty.efs.log.subject.entity.EfsLog;
import com.zjty.efs.log.subject.entity.EfsLogVo;
import com.zjty.efs.log.subject.service.EfsLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-26
*/
@Service
public class EfsLogServiceImpl implements EfsLogService {
@Autowired
private EfsLogDao efsLogDao;
@Override
public EfsLogVo findAllLog(Integer page, Integer sze) {
Pageable pageable = PageRequest.of(page, sze, Sort.Direction.DESC, "time");
List<EfsLog> rs = efsLogDao.findAll(pageable).getContent();
return new EfsLogVo(efsLogDao.count(),page,sze,rs);
}
@Override
public Boolean addLog(EfsLog efsLog) {
efsLogDao.save(efsLog);
return true;
}
}
package com.zjty.efs.log.tool;
import com.zjty.efs.log.subject.entity.EfsLog;
import com.zjty.efs.log.subject.service.EfsLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-26
*/
@Component
public class EfsLogUtil {
@Autowired
private EfsLogService efsLogService;
public boolean addLog(EfsLog efsLog) {
return efsLogService.addLog(efsLog);
}
}
...@@ -42,12 +42,12 @@ public class Swagger2Config { ...@@ -42,12 +42,12 @@ public class Swagger2Config {
private ApiInfo apiInfo() { private ApiInfo apiInfo() {
return new ApiInfoBuilder() return new ApiInfoBuilder()
// 文档标题 // 文档标题
.title("融合平台接口文档") .title("文件传输系统接口文档")
// 文档描述 // 文档描述
.description("融合平台的接口文档与测试页面") .description("文件传输系统的接口文档与测试页面")
.termsOfServiceUrl("http://192.168.1.155:8080/fusion-group/fusion-platform") .termsOfServiceUrl("git地址待更新")
.version("v1") .version("v1")
.contact(new Contact("fusion-group", "http://192.168.1.155:8080/fusion-group/fusion-platform", "fusion-group@example.com")) .contact(new Contact("efs", "git", "ty@example.com"))
.build(); .build();
} }
......
...@@ -12,6 +12,26 @@ ...@@ -12,6 +12,26 @@
<artifactId>efs-union</artifactId> <artifactId>efs-union</artifactId>
<dependencies> <dependencies>
<dependency>
<groupId>com.zjty</groupId>
<artifactId>efs-log</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.zjty</groupId>
<artifactId>efs-bus</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.zjty</groupId>
<artifactId>efs-ftp</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.zjty</groupId>
<artifactId>efs-user</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency> <dependency>
<groupId>com.zjty</groupId> <groupId>com.zjty</groupId>
<artifactId>efs-misc</artifactId> <artifactId>efs-misc</artifactId>
......
...@@ -11,7 +11,12 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; ...@@ -11,7 +11,12 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
* on 2020-03-23 * on 2020-03-23
*/ */
@SpringBootApplication(scanBasePackages = { @SpringBootApplication(scanBasePackages = {
"com.zjty.efs.misc" "com.zjty.efs.misc",
"com.zjty.efs.union",
"com.zjty.efs.user",
"com.zjty.efs.ftp",
"com.zjty.efs.bus",
"com.zjty.efs.log"
}) })
@EnableSwagger2 @EnableSwagger2
public class UnionApplication { public class UnionApplication {
......
package com.zjty.efs.union.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;
/**
* cors
*
* @author LJJ cnljj1995@gmail.com
* on 2020-03-26
*/
@Component
@WebFilter(filterName = "MyCorsFilter", urlPatterns = "/*")
@Order(2)
public class EfsCorsFilter 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() {
}
}
# port
server.port=8082
logging.file=./log/efs.log
spring.main.allow-bean-definition-overriding=true
##连接中心数据库数据库mysql
spring.datasource.url=jdbc:mysql://localhost:3306/ty_efs?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=ljj123456
# spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=false
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.open-in-view=true
# spring-http-�ļ��ϴ��������
spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=100MB
file.address=/Users/ljj/software/ftp
...@@ -12,6 +12,11 @@ ...@@ -12,6 +12,11 @@
<artifactId>efs-user</artifactId> <artifactId>efs-user</artifactId>
<dependencies> <dependencies>
<dependency>
<groupId>com.zjty</groupId>
<artifactId>efs-log</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
......
...@@ -13,7 +13,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; ...@@ -13,7 +13,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication @SpringBootApplication
@ComponentScan(basePackages = { @ComponentScan(basePackages = {
"com.zjty.efs.misc", "com.zjty.efs.misc",
"com.zjty.efs.user" "com.zjty.efs.user",
"com.zjty.efs.log"
}) })
@EnableSwagger2 @EnableSwagger2
public class UserApplication { public class UserApplication {
......
package com.zjty.efs.user.subject.controller; package com.zjty.efs.user.subject.controller;
import com.zjty.efs.log.subject.entity.EfsLog;
import com.zjty.efs.log.tool.EfsLogUtil;
import com.zjty.efs.misc.config.AutoDocument; import com.zjty.efs.misc.config.AutoDocument;
import com.zjty.efs.user.subject.entity.UserDo; import com.zjty.efs.user.subject.dao.UserDao;
import com.zjty.efs.user.subject.entity.*;
import com.zjty.efs.user.subject.service.UserService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -21,35 +26,158 @@ import java.util.List; ...@@ -21,35 +26,158 @@ import java.util.List;
@Slf4j @Slf4j
public class UserController { public class UserController {
@Autowired
private UserService userService;
@Autowired
private EfsLogUtil efsLogUtil;
@GetMapping("/user") @GetMapping("/user")
@ApiOperation(value = "查询用户的接口") @ApiOperation(value = "根据id查询用户的接口")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name="id",value="id",dataType="string", paramType = "query") @ApiImplicitParam(name="id",value="id",dataType="string", paramType = "query")
}) })
public ResponseEntity<UserDo> getUserById(@RequestParam(value = "id") String id) { public ResponseEntity<UserDo> getUserById(@RequestParam(value = "id") String id) {
log.info("查询id:{}", id); log.info("查询id:{}", id);
return ResponseEntity.ok(new UserDo()); UserDo user = userService.findById(id);
return ResponseEntity.ok(user);
} }
@GetMapping("/otherUser") @GetMapping("/otherUser")
@ApiOperation(value = "获取相关人员信息接口") @ApiOperation(value = "根据id获取相关人员信息接口")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name="id",value="人员id",dataType="string", paramType = "query") @ApiImplicitParam(name="id",value="人员id",dataType="string", paramType = "query"),
@ApiImplicitParam(name="page",value="当前页,1开始",dataType="integer", paramType = "query"),
@ApiImplicitParam(name="size",value="每页大小",dataType="integer", paramType = "query")
}) })
public ResponseEntity<List<UserDo>> getAllUser(@RequestParam(value = "id") String id) { public ResponseEntity<UserVo> getAllUser(@RequestParam(value = "id") String id,
List<UserDo> list = new ArrayList<>(); @RequestParam(value = "page") Integer page,
list.add(new UserDo()); @RequestParam(value = "size") Integer size) {
return ResponseEntity.ok(list); UserVo allUser = userService.findAllUser(id, page - 1, size);
return ResponseEntity.ok(allUser);
} }
@PutMapping("/reset") @PutMapping("/reset")
@ApiOperation(value = "重置用户密码") @ApiOperation(value = "重置用户密码")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name="id",value="人员id",dataType="string", paramType = "query") @ApiImplicitParam(name="id",value="人员id",dataType="string", paramType = "query")
}) })
public ResponseEntity resetStatus(@RequestParam(value = "id") String id) { public ResponseEntity<UserPwdVo> resetStatus(@RequestParam(value = "id") String id) {
String pwd = "qwer1234";
UserDo userDo = userService.resetPassword(id, pwd);
return ResponseEntity.ok(new UserPwdVo(id, pwd, userDo.getUsername()));
}
@PutMapping("/pwd")
@ApiOperation(value = "用户修改密码")
@ApiImplicitParams({
@ApiImplicitParam(name="id",value="人员id",dataType="string", paramType = "query"),
@ApiImplicitParam(name="oPwd",value="老密码",dataType="string", paramType = "query"),
@ApiImplicitParam(name="nPwd",value="新密码",dataType="string", paramType = "query")
})
public ResponseEntity<UserPwdVo> updatePwd(@RequestParam(value = "id") String id,
@RequestParam(value = "oPwd") String oPwd,
@RequestParam(value = "nPwd") String nPwd) {
UserDo user = userService.updatePwd(id, oPwd, nPwd);
if (user.getUsername() == null) {
return ResponseEntity.status(403).body(new UserPwdVo("","",""));
}
return ResponseEntity.ok(new UserPwdVo(id, nPwd, user.getUsername()));
}
@PutMapping("/login")
@ApiOperation(value = "登陆接口")
@ApiImplicitParams({
@ApiImplicitParam(name="username",value="用户名",dataType="string", paramType = "query"),
@ApiImplicitParam(name="password",value="密码",dataType="string", paramType = "query")
})
public ResponseEntity<UserDo> login(@RequestParam(value = "username") String username,
@RequestParam(value = "password") String password) {
UserDo user = userService.login(username, password);
if (user.getName() != null) {
return ResponseEntity.ok(user);
} else {
return ResponseEntity.status(403).body(new UserDo());
}
}
// public ResponseEntity logout()
@PutMapping("/status")
@ApiOperation(value = "修改人员状态接口")
@ApiImplicitParams({
@ApiImplicitParam(name="id",value="人员主键id",dataType="string", paramType = "query"),
@ApiImplicitParam(name="status",value="修改的状态 1正常 2冻结",dataType="integer", paramType = "query")
})
public ResponseEntity<UserStatusVo> alertStatus(@RequestParam(value = "id") String id,
@RequestParam(value = "status") Integer status) {
userService.updateUserStatus(id, status);
return ResponseEntity.ok(new UserStatusVo(id,"修改成功", status));
}
@PostMapping("/user")
@ApiOperation(value = "新增人员信息的接口")
@ApiImplicitParams({
@ApiImplicitParam(name="userDo",value="人员信息",dataType="object", paramType = "body")
})
public ResponseEntity<UserDo> addUser(@RequestBody UserDo userDo) {
UserDo user = userService.addUser(userDo);
if (user.getUsername() == null) {
return ResponseEntity.status(403).body(user);
} else {
return ResponseEntity.ok(user);
}
}
@Autowired
private UserDao userDao;
@PutMapping("/user")
@ApiOperation(value = "更新人员信息的接口")
@ApiImplicitParams({
@ApiImplicitParam(name="type",value="1_管理员的操作,2_用户的操作",dataType="int", paramType = "query"),
@ApiImplicitParam(name="userDo",value="人员信息",dataType="object", paramType = "body")
})
public ResponseEntity<UserDo> updateUser(@RequestParam(value = "type" )Integer type,
@RequestBody UserDo userDo) {
if (userDo.getId() != null) {
return ResponseEntity.status(403).body(new UserDo());
}
UserDo old = userDao.findById(userDo.getId()).get();
UserDo rs = userService.update(userDo);
return ResponseEntity.ok(true); //添加日志
String id = userDo.getId();
String msg = "";
if (type == 1 ) {
id = "admin";
msg = "[管理员]修改了[" + old.getUnit() +
"][" + old.getDepartment() +
"][" + old.getName() +
"]的信息";
}
efsLogUtil.addLog(new EfsLog(null,id,msg,new Date()));
return ResponseEntity.ok(rs);
}
@GetMapping("userList")
@ApiOperation(value = "发布任务时查询人员的接口")
@ApiImplicitParams({
@ApiImplicitParam(name="id",value="人员id",dataType="string", paramType = "query")
})
public ResponseEntity<List<NameListVo>> getNameList(@RequestParam (value = "id") String id) {
List<NameListVo> rs = userService.getAllowAckUser(id);
return ResponseEntity.ok(rs);
} }
} }
...@@ -2,12 +2,19 @@ package com.zjty.efs.user.subject.dao; ...@@ -2,12 +2,19 @@ package com.zjty.efs.user.subject.dao;
import com.zjty.efs.user.subject.entity.UserDo; import com.zjty.efs.user.subject.entity.UserDo;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* @author LJJ cnljj1995@gmail.com * @author LJJ cnljj1995@gmail.com
* on 2020-03-24 * on 2020-03-24
*/ */
@Repository @Repository
public interface UserDao extends JpaRepository<UserDo, Integer> { public interface UserDao extends JpaRepository<UserDo, String> {
@Query(value = "select o from UserDo o where o.username = ?1 ")
List<UserDo> findByUsername(String username);
} }
package com.zjty.efs.user.subject.entity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-25
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "选择人员的查询对象")
public class NameListVo {
@ApiModelProperty(value = "人员id", example = "zhangsan")
private String id;
@ApiModelProperty(value = "人员名字", example = "里斯")
private String name;
@ApiModelProperty(value = "部门", example = "a部门")
private String department;
}
...@@ -7,10 +7,12 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -7,10 +7,12 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.validator.constraints.NotEmpty; import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
...@@ -32,43 +34,41 @@ public class UserDo { ...@@ -32,43 +34,41 @@ public class UserDo {
@ApiModelProperty(value = "id",example = "jksdhfjks5") @ApiModelProperty(value = "id",example = "jksdhfjks5")
@Id @Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "org.hibernate.id.UUIDGenerator" )
private String id; private String id;
@NotEmpty(message = "用户姓名不可为空")
@ApiModelProperty(value = "用户姓名",example = "mcj") @ApiModelProperty(value = "用户姓名",example = "mcj")
private String name; private String name;
@NotEmpty(message = "联系方式不可为空") @ApiModelProperty(value = "联系方式(固定电话)",example = "0571-123456")
@ApiModelProperty(value = "联系方式",example = "113665465465")
private String tel; private String tel;
@NotEmpty(message = "地址不可为空") @ApiModelProperty(value = "联系方式(手机)",example = "113665465465")
@ApiModelProperty(value = "地址",example = "xx路xx楼xx号") private String phone;
private String address;
@NotNull(message = "部门不可为空") @ApiModelProperty(value = "联系方式(短号)",example = "123")
@ApiModelProperty(value = "部门id",example = "1") private String cornet;
private String departId;
@ApiModelProperty(value = "备注",example = "dadsd") @ApiModelProperty(value = "备注",example = "dadsd")
private String remark; private String remark;
@NotEmpty(message = "用户名不可为空")
@ApiModelProperty(value = "用户名",example = "username") @ApiModelProperty(value = "用户名",example = "username")
private String username; private String username;
@ApiModelProperty(value = "处室", example = "秘书处") @ApiModelProperty(value = "部门/处室", example = "秘书处")
private String department; private String department;
@NotEmpty(message = "密码不可为空")
@ApiModelProperty(value = "密码",example = "password") @ApiModelProperty(value = "密码",example = "password")
private String password; private String password;
@NotNull(message = "用户锁定状态不可为空") @ApiModelProperty(value = "用户锁定状态,0_正常,1_冻结",example = "1")
@ApiModelProperty(value = "用户锁定状态,0_未锁定,1_已锁定",example = "1")
private Integer status; private Integer status;
@ApiModelProperty(value = "单位", example = "A单位")
private String unit;
@ApiModelProperty(value = "数据更新时间", example = "2019-01-01 00:00:00.000") @ApiModelProperty(value = "数据更新时间", example = "2019-01-01 00:00:00.000")
@JsonFormat(pattern = "yyyy:HH:dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime; private Date updateTime;
} }
package com.zjty.efs.user.subject.entity;
import com.zjty.efs.misc.config.AutoDocument;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-25
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@AutoDocument
@ApiModel(value = "用户密码返回对象")
public class UserPwdVo {
@ApiModelProperty(value = "人员id", example = "123")
private String id;
@ApiModelProperty(value = "修改后的密码", example = "12345")
private String password;
@ApiModelProperty(value = "用户名", example = "zhangsan")
private String username;
}
package com.zjty.efs.user.subject.entity;
import com.zjty.efs.misc.config.AutoDocument;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-25
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "修改状态后的返回值")
@AutoDocument
public class UserStatusVo {
@ApiModelProperty(value = "人员id", example = "11111")
private String id;
@ApiModelProperty(value = "返回消息" ,example = "成功or失败")
private String msg;
@ApiModelProperty(value = "状态 1正常 2冻结")
private Integer status;
}
package com.zjty.efs.user.subject.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author LJJ cnljj1995@gmail.com
* on 2020-03-25
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "人员集合返回值")
public class UserVo {
@ApiModelProperty(value = "总数", example = "100")
private int total;
@ApiModelProperty(value = "当前页,从1开始", example = "1")
private int page;
@ApiModelProperty(value = "每页大小", example = "10")
private int size;
@ApiModelProperty(value = "人员对象")
List<UserDo> data;
}
package com.zjty.efs.user.subject.service; package com.zjty.efs.user.subject.service;
import com.zjty.efs.user.subject.entity.NameListVo;
import com.zjty.efs.user.subject.entity.UserDo; import com.zjty.efs.user.subject.entity.UserDo;
import com.zjty.efs.user.subject.entity.UserVo;
import java.util.List; import java.util.List;
...@@ -12,25 +14,32 @@ import java.util.List; ...@@ -12,25 +14,32 @@ import java.util.List;
*/ */
public interface UserService { public interface UserService {
/**
* 更新内容
* @param userDo
* @return
*/
UserDo update(UserDo userDo);
/** /**
* 根据id查找 * 根据id查找
* @param id user id * @param id user id
* @return user obj * @return user obj
*/ */
UserDo findById(Integer id); UserDo findById(String id);
/** /**
* 查找所用用户,除了管理员 * 查找所用用户,除了管理员
* @return users obj * @return users obj
*/ */
List<UserDo> findAllUser(); UserVo findAllUser(String id, Integer page, Integer size);
/** /**
* 更新人员状态 * 更新人员状态
* 1,正常 2,冻结 * 1,正常 2,冻结
* @return true 成功 false 失败 * @return true 成功 false 失败
*/ */
Boolean updateUserStatus(); Boolean updateUserStatus(String id, Integer status);
/** /**
* 查询可以发布消息的人员 * 查询可以发布消息的人员
...@@ -38,7 +47,7 @@ public interface UserService { ...@@ -38,7 +47,7 @@ public interface UserService {
* @param id 人员id * @param id 人员id
* @return users obj * @return users obj
*/ */
List<UserDo> getAllowAckUser(Integer id); List<NameListVo> getAllowAckUser(String id);
/** /**
* 重置密码 * 重置密码
...@@ -46,16 +55,30 @@ public interface UserService { ...@@ -46,16 +55,30 @@ public interface UserService {
* @param pwd 重置的密码 * @param pwd 重置的密码
* @return true 成功 false 失败 * @return true 成功 false 失败
*/ */
Boolean resetPassword(Integer id, String pwd); UserDo resetPassword(String id, String pwd);
/** /**
* 创建用户 * 创建用户
* @param userDo 用户对象 * @param userDo 用户对象
* @return true or false * @return true or false
*/ */
Boolean addUser(UserDo userDo); UserDo addUser(UserDo userDo);
/**
* 根据用户和密码登陆
* @param username
* @param password
* @return
*/
UserDo login(String username, String password);
/**
* 修改密码
* @param id
* @param oPwd
* @param nPwd
* @return
*/
UserDo updatePwd(String id, String oPwd, String nPwd);
} }
package com.zjty.efs.user.subject.service.impl; package com.zjty.efs.user.subject.service.impl;
import com.zjty.efs.log.subject.entity.EfsLog;
import com.zjty.efs.log.tool.EfsLogUtil;
import com.zjty.efs.misc.util.MD5Untils;
import com.zjty.efs.user.subject.dao.UserDao;
import com.zjty.efs.user.subject.entity.NameListVo;
import com.zjty.efs.user.subject.entity.UserDo; import com.zjty.efs.user.subject.entity.UserDo;
import com.zjty.efs.user.subject.entity.UserVo;
import com.zjty.efs.user.subject.service.UserService; import com.zjty.efs.user.subject.service.UserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -15,34 +28,140 @@ import java.util.List; ...@@ -15,34 +28,140 @@ import java.util.List;
@Slf4j @Slf4j
public class UserServiceImpl implements UserService { public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Autowired
private EfsLogUtil efsLogUtil;
@Override
public UserDo update(UserDo userDo) {
userDao.save(userDo);
return userDao.findById(userDo.getId()).get();
}
@Override
public UserDo findById(String id) {
return userDao.findById(id).get();
}
@Override
public UserVo findAllUser(String id, Integer page, Integer size) {
Pageable pageable = PageRequest.of(page, size, Sort.Direction.ASC, "name");
Page<UserDo> all = userDao.findAll(pageable);
return new UserVo((int) userDao.count(), page, size, all.getContent());
}
@Override @Override
public UserDo findById(Integer id) { public Boolean updateUserStatus(String id, Integer status) {
UserDo userDo = userDao.findById(id).get();
userDo.setStatus(status);
userDao.save(userDo);
return null; //添加日志
String action = "冻结";
if (status == 1) {
action = "解锁";
}
String msg = "[管理员]" + action +
"了[" + userDo.getUnit() +
"][" + userDo.getDepartment() +
"][" + userDo.getName() +
"]的账号";
efsLogUtil.addLog(new EfsLog(null, "admin", msg, new Date()));
return true;
} }
@Override @Override
public List<UserDo> findAllUser() { public List<NameListVo> getAllowAckUser(String id) {
return null; List<NameListVo> rs = new ArrayList<>();
userDao.findAll().forEach(
o -> {
if (!o.getId().equals(id) && !"admin".equals(o.getUsername())) {
NameListVo nameListVo = new NameListVo(o.getId(), o.getName(), o.getDepartment());
rs.add(nameListVo);
}
}
);
return rs;
} }
@Override @Override
public Boolean updateUserStatus() { public UserDo resetPassword(String id, String pwd) {
return null; UserDo userDo = userDao.findById(id).get();
userDo.setPassword(MD5Untils.getMD5Str(pwd));
userDao.save(userDo);
String msg = "[管理员]重置了" + "["+
userDo.getUnit() + "][" + userDo.getDepartment()
+ "][" + userDo.getName() + "]的密码";
efsLogUtil.addLog(new EfsLog(null,"admin",
msg,
new Date()));
return userDo;
} }
@Override @Override
public List<UserDo> getAllowAckUser(Integer id) { public UserDo addUser(UserDo userDo) {
return null; if (userDao.findByUsername(userDo.getUsername()).size() < 1) {
userDo.setPassword(MD5Untils.getMD5Str(userDo.getPassword()));
userDo.setUpdateTime(new Date());
userDao.save(userDo);
//创建日志
String msg = "[管理员]用户了[" + userDo.getUnit() +
"][" + userDo.getDepartment() +
"][" + userDo.getName() +
"]";
efsLogUtil.addLog(new EfsLog(null,"admin",msg, new Date()));
return userDo;
}else {
log.warn("新增出错;已存在该用户");
return new UserDo();
}
} }
@Override @Override
public Boolean resetPassword(Integer id, String pwd) { public UserDo login(String username, String password) {
return null; log.info("用户登陆:{}", username);
List<UserDo> byUsername = userDao.findByUsername(username);
log.info("{}", byUsername);
if (byUsername.size() == 1) {
log.info("用户存在");
if (byUsername.get(0).getPassword().equals(MD5Untils.getMD5Str(password))) {
return byUsername.get(0);
} else {
log.warn("用户登陆密码错误,错误账号:{},姓名:{}", byUsername.get(0).getUsername(), byUsername.get(0).getName());
return new UserDo();
}
} else {
log.error("用户登陆出错,错误对象:{}",byUsername);
return new UserDo();
}
} }
@Override @Override
public Boolean addUser(UserDo userDo) { public UserDo updatePwd(String id, String oPwd, String nPwd) {
return null; UserDo user = userDao.findById(id).get();
if (!user.getPassword().equals(MD5Untils.getMD5Str(oPwd))) {
log.warn("密码不对");
return new UserDo();
}
user.setPassword(MD5Untils.getMD5Str(nPwd));
userDao.save(user);
//修改记录日志
String msg = "[" + user.getUnit() +
"][" + user.getDepartment() +
"][" + user.getName() +
"]修改了密码";
efsLogUtil.addLog(new EfsLog(null, id, msg, new Date()));
return user;
} }
} }
...@@ -8,7 +8,7 @@ spring.datasource.username=root ...@@ -8,7 +8,7 @@ spring.datasource.username=root
spring.datasource.password=ljj123456 spring.datasource.password=ljj123456
# spring.jpa.properties.hibernate.format_sql=true # spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.ddl-auto=update spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=false spring.jpa.show-sql=false
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.open-in-view=true spring.jpa.open-in-view=true
......
...@@ -13,7 +13,8 @@ ...@@ -13,7 +13,8 @@
<module>efs-misc</module> <module>efs-misc</module>
<module>efs-ftp</module> <module>efs-ftp</module>
<module>efs-bus</module> <module>efs-bus</module>
<module>efs-userDo</module> <module>efs-user</module>
<module>efs-log</module>
</modules> </modules>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论