From b1f6eded803531719005275065acc3f205b19298 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Wed, 10 Mar 2021 17:55:07 +0800
Subject: [PATCH] 大屏web端用户增删改查初版
---
screen-api/src/main/java/com/moral/api/entity/GroupMenu.java | 7
screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java | 37 +++
screen-common/src/main/java/com/moral/redis/RedisUtil.java | 23 +
screen-api/src/main/java/com/moral/api/service/GroupService.java | 4
screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 130 +++++++++++
screen-api/src/main/java/com/moral/api/controller/WebController.java | 162 ++++++++++++++
screen-api/src/main/java/com/moral/api/entity/ManageAccount.java | 7
screen-api/src/main/java/com/moral/api/interceptor/AuthenticationInterceptor.java | 28 ++
screen-api/pom.xml | 5
screen-api/src/main/java/com/moral/api/config/Interceptor/WebAppConfiguration.java | 18 +
screen-api/src/main/resources/application-dev.yml | 35 ++
screen-api/src/main/java/com/moral/api/service/UserService.java | 15 +
screen-api/src/main/java/com/moral/api/entity/ManageLog.java | 5
screen-api/src/main/java/com/moral/api/entity/User.java | 21 +
screen-api/src/main/java/com/moral/api/entity/UserGroup.java | 7
screen-api/src/main/java/com/moral/api/entity/OrganizationMenu.java | 7
screen-api/src/main/resources/mapper/MenuMapper.xml | 24 +-
screen-api/src/main/resources/mapper/UserMapper.xml | 20 +
screen-api/src/main/java/com/moral/api/entity/ManageMenu.java | 7
screen-api/src/main/java/com/moral/api/entity/Menu.java | 7
screen-api/src/main/java/com/moral/api/entity/ManageAccountRole.java | 7
screen-api/src/main/java/com/moral/api/entity/SysDictType.java | 7
screen-api/src/main/java/com/moral/api/entity/ManageRoleMenu.java | 7
screen-api/src/main/java/com/moral/api/entity/UserLog.java | 5
screen-api/src/main/java/com/moral/api/entity/ManageRole.java | 7
screen-api/src/main/java/com/moral/api/entity/Group.java | 7
screen-api/src/main/java/com/moral/api/entity/Organization.java | 9
screen-api/src/main/java/com/moral/api/mapper/UserMapper.java | 7
screen-api/src/main/java/com/moral/api/entity/SysDictData.java | 7
29 files changed, 555 insertions(+), 77 deletions(-)
diff --git a/screen-api/pom.xml b/screen-api/pom.xml
index 51edb55..7470fd8 100644
--- a/screen-api/pom.xml
+++ b/screen-api/pom.xml
@@ -16,6 +16,11 @@
<artifactId>screen-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>javax.persistence</groupId>
+ <artifactId>persistence-api</artifactId>
+ <version>1.0</version>
+ </dependency>
</dependencies>
<build>
diff --git a/screen-api/src/main/java/com/moral/api/config/Interceptor/WebAppConfiguration.java b/screen-api/src/main/java/com/moral/api/config/Interceptor/WebAppConfiguration.java
new file mode 100644
index 0000000..99e60ac
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/config/Interceptor/WebAppConfiguration.java
@@ -0,0 +1,18 @@
+package com.moral.api.config.Interceptor;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import com.moral.api.interceptor.AuthenticationInterceptor;
+
+@Configuration
+public class WebAppConfiguration implements WebMvcConfigurer {
+
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(new AuthenticationInterceptor())
+ .addPathPatterns("/**")
+ .excludePathPatterns("/**/login/**", "/**/logout/**", "/swagger-ui.html/**", "/swagger-resources/**");
+ }
+}
diff --git a/screen-api/src/main/java/com/moral/api/controller/WebController.java b/screen-api/src/main/java/com/moral/api/controller/WebController.java
new file mode 100644
index 0000000..2d7943b
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/controller/WebController.java
@@ -0,0 +1,162 @@
+package com.moral.api.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.moral.api.entity.Group;
+import com.moral.api.entity.User;
+import com.moral.api.service.GroupService;
+import com.moral.api.service.UserService;
+import com.moral.constant.ResultMessage;
+import com.moral.redis.RedisUtil;
+
+@Slf4j
+@Api(tags = {"������"})
+@RestController
+@RequestMapping("/api")
+public class WebController {
+
+ @Autowired
+ private UserService userService;
+
+ @Autowired
+ private GroupService groupService;
+
+ /**
+ * @param account ������
+ * @param password ������
+ * @Auther jinpengyong
+ * @Description web������
+ */
+ @ApiOperation(value = "������", notes = "������")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "account", value = "������", required = true, paramType = "path", dataType = "String"),
+ @ApiImplicitParam(name = "password", value = "������", required = true, paramType = "path", dataType = "String")
+ })
+ @RequestMapping(value = "login/{account}/{password}", method = RequestMethod.GET)
+ public ResultMessage login(@PathVariable("account") String account, @PathVariable("password") String password) {
+ if (account == null || password == null) {
+ return ResultMessage.fail("���������������������������");
+ }
+ Map<String, Object> map = userService.login(account, password);
+ if (map.get("token") == null) {
+ return ResultMessage.fail(map.get("msg").toString());
+ }
+ return ResultMessage.ok(map.get("token"));
+ }
+
+ @ApiOperation(value = "������", notes = "������")
+ @RequestMapping(value = "logout", method = RequestMethod.POST)
+ public ResultMessage logout(HttpServletRequest request) {
+ String token = request.getHeader("token");
+ if (token == null) {
+ return ResultMessage.fail("���������");
+ }
+ RedisUtil.del(token);
+ return ResultMessage.ok();
+ }
+
+ @ApiOperation(value = "������������", notes = "������������")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "account", value = "������", required = true, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "password", value = "������", required = true, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "userName", value = "������������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "email", value = "������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "mobile", value = "���������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "wechat", value = "������", required = false, paramType = "query", dataType = "String")
+ })
+ @RequestMapping(value = "addUser", method = RequestMethod.POST)
+ public ResultMessage addUser(User user, HttpServletRequest request) {
+ Integer currentUserId = Integer.parseInt(request.getHeader("uid"));
+ Map<String, Object> map = userService.addUser(user, currentUserId);
+ String msg = map.get("msg").toString();
+ boolean flag = Boolean.parseBoolean(map.get("flag").toString());
+ if (flag) {
+ return ResultMessage.ok(msg);
+ }
+ return ResultMessage.fail(msg);
+ }
+
+ @ApiOperation(value = "������������", notes = "������������")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "userId", value = "������id", required = true, paramType = "path", dataType = "String")
+ })
+ @RequestMapping(value = "deleteUser/{userId}", method = RequestMethod.GET)
+ public ResultMessage deleteUser(@PathVariable("userId") String userId, HttpServletRequest request) {
+ Integer currentUserId = Integer.parseInt(request.getHeader("uid"));
+ Map<String, Object> map = userService.deleteUser(Integer.parseInt(userId), currentUserId);
+ String msg = map.get("msg").toString();
+ boolean flag = Boolean.parseBoolean(map.get("flag").toString());
+ if (flag) {
+ return ResultMessage.ok(msg);
+ }
+ return ResultMessage.fail(msg);
+ }
+
+ @ApiOperation(value = "������������������", notes = "������������������")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "account", value = "������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "password", value = "������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "userName", value = "������������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "email", value = "������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "mobile", value = "���������", required = false, paramType = "query", dataType = "String"),
+ @ApiImplicitParam(name = "wechat", value = "������", required = false, paramType = "query", dataType = "String")
+ })
+ @RequestMapping(value = "updateUser", method = RequestMethod.POST)
+ public ResultMessage updateUser(User user, HttpServletRequest request) {
+ Integer currentUserId = Integer.parseInt(request.getHeader("uid"));
+ Map<String, Object> map = userService.updateUser(user, currentUserId);
+ String msg = map.get("msg").toString();
+ boolean flag = Boolean.parseBoolean(map.get("flag").toString());
+ if (flag) {
+ return ResultMessage.ok(msg);
+ }
+ return ResultMessage.fail(msg);
+ }
+
+ @ApiOperation(value = "������������������", notes = "������������������")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "userId", value = "������id", required = false, paramType = "path", dataType = "String")
+ })
+ @RequestMapping(value = "getUserInfo/{userId}", method = RequestMethod.GET)
+ public ResultMessage getUserInfo(@PathVariable("userId") String userId, HttpServletRequest request) {
+ Integer currentUserId = Integer.parseInt(request.getHeader("uid"));
+ if (userId == null) {
+ List<User> users = userService.getUsersByOrgId(currentUserId);
+ return ResultMessage.ok(users);
+ }
+ User user = userService.getUserById(Integer.parseInt(userId), currentUserId);
+ return ResultMessage.ok(user);
+ }
+
+ @ApiOperation(value = "���������", notes = "���������")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "groupName", value = "������", required = true, paramType = "query", dataType = "String")
+ })
+ @RequestMapping(value = "addGroup", method = RequestMethod.POST)
+ private ResultMessage addGroup(Group group, HttpServletRequest request) {
+ String currentUserId = request.getHeader("uid");
+ Map<String, Object> map = groupService.addGroup(group, currentUserId);
+ String msg = map.get("msg").toString();
+ boolean flag = Boolean.parseBoolean(map.get("flag").toString());
+ if (flag) {
+ return ResultMessage.ok(msg);
+ }
+ return ResultMessage.fail(msg);
+ }
+
+}
diff --git a/screen-api/src/main/java/com/moral/api/entity/Group.java b/screen-api/src/main/java/com/moral/api/entity/Group.java
index 445b31b..378b0e7 100644
--- a/screen-api/src/main/java/com/moral/api/entity/Group.java
+++ b/screen-api/src/main/java/com/moral/api/entity/Group.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -41,12 +42,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java b/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java
index 83bd929..7d4264d 100644
--- a/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java
+++ b/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -51,12 +52,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/ManageAccount.java b/screen-api/src/main/java/com/moral/api/entity/ManageAccount.java
index bac1a30..c796f6e 100644
--- a/screen-api/src/main/java/com/moral/api/entity/ManageAccount.java
+++ b/screen-api/src/main/java/com/moral/api/entity/ManageAccount.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -61,12 +62,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/ManageAccountRole.java b/screen-api/src/main/java/com/moral/api/entity/ManageAccountRole.java
index 8522a8a..c3add8c 100644
--- a/screen-api/src/main/java/com/moral/api/entity/ManageAccountRole.java
+++ b/screen-api/src/main/java/com/moral/api/entity/ManageAccountRole.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -41,12 +42,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/ManageLog.java b/screen-api/src/main/java/com/moral/api/entity/ManageLog.java
index 7b60d15..a305e3f 100644
--- a/screen-api/src/main/java/com/moral/api/entity/ManageLog.java
+++ b/screen-api/src/main/java/com/moral/api/entity/ManageLog.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -51,7 +52,7 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
@Override
diff --git a/screen-api/src/main/java/com/moral/api/entity/ManageMenu.java b/screen-api/src/main/java/com/moral/api/entity/ManageMenu.java
index 68dc980..492ebaa 100644
--- a/screen-api/src/main/java/com/moral/api/entity/ManageMenu.java
+++ b/screen-api/src/main/java/com/moral/api/entity/ManageMenu.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -56,12 +57,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/ManageRole.java b/screen-api/src/main/java/com/moral/api/entity/ManageRole.java
index c2ef650..a5a5497 100644
--- a/screen-api/src/main/java/com/moral/api/entity/ManageRole.java
+++ b/screen-api/src/main/java/com/moral/api/entity/ManageRole.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -36,12 +37,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/ManageRoleMenu.java b/screen-api/src/main/java/com/moral/api/entity/ManageRoleMenu.java
index 122d9cb..29e6a4c 100644
--- a/screen-api/src/main/java/com/moral/api/entity/ManageRoleMenu.java
+++ b/screen-api/src/main/java/com/moral/api/entity/ManageRoleMenu.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -41,12 +42,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/Menu.java b/screen-api/src/main/java/com/moral/api/entity/Menu.java
index 916591e..951d960 100644
--- a/screen-api/src/main/java/com/moral/api/entity/Menu.java
+++ b/screen-api/src/main/java/com/moral/api/entity/Menu.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -56,12 +57,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/Organization.java b/screen-api/src/main/java/com/moral/api/entity/Organization.java
index 2dd7686..6121b58 100644
--- a/screen-api/src/main/java/com/moral/api/entity/Organization.java
+++ b/screen-api/src/main/java/com/moral/api/entity/Organization.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -96,17 +97,17 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
*/
- private LocalDateTime expireTime;
+ private Date expireTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/OrganizationMenu.java b/screen-api/src/main/java/com/moral/api/entity/OrganizationMenu.java
index 4e8f5d8..435beba 100644
--- a/screen-api/src/main/java/com/moral/api/entity/OrganizationMenu.java
+++ b/screen-api/src/main/java/com/moral/api/entity/OrganizationMenu.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -46,12 +47,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/SysDictData.java b/screen-api/src/main/java/com/moral/api/entity/SysDictData.java
index e7f9f52..11d6903 100644
--- a/screen-api/src/main/java/com/moral/api/entity/SysDictData.java
+++ b/screen-api/src/main/java/com/moral/api/entity/SysDictData.java
@@ -3,9 +3,10 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -59,12 +60,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/SysDictType.java b/screen-api/src/main/java/com/moral/api/entity/SysDictType.java
index caa52d7..e0636a0 100644
--- a/screen-api/src/main/java/com/moral/api/entity/SysDictType.java
+++ b/screen-api/src/main/java/com/moral/api/entity/SysDictType.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -41,12 +42,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/User.java b/screen-api/src/main/java/com/moral/api/entity/User.java
index 9e744ab..4df8c9f 100644
--- a/screen-api/src/main/java/com/moral/api/entity/User.java
+++ b/screen-api/src/main/java/com/moral/api/entity/User.java
@@ -1,12 +1,18 @@
package com.moral.api.entity;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+
import java.io.Serializable;
+import java.util.Date;
+import java.util.Set;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
+
+
/**
* <p>
@@ -71,17 +77,17 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
*/
- private LocalDateTime expireTime;
+ private Date expireTime;
/**
* ������������
@@ -89,6 +95,13 @@
private String isDelete;
+ @TableField(exist = false)
+ private Set<Group> groups;
+
+ @TableField(exist = false)
+ private Set<Menu> menus;
+
+
@Override
protected Serializable pkVal() {
return this.id;
diff --git a/screen-api/src/main/java/com/moral/api/entity/UserGroup.java b/screen-api/src/main/java/com/moral/api/entity/UserGroup.java
index a595662..96b99bb 100644
--- a/screen-api/src/main/java/com/moral/api/entity/UserGroup.java
+++ b/screen-api/src/main/java/com/moral/api/entity/UserGroup.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -46,12 +47,12 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
/**
* ������������
*/
- private LocalDateTime updateTime;
+ private Date updateTime;
/**
* ������������
diff --git a/screen-api/src/main/java/com/moral/api/entity/UserLog.java b/screen-api/src/main/java/com/moral/api/entity/UserLog.java
index 3a34664..259a1eb 100644
--- a/screen-api/src/main/java/com/moral/api/entity/UserLog.java
+++ b/screen-api/src/main/java/com/moral/api/entity/UserLog.java
@@ -3,8 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
import java.io.Serializable;
+import java.util.Date;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -51,7 +52,7 @@
/**
* ������������
*/
- private LocalDateTime createTime;
+ private Date createTime;
@Override
diff --git a/screen-api/src/main/java/com/moral/api/interceptor/AuthenticationInterceptor.java b/screen-api/src/main/java/com/moral/api/interceptor/AuthenticationInterceptor.java
new file mode 100644
index 0000000..03fae5d
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/interceptor/AuthenticationInterceptor.java
@@ -0,0 +1,28 @@
+package com.moral.api.interceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.stereotype.Component;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import com.moral.redis.RedisUtil;
+
+@Component
+public class AuthenticationInterceptor implements HandlerInterceptor {
+
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+ request.getSession();
+ if (!(handler instanceof HandlerMethod)) {
+ return true;
+ }
+ String token = request.getHeader("token");
+ if (token != null) {
+ return RedisUtil.hasKey(token);
+ }
+ return false;
+
+ }
+}
diff --git a/screen-api/src/main/java/com/moral/api/mapper/UserMapper.java b/screen-api/src/main/java/com/moral/api/mapper/UserMapper.java
index 16631cf..db186d8 100644
--- a/screen-api/src/main/java/com/moral/api/mapper/UserMapper.java
+++ b/screen-api/src/main/java/com/moral/api/mapper/UserMapper.java
@@ -1,5 +1,9 @@
package com.moral.api.mapper;
+import java.util.Set;
+
+import com.moral.api.entity.Group;
+import com.moral.api.entity.Menu;
import com.moral.api.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -13,4 +17,7 @@
*/
public interface UserMapper extends BaseMapper<User> {
+ Set<Group> selectUserGroup(int userId);
+
+ Set<Menu> selectUserMenu(int userId);
}
diff --git a/screen-api/src/main/java/com/moral/api/service/GroupService.java b/screen-api/src/main/java/com/moral/api/service/GroupService.java
index dd47048..56fe317 100644
--- a/screen-api/src/main/java/com/moral/api/service/GroupService.java
+++ b/screen-api/src/main/java/com/moral/api/service/GroupService.java
@@ -1,5 +1,7 @@
package com.moral.api.service;
+import java.util.Map;
+
import com.moral.api.entity.Group;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -13,4 +15,6 @@
*/
public interface GroupService extends IService<Group> {
+ Map<String, Object> addGroup(Group group, String currentUserId);
+
}
diff --git a/screen-api/src/main/java/com/moral/api/service/UserService.java b/screen-api/src/main/java/com/moral/api/service/UserService.java
index edcb767..242936d 100644
--- a/screen-api/src/main/java/com/moral/api/service/UserService.java
+++ b/screen-api/src/main/java/com/moral/api/service/UserService.java
@@ -1,5 +1,9 @@
package com.moral.api.service;
+
+import java.util.List;
+import java.util.Map;
+
import com.moral.api.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -13,4 +17,15 @@
*/
public interface UserService extends IService<User> {
+ Map<String, Object> login(String account, String password);
+
+ Map<String, Object> addUser(User user, Integer currentUserId);
+
+ Map<String, Object> deleteUser(Integer userId, Integer currentUserId);
+
+ Map<String, Object> updateUser(User user, Integer currentUserId);
+
+ List<User> getUsersByOrgId(Integer currentUserId);
+
+ User getUserById(Integer userId, Integer currentUserId);
}
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java
index ac9d7c7..59f014e 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/GroupServiceImpl.java
@@ -1,9 +1,17 @@
package com.moral.api.service.impl;
+import java.util.HashMap;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.Group;
+import com.moral.api.entity.User;
import com.moral.api.mapper.GroupMapper;
+import com.moral.api.mapper.UserMapper;
import com.moral.api.service.GroupService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@@ -17,4 +25,33 @@
@Service
public class GroupServiceImpl extends ServiceImpl<GroupMapper, Group> implements GroupService {
+ @Autowired
+ private GroupMapper groupMapper;
+
+ @Autowired
+ private UserMapper userMapper;
+
+ @Override
+ public Map<String, Object> addGroup(Group group, String currentUserId) {
+ Map<String, Object> resultMap = new HashMap<>();
+ User currentUser = userMapper.selectById(currentUserId);
+ if (!currentUser.getIsAdmin()) {
+ resultMap.put("flag", false);
+ resultMap.put("msg", "���������������������������");
+ return resultMap;
+ }
+ Integer orgId = currentUser.getOrganizationId();
+ QueryWrapper<Group> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("group_name", group.getGroupName()).eq("organization_id", orgId);
+ if (groupMapper.selectOne(queryWrapper) == null) {
+ group.setOrganizationId(orgId);
+ groupMapper.insert(group);
+ resultMap.put("flag", true);
+ resultMap.put("msg", "������������");
+ } else {
+ resultMap.put("flag", false);
+ resultMap.put("msg", "���������������������������");
+ }
+ return resultMap;
+ }
}
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
index 24a141e..2b73e59 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
@@ -1,9 +1,26 @@
package com.moral.api.service.impl;
+import io.swagger.models.auth.In;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.moral.api.entity.Group;
+import com.moral.api.entity.Menu;
import com.moral.api.entity.User;
+
import com.moral.api.mapper.UserMapper;
import com.moral.api.service.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.redis.RedisUtil;
+
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@@ -17,4 +34,117 @@
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
+ @Autowired
+ private UserMapper userMapper;
+
+ @Override
+ public Map<String, Object> login(String account, String password) {
+ Map<String, Object> resultMap = new HashMap<>();
+ QueryWrapper<User> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("account", account).eq("password", password).eq("is_Delete", "0");
+ User user = userMapper.selectOne(queryWrapper);
+ String msg;
+ String token = null;
+ if (user == null) {
+ msg = "������������������������";
+ } else if (user.getExpireTime() != null && user.getExpireTime().getTime() < System.currentTimeMillis()) {
+ msg = "���������������������";
+ } else {
+ msg = "������������";
+ token = user.getId() + "-" + UUID.randomUUID().toString().replaceAll("-", "");
+ Set<Group> groups = userMapper.selectUserGroup(user.getId());
+ Set<Menu> menus = userMapper.selectUserMenu(user.getId());
+ user.setGroups(groups);
+ user.setMenus(menus);
+ RedisUtil.set(token, user, 1296000);
+ }
+ resultMap.put("token", token);
+ resultMap.put("msg", msg);
+ return resultMap;
+ }
+
+ @Override
+ public Map<String, Object> addUser(User user, Integer userId) {
+ Map<String, Object> resultMap = new HashMap<>();
+ User currentUser = userMapper.selectById(userId);
+ if (!currentUser.getIsAdmin()) {
+ resultMap.put("flag", false);
+ resultMap.put("msg", "���������������������������");
+ return resultMap;
+ }
+ QueryWrapper<User> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("account", user.getAccount());
+ userMapper.selectOne(queryWrapper);
+ if (userMapper.selectOne(queryWrapper) == null) {
+ user.setOrganizationId(currentUser.getOrganizationId());
+ user.setExpireTime(currentUser.getExpireTime());
+ userMapper.insert(user);
+ resultMap.put("flag", true);
+ resultMap.put("msg", "������������");
+ } else {
+ resultMap.put("flag", false);
+ resultMap.put("msg", "���������������������������������");
+ }
+ return resultMap;
+ }
+
+ @Override
+ public Map<String, Object> deleteUser(Integer userId, Integer currentUserId) {
+ Map<String, Object> resultMap = new HashMap<>();
+ User currentUser = userMapper.selectById(currentUserId);
+ if (!currentUser.getIsAdmin()) {
+ resultMap.put("flag", false);
+ resultMap.put("msg", "���������������������������");
+ } else {
+ User user = new User();
+ user.setId(userId);
+ user.setIsDelete("1");
+ userMapper.updateById(user);
+ resultMap.put("flag", true);
+ resultMap.put("msg", "������������");
+ }
+ return resultMap;
+ }
+
+ @Override
+ public Map<String, Object> updateUser(User user, Integer currentUserId) {
+ Map<String, Object> resultMap = new HashMap<>();
+ User currentUser = userMapper.selectById(currentUserId);
+ if (!currentUser.getIsAdmin()) {
+ resultMap.put("flag", false);
+ resultMap.put("msg", "���������������������������");
+ return resultMap;
+ }
+ QueryWrapper<User> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("account", user.getAccount());
+ if (userMapper.selectOne(queryWrapper) == null) {
+ userMapper.updateById(user);
+ resultMap.put("flag", true);
+ resultMap.put("msg", "������������");
+ } else {
+ resultMap.put("flag", false);
+ resultMap.put("msg", "������������������������������");
+ }
+ return resultMap;
+ }
+
+ @Override
+ public List<User> getUsersByOrgId(Integer currentUserId) {
+ User currentUser = userMapper.selectById(currentUserId);
+ if (!currentUser.getIsAdmin()) {
+ return null;
+ }
+ Map<String, Object> queryMap = new HashMap<>();
+ queryMap.put("organizationId", currentUser.getOrganizationId());
+ return userMapper.selectByMap(queryMap);
+ }
+
+ @Override
+ public User getUserById(Integer userId, Integer currentUserId) {
+ User currentUser = userMapper.selectById(currentUserId);
+ if (!currentUser.getIsAdmin()) {
+ return null;
+ }
+ return userMapper.selectById(userId);
+ }
}
diff --git a/screen-api/src/main/resources/application-dev.yml b/screen-api/src/main/resources/application-dev.yml
index 67627c3..082c9dc 100644
--- a/screen-api/src/main/resources/application-dev.yml
+++ b/screen-api/src/main/resources/application-dev.yml
@@ -20,9 +20,9 @@
#nodes: 47.112.126.78:7001,47.112.126.78:7002,47.112.126.132:7003,47.112.126.132:7004,47.112.132.193:7005,47.112.132.193:7006
#password: test
#timeout: 500
- host: 127.0.0.1
+ host: 39.97.177.149
port: 6379
- password: 123456
+ password: chenkaiyu111
timeout: 30000
jedis:
pool:
@@ -36,6 +36,18 @@
max-idle: 64
max-wait: 30000
min-idle: 32
+ tokenRedis:
+ host: 39.97.177.149
+ port: 6379
+ password: chenkaiyu111
+ timeout: 30000
+ database: 14
+ pool:
+ max-active: 256
+ max-wait: 30000
+ max-idle: 64
+ min-idle: 32
+
datasource:
minIdle: 1
time-between-eviction-runs-millis: 60000
@@ -45,8 +57,9 @@
filters: stat
type: com.alibaba.druid.pool.DruidDataSource
max-wait: 60000
- url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
- password: 123456
+ url: jdbc:mysql://39.97.177.149:3306/moral?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
+ username: root
+ password: chenkaiyu111
test-on-borrow: false
sql-script-encoding: utf-8
pool-prepared-statements: true
@@ -55,7 +68,6 @@
driver-class-name: com.mysql.cj.jdbc.Driver
max-conn-lifetime-millis: 20
test-on-return: false
- username: root
mybatis-plus:
mapper-locations: classpath:mapper/*.xml
@@ -84,7 +96,7 @@
commit: false
group:
id: test
- servers: 192.168.0.16:9092,192.168.0.17:9092,192.168.0.18:9092
+ servers: 192.168.0.191:9092
session:
timeout: 6000
topic: test_topic
@@ -98,4 +110,13 @@
linger: 1
retries: 0
servers: 192.168.0.16:9092,192.168.0.17:9092,192.168.0.18:9092
-
+mvc:
+ interceptor:
+ exclude:
+ - /account/login
+AES:
+ KEY:
+ AD42F7787B035B7580000EF93BE20BAD
+TOKEN:
+ KEY:
+ foh3wi2ooghiCh5
\ No newline at end of file
diff --git a/screen-api/src/main/resources/mapper/MenuMapper.xml b/screen-api/src/main/resources/mapper/MenuMapper.xml
index 556ddc0..93e8258 100644
--- a/screen-api/src/main/resources/mapper/MenuMapper.xml
+++ b/screen-api/src/main/resources/mapper/MenuMapper.xml
@@ -2,17 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.moral.api.mapper.MenuMapper">
- <!-- ������������������������ -->
- <resultMap id="BaseResultMap" type="com.moral.api.entity.Menu">
- <id column="id" property="id" />
- <result column="name" property="name" />
- <result column="url" property="url" />
- <result column="icon" property="icon" />
- <result column="parent_id" property="parentId" />
- <result column="order" property="order" />
- <result column="create_time" property="createTime" />
- <result column="update_time" property="updateTime" />
- <result column="is_delete" property="isDelete" />
- </resultMap>
+ <!-- ������������������������ -->
+ <resultMap id="BaseResultMap" type="com.moral.api.entity.Menu">
+ <id column="id" property="id"/>
+ <result column="name" property="name"/>
+ <result column="url" property="url"/>
+ <result column="icon" property="icon"/>
+ <result column="parent_id" property="parentId"/>
+ <result column="order" property="order"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="is_delete" property="isDelete"/>
+ </resultMap>
</mapper>
\ No newline at end of file
diff --git a/screen-api/src/main/resources/mapper/UserMapper.xml b/screen-api/src/main/resources/mapper/UserMapper.xml
index 0df6370..14cd3a9 100644
--- a/screen-api/src/main/resources/mapper/UserMapper.xml
+++ b/screen-api/src/main/resources/mapper/UserMapper.xml
@@ -19,4 +19,24 @@
<result column="is_delete" property="isDelete" />
</resultMap>
+ <select id="selectUserGroup" resultType="com.moral.api.entity.Group">
+ SELECT g.*
+ FROM `group` g,`user_group` ug
+ WHERE ug.user_id = #{userId}
+ AND ug.group_id = g.id
+ AND g.is_delete = 0
+ AND ug.is_delete = 0
+ </select>
+
+ <select id="selectUserMenu" resultType="com.moral.api.entity.Menu">
+ SELECT DISTINCT m.*
+ FROM `user_group` ug,`group_menu` gm,`menu` m
+ WHERE ug.user_id = #{userId}
+ and ug.group_id = gm.group_id
+ and gm.menu_id = m.id
+ and ug.is_delete = 0
+ and gm.is_delete = 0
+ and m.is_delete = 0
+ ORDER by m.`order`
+ </select>
</mapper>
\ No newline at end of file
diff --git a/screen-common/src/main/java/com/moral/redis/RedisUtil.java b/screen-common/src/main/java/com/moral/redis/RedisUtil.java
index f39cc12..f8757c6 100644
--- a/screen-common/src/main/java/com/moral/redis/RedisUtil.java
+++ b/screen-common/src/main/java/com/moral/redis/RedisUtil.java
@@ -2,6 +2,7 @@
import com.moral.util.SpringContextUtils;
+
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.util.CollectionUtils;
@@ -17,15 +18,16 @@
private static RedisTemplate redisTemplate = SpringContextUtils.getBeanByName("redisTemplate");
// =============================common============================
+
/**
* ������������������������key
*
* @param: key
* @param: time
- * @return: boolean
+ * @return: boolean
* @author: wuqp
* @date: 2021/02/24 9:46
- */
+ */
public static boolean expire(String key, long time) {
try {
if (time > 0) {
@@ -43,7 +45,7 @@
*
* @param: key
* @param: time
- * @return: long
+ * @return: long
* @author: wuqp
* @date: 2021/02/24 9:46
*/
@@ -55,11 +57,11 @@
* ������key
*
* @param: key
- * @return: boolean
+ * @return: boolean
* @author: wuqp
* @date: 2021/02/24 9:46
*/
- public boolean hasKey(String key) {
+ public static boolean hasKey(String key) {
try {
return redisTemplate.hasKey(key);
} catch (Exception e) {
@@ -73,12 +75,12 @@
*
* @param: key
* @param: time
- * @return: boolean
+ * @return: boolean
* @author: wuqp
* @date: 2021/02/24 9:46
*/
@SuppressWarnings("unchecked")
- public void del(String... key) {
+ public static void del(String... key) {
if (key != null && key.length > 0) {
if (key.length == 1) {
redisTemplate.delete(key[0]);
@@ -89,12 +91,13 @@
}
// ============================String=============================
+
/**
* ������string���������������
*
* @param: key
* @param: time
- * @return: Object
+ * @return: Object
* @author: wuqp
* @date: 2021/02/24 9:46
*/
@@ -107,7 +110,7 @@
*
* @param: key
* @param: value
- * @return: boolean
+ * @return: boolean
* @author: wuqp
* @date: 2021/02/24 9:46
*/
@@ -127,7 +130,7 @@
* @param: key
* @param: value
* @param: time
- * @return: boolean
+ * @return: boolean
* @author: wuqp
* @date: 2021/02/24 9:46
*/
--
Gitblit v1.8.0