diff --git a/talkonlineweb/pom.xml b/talkonlineweb/pom.xml
index f6ed949..35a3909 100644
--- a/talkonlineweb/pom.xml
+++ b/talkonlineweb/pom.xml
@@ -26,6 +26,11 @@
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
org.springframework.boot
diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyBatisConfigs.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyBatisConfigs.java
index c895cca..9fbb89a 100644
--- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyBatisConfigs.java
+++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyBatisConfigs.java
@@ -9,10 +9,10 @@ import org.springframework.context.annotation.Configuration;
@Configuration
public class MyBatisConfigs {
-// @Bean
-// public MybatisPlusInterceptor mybatisPlusInterceptor() {
-// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
-// return interceptor;
-// }
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor() {
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+ interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+ return interceptor;
+ }
}
diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyWebInterceptor.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyWebInterceptor.java
index 36e8c16..016a4e2 100644
--- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyWebInterceptor.java
+++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/config/MyWebInterceptor.java
@@ -10,6 +10,7 @@ import lombok.extern.java.Log;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.resource.ResourceHttpRequestHandler;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -34,7 +35,13 @@ public class MyWebInterceptor implements HandlerInterceptor {
System.out.println(handler);
- TokenRequired clientRequired = findAnnotation((HandlerMethod) handler, TokenRequired.class);
+ TokenRequired clientRequired = null;
+ if(handler instanceof HandlerMethod){
+ clientRequired=findAnnotation((HandlerMethod) handler, TokenRequired.class);
+ }
+// if(handler instanceof ResourceHttpRequestHandler){
+// clientRequired=findAnnotation((ResourceHttpRequestHandler) handler, TokenRequired.class);
+// }
if (null == clientRequired)
return true;
diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/PermissController.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/PermissController.java
new file mode 100644
index 0000000..bc2d67c
--- /dev/null
+++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/PermissController.java
@@ -0,0 +1,68 @@
+package com.lyms.talkonlineweb.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.lyms.talkonlineweb.domain.LymsPermission;
+import com.lyms.talkonlineweb.domain.LymsUser;
+import com.lyms.talkonlineweb.result.BaseResponse;
+import com.lyms.talkonlineweb.service.LymsPermissionService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 权限管理
+ */
+
+@RestController
+@Log4j2
+public class PermissController {
+ @Autowired
+ private LymsPermissionService lymsPermissionService;
+
+ /**
+ * 添加或修改权限
+ * @param perm
+ * @return
+ */
+ @PostMapping("savePerm")
+ public BaseResponse savePerm(LymsPermission perm){
+ BaseResponse baseResponse=new BaseResponse();
+ boolean f=lymsPermissionService.saveOrUpdate(perm);
+ baseResponse.setErrorcode(f==true?0:1);
+ return baseResponse;
+ }
+
+ /**
+ * 删除权限
+ * @param perm
+ * @return
+ */
+ @PostMapping("delPerm")
+ public BaseResponse delPerm(LymsPermission perm){
+ BaseResponse baseResponse=new BaseResponse();
+ boolean f=lymsPermissionService.remove(Wrappers.query(perm));
+ baseResponse.setErrorcode(f==true?0:1);
+ return baseResponse;
+ }
+
+ /**
+ * 获取权限列表
+ * @param perm
+ * @param current
+ * @param size
+ * @return
+ */
+ @PostMapping("sltPerm")
+ public BaseResponse sltPerm(LymsPermission perm,int current,int size){
+ BaseResponse baseResponse=new BaseResponse();
+ Page page=new Page<>(current,size);
+
+ Page perIPage=lymsPermissionService.page(page,Wrappers.query(perm).orderByDesc("updated_time","createdtime"));
+ baseResponse.setObject(perIPage);
+
+ return baseResponse;
+ }
+
+}
diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/RoleController.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/RoleController.java
new file mode 100644
index 0000000..cb01041
--- /dev/null
+++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/RoleController.java
@@ -0,0 +1,122 @@
+package com.lyms.talkonlineweb.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.lyms.talkonlineweb.domain.LymsRole;
+import com.lyms.talkonlineweb.domain.LymsUser;
+import com.lyms.talkonlineweb.result.BaseResponse;
+import com.lyms.talkonlineweb.service.LymsRoleService;
+import com.lyms.talkonlineweb.service.LymsUserService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 角色管理
+ */
+@RestController
+@Log4j2
+public class RoleController {
+ @Autowired
+ private LymsUserService lymsUserService;
+
+ @Autowired
+ private LymsRoleService lymsRoleService;
+ /**
+ * 保存角色
+ * @param role
+ * @return
+ */
+ @PostMapping("saveRole")
+ public BaseResponse saveRole(LymsRole role){
+ BaseResponse baseResponse=new BaseResponse();
+
+// LymsUser user=lymsUserService.getUserByToken(Authorization);
+// role.setCreatedby(user.getUid());
+
+ if(role.getRid()==null){
+ role.setCreatedtime(new Date());
+ }else {
+// role.setUpdatedby(user.getUid());
+ role.setUpdatedTime(new Date());
+ }
+ boolean f=false;
+
+ if(!StringUtils.isEmpty(role.getRname())){
+ f=lymsRoleService.saveOrUpdate(role);
+ }
+
+ baseResponse.setErrorcode(f==true?0:1);
+ return baseResponse;
+ }
+
+ /**
+ * 查询角色列表
+ * @param role
+ * @param current
+ * @param size
+ * @return
+ */
+ @GetMapping("sltRole")
+ public BaseResponse sltRole(LymsRole role,int current,int size){
+ BaseResponse baseResponse=new BaseResponse();
+ Page page=new Page<>(current,size);
+ Page rolePage=lymsRoleService.page(page, Wrappers.query(role).orderByDesc("updated_time","createdtime"));
+ baseResponse.setObject(rolePage);
+ return baseResponse;
+ }
+
+ /**
+ * 删除角色
+ * @param rid
+ * @return
+ */
+ @GetMapping("delRole")
+ public BaseResponse delRole(int rid){
+ BaseResponse baseResponse=new BaseResponse();
+ boolean f=lymsRoleService.removeById(rid);
+ baseResponse.setErrorcode(f==true?0:1);
+ return baseResponse;
+ }
+
+ /**
+ * 根据用户获取角色
+ * @param uid
+ * @return
+ */
+ @GetMapping("getRolesByUid")
+ public BaseResponse getRolesByUid(int uid){
+ BaseResponse baseResponse=new BaseResponse();
+ List rLst=lymsRoleService.getRolesByUid(uid);
+ baseResponse.setObject(rLst);
+ return baseResponse;
+ }
+
+ /**
+ * 添加角色包含的权限
+ * @param rid
+ * @param perms 如果是多个权限需要用","分割
+ * @return
+ */
+ @PostMapping("addRoleByPerms")
+ public BaseResponse addRoleByPerms(int rid,String perms){
+ BaseResponse baseResponse=new BaseResponse();
+ String[] pArr=perms.split(",");
+ int cnt=0;
+
+ cnt=lymsRoleService.delPersByRole(rid);//删除旧的关系
+ for (int i = 0; i < pArr.length; i++) {
+ cnt=lymsRoleService.addRoleByPerms(rid,Integer.parseInt(pArr[i]));
+ }
+// baseResponse.setObject(rLst);
+ return baseResponse;
+ }
+
+}
diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/TestController.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/TestController.java
index 4940c84..8a29240 100644
--- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/TestController.java
+++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/TestController.java
@@ -16,13 +16,13 @@ import java.util.List;
public class TestController {
- @Autowired
- private LymsUserService lymsUserService;
-
- @GetMapping("lstUser")
- @TokenRequired
- public List listUser(){
- log.info("List user!!");
- return lymsUserService.list();
- }
+// @Autowired
+// private LymsUserService lymsUserService;
+//
+// @GetMapping("lstUser")
+// @TokenRequired
+// public List listUser(){
+// log.info("List user!!");
+// return lymsUserService.list();
+// }
}
diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/UserContoller.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/UserContoller.java
index 736b3da..e4fd540 100644
--- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/UserContoller.java
+++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/UserContoller.java
@@ -2,17 +2,25 @@ package com.lyms.talkonlineweb.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.lyms.talkonlineweb.annotation.TokenRequired;
import com.lyms.talkonlineweb.domain.LymsUser;
import com.lyms.talkonlineweb.mapper.LymsUserMapper;
import com.lyms.talkonlineweb.result.BaseResponse;
+import com.lyms.talkonlineweb.result.CheckResult;
import com.lyms.talkonlineweb.service.LymsUserService;
import com.lyms.talkonlineweb.util.Constant;
import com.lyms.talkonlineweb.util.JwtUtils;
+import io.jsonwebtoken.Claims;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.util.DigestUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpSession;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -31,21 +39,121 @@ public class UserContoller {
private LymsUserMapper lymsUserMapper;
@GetMapping("login")
- public BaseResponse login(String username,String passwd){
+ public BaseResponse login(String username, String passwd){
// QueryWrapper queryWrapper= Wrappers.query(LymsUser.class);
log.info(">>>>>");
BaseResponse baseResponse=new BaseResponse();
Map tMap=new HashMap<>();
tMap.put("token","");
- List uLst=lymsUserMapper.sltUser(username,passwd);
+ List uLst=lymsUserMapper.sltUser(username,DigestUtils.md5DigestAsHex(passwd.getBytes()));
if(uLst.size()>0){
- String JWT = JwtUtils.createJWT("1", username, Constant.JWT_TTL);
+ LymsUser user=uLst.get(0);
+ String JWT = JwtUtils.createJWT("1", user.getLogin(), Constant.JWT_TTL);
tMap.put("token",JWT);
+ user.setPasswd(null);
+ tMap.put("user",user);
}
baseResponse.setObject(tMap);
baseResponse.setErrorcode(0);
return baseResponse;
}
+
+ /**
+ * 得到用户权限
+ * @return
+ */
+ @PostMapping("getPermission")
+ public BaseResponse getPermission(@RequestHeader String authorization){
+
+ BaseResponse baseResponse=new BaseResponse();
+ try {
+ Claims claims =JwtUtils.parseJWT(authorization);
+ String username=claims.getSubject();
+
+ List