Просмотр исходного кода

管理后台,统一认证中心,登录

lyhzzz 3 лет назад
Родитель
Сommit
1cc789e1ce
79 измененных файлов с 1094 добавлено и 973 удалено
  1. 15 0
      4dkankan-center-api/4dkankan-center-manage-api/pom.xml
  2. 13 0
      4dkankan-center-api/4dkankan-center-manage-api/src/main/java/com/fdkankan/manage/api/dto/ManageLoginResponse.java
  3. 16 0
      4dkankan-center-api/4dkankan-center-manage-api/src/main/java/com/fdkankan/manage/api/feign/ManageClient.java
  4. 21 2
      4dkankan-center-auth/pom.xml
  5. 6 3
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/AuthApplication.java
  6. 140 0
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/aop/VisitLogInterceptor.java
  7. 20 0
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/config/SaTokenConfigure.java
  8. 34 0
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/ManageLoginController.java
  9. 0 21
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/RolePermissionController.java
  10. 0 21
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/TmDeveloperController.java
  11. 0 54
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/Account.java
  12. 60 0
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/OperLog.java
  13. 0 48
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/Permission.java
  14. 0 45
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/Role.java
  15. 0 48
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/RolePermission.java
  16. 0 125
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/TmDeveloper.java
  17. 0 18
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/IAccountRoleMapper.java
  18. 0 18
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/IPermissionMapper.java
  19. 0 18
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/IRolePermissionMapper.java
  20. 0 16
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/TmDeveloperMapper.java
  21. 0 43
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/schedul/DeveloperSchedul.java
  22. 0 16
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/IAccountRoleService.java
  23. 0 16
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/IAccountService.java
  24. 0 16
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/IPermissionService.java
  25. 0 16
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/IRolePermissionService.java
  26. 0 16
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/IRoleService.java
  27. 0 16
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/ITmDeveloperService.java
  28. 46 0
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/ManageService.java
  29. 0 20
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/AccountRoleServiceImpl.java
  30. 0 20
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/AccountServiceImpl.java
  31. 0 20
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/PermissionServiceImpl.java
  32. 0 20
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/RolePermissionServiceImpl.java
  33. 0 20
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/RoleServiceImpl.java
  34. 0 20
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/TmDeveloperServiceImpl.java
  35. 9 0
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/vo/request/ManageLoginRequest.java
  36. 10 2
      4dkankan-center-auth/src/main/resources/bootstrap.yml
  37. 0 5
      4dkankan-center-auth/src/main/resources/mapper/auth/AccountRoleMapper.xml
  38. 0 5
      4dkankan-center-auth/src/main/resources/mapper/auth/PermissionMapper.xml
  39. 0 5
      4dkankan-center-auth/src/main/resources/mapper/auth/RolePermissionMapper.xml
  40. 6 0
      4dkankan-center-manage/pom.xml
  41. 2 3
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/ManageApplication.java
  42. 31 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/config/MenuInit.java
  43. 0 60
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/config/SaTokenConfigure.java
  44. 0 43
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/config/StpInterfaceImpl.java
  45. 0 53
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/LoginController.java
  46. 4 4
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/AccountController.java
  47. 4 4
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/RoleController.java
  48. 4 4
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/AccountRoleController.java
  49. 4 4
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/PermissionController.java
  50. 26 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/TestlyhController.java
  51. 3 6
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/OperLog.java
  52. 90 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysMenu.java
  53. 66 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysRole.java
  54. 20 17
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/AccountRole.java
  55. 77 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysUser.java
  56. 22 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/feign/UserFeign.java
  57. 4 4
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/generate/AutoGenerate.java
  58. 30 29
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/interceptor/VisitLogInterceptor.java
  59. 22 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/ISysMenuMapper.java
  60. 4 4
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/IAccountMapper.java
  61. 18 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/ISysRoleMenuMapper.java
  62. 4 4
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/IRoleMapper.java
  63. 19 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysMenuService.java
  64. 16 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysRoleMenuService.java
  65. 16 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysRoleService.java
  66. 20 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysUserService.java
  67. 26 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysMenuServiceImpl.java
  68. 20 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysRoleMenuServiceImpl.java
  69. 20 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysRoleServiceImpl.java
  70. 79 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysUserServiceImpl.java
  71. 9 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/request/LoginRequest.java
  72. 13 0
      4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/response/LoginResponse.java
  73. 8 0
      4dkankan-center-manage/src/main/resources/bootstrap-dev.yml
  74. 0 17
      4dkankan-center-manage/src/main/resources/bootstrap.yml
  75. 12 0
      4dkankan-center-manage/src/main/resources/mapper/manage/SysMenuMapper.xml
  76. 1 1
      4dkankan-center-auth/src/main/resources/mapper/auth/AccountMapper.xml
  77. 1 1
      4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/xml/TmDeveloperMapper.xml
  78. 1 1
      4dkankan-center-auth/src/main/resources/mapper/auth/RoleMapper.xml
  79. 2 1
      pom.xml

+ 15 - 0
4dkankan-center-api/4dkankan-center-manage-api/pom.xml

@@ -0,0 +1,15 @@
+<?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>4dkankan-center-api</artifactId>
+        <groupId>com.fdkankan</groupId>
+        <version>2.0.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>4dkankan-center-manage-api</artifactId>
+
+
+</project>

+ 13 - 0
4dkankan-center-api/4dkankan-center-manage-api/src/main/java/com/fdkankan/manage/api/dto/ManageLoginResponse.java

@@ -0,0 +1,13 @@
+package com.fdkankan.manage.api.dto;
+
+import lombok.Data;
+
+@Data
+public class ManageLoginResponse {
+    private Long id;
+    private String userName;
+    private String nickName;
+    private String token;
+    private Long roleId;
+    private String roleName;
+}

+ 16 - 0
4dkankan-center-api/4dkankan-center-manage-api/src/main/java/com/fdkankan/manage/api/feign/ManageClient.java

@@ -0,0 +1,16 @@
+package com.fdkankan.manage.api.feign;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.api.dto.ManageLoginResponse;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(value = "4dkankan-center-manage",contextId = "manageClient")
+@RequestMapping("/manage/feign/user")
+public interface ManageClient {
+
+    @PostMapping("/getUserByUserNameAndPassword")
+    ResultData<ManageLoginResponse> getUserByUserNameAndPassword(@RequestParam(value = "userName")String userName,
+                                                                 @RequestParam(value = "password")String password);
+}

+ 21 - 2
4dkankan-center-auth/pom.xml

@@ -39,10 +39,9 @@
 
 		<dependency>
 			<groupId>com.fdkankan</groupId>
-			<artifactId>4dkankan-utils-db</artifactId>
+			<artifactId>4dkankan-center-manage-api</artifactId>
 			<version>2.0.0-SNAPSHOT</version>
 		</dependency>
-
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-test</artifactId>
@@ -59,6 +58,26 @@
 			<groupId>com.alibaba.cloud</groupId>
 			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
 		</dependency>
+
+		<!-- Sa-Token 权限认证, 在线文档:http://sa-token.dev33.cn/ -->
+		<dependency>
+			<groupId>cn.dev33</groupId>
+			<artifactId>sa-token-spring-boot-starter</artifactId>
+			<version>1.30.0</version>
+		</dependency>
+
+		<!-- Sa-Token 整合 jwt -->
+		<dependency>
+			<groupId>cn.dev33</groupId>
+			<artifactId>sa-token-jwt</artifactId>
+			<version>1.30.0</version>
+		</dependency>
+
+		<dependency>
+			<groupId>com.fdkankan</groupId>
+			<artifactId>4dkankan-utils-mongodb</artifactId>
+			<version>2.0.0-SNAPSHOT</version>
+		</dependency>
 	</dependencies>
 
 	<build>

+ 6 - 3
4dkankan-center-auth/src/main/java/com/fdkankan/auth/AuthApplication.java

@@ -1,20 +1,23 @@
 package com.fdkankan.auth;
 
-import org.mybatis.spring.annotation.MapperScan;
+import cn.dev33.satoken.SaManager;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.stereotype.Component;
 
 @SpringBootApplication
 @EnableScheduling
-@MapperScan("com.fdkankan.auth.mapper")
+@EnableFeignClients("com.fdkankan.*.api.feign")
+@EnableDiscoveryClient
 @ComponentScan(basePackages = {"com.fdkankan.*"})
 public class AuthApplication {
 
 	public static void main(String[] args) {
 		SpringApplication.run(AuthApplication.class, args);
+		System.out.println("启动成功:Sa-Token配置如下:" + SaManager.getConfig());
 	}
 
 }

+ 140 - 0
4dkankan-center-auth/src/main/java/com/fdkankan/auth/aop/VisitLogInterceptor.java

@@ -0,0 +1,140 @@
+package com.fdkankan.auth.aop;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.extra.servlet.ServletUtil;
+import cn.hutool.http.ContentType;
+import cn.hutool.http.useragent.UserAgent;
+import cn.hutool.http.useragent.UserAgentUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.auth.entity.OperLog;
+import com.fdkankan.common.constant.ServerCode;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+@Aspect
+@Slf4j
+public class VisitLogInterceptor {
+
+	@Autowired
+	private MongoTemplate mongoTemplate;
+
+	@Value("${server.servlet.context-path:null}")
+	private String contextPath;
+
+	// 切入点表达式
+	@Pointcut("execution(public * com.fdkankan.auth.controller..*.*(..))")
+	public void privilege() {
+	}
+
+	@Around("privilege()")
+	public Object around(ProceedingJoinPoint pjp) throws Throwable {
+
+		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+
+		//获取客户端ip
+		String clientIP = ServletUtil.getClientIP(request);
+
+		//获取uri
+		String uri = request.getRequestURI();
+		if(StrUtil.isNotEmpty(contextPath)){
+			uri = uri.replaceFirst(contextPath, "");
+		}
+
+		//获取请求方式
+		String method = request.getMethod();
+
+		//获取浏览器信息
+		String browser = this.getBrowser(request);
+
+		//获取参数
+		String params = this.getParams(pjp, request);
+
+		//获取操作路径
+		String requestPath = "登录";
+
+        //放行
+		Object result = pjp.proceed();
+		String resultStr = JSON.toJSONString(result);
+		JSONObject jsonObject = JSON.parseObject(resultStr);
+		String msg = "操作失败";
+		if(jsonObject.getInteger("code")== null || jsonObject.getInteger("code").equals(ServerCode.SUCCESS.code())){
+			msg = "操作成功";
+		}
+		//获取用户信息 如果已登录,从token中获取用户信息,如果是登录接口,查询数据库获取用户信息
+		JSONObject data = jsonObject.getJSONObject("data");
+		Long userId =data.getLong("id");
+		String userName =data.getString("userName");
+		String nickName =data.getString("nickName");
+		//写入mongodb
+		OperLog operLog = new OperLog();
+		operLog.setUserId(userId);
+		operLog.setUserName(userName);
+		operLog.setNickName(nickName);
+		operLog.setRequestPath(requestPath);
+		operLog.setUri(uri);
+		operLog.setMethod(method);
+		operLog.setParams(params);
+		operLog.setIp(clientIP);
+		operLog.setBrowser(browser);
+		operLog.setCreateTime(Calendar.getInstance().getTime());
+		operLog.setResult(msg);
+		mongoTemplate.insert(operLog);
+		return result;
+	}
+
+
+
+
+	private String getParams(JoinPoint pjp, HttpServletRequest request){
+
+		// 获取参数名称
+		String[] parameterNamesArgs = ((MethodSignature) pjp.getSignature()).getParameterNames();
+		//获取请求参数值
+		Object[] args = pjp.getArgs();
+
+		Map<String, Object> paramMap = new HashMap<>();
+		String contentType = request.getContentType();
+		if(ContentType.JSON.getValue().equals(contentType)){
+			return JSON.toJSONString(args[0]);
+		}else{
+			for (int i = 0; i < args.length; i++) {
+				if(args[i] instanceof MultipartFile){
+					paramMap.put(parameterNamesArgs[i], ((MultipartFile) args[i]).getOriginalFilename());
+					continue;
+				}
+				paramMap.put(parameterNamesArgs[i], args[i]);
+			}
+		}
+		return JSON.toJSONString(paramMap);
+	}
+
+	private String getBrowser(HttpServletRequest request){
+		String userAgentStr = request.getHeader("User-Agent");
+		UserAgent userAgent = UserAgentUtil.parse(userAgentStr);
+		String browserType = userAgent.getBrowser().toString();
+		String browserVersion = userAgent.getVersion();
+		String browserFormat = "%s(版本%s)";
+		return  String.format(browserFormat, browserType, browserVersion);
+	}
+
+}
+

+ 20 - 0
4dkankan-center-auth/src/main/java/com/fdkankan/auth/config/SaTokenConfigure.java

@@ -0,0 +1,20 @@
+package com.fdkankan.auth.config;
+
+import cn.dev33.satoken.jwt.StpLogicJwtForMixin;
+import cn.dev33.satoken.stp.StpLogic;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class SaTokenConfigure  {
+
+    // Sa-Token 整合 jwt
+    //Stateless 无状态模式 纯jwt
+    //Mixin 混入模式 jwt 与 Redis 逻辑混合
+    //Simple 简单模式   Token风格替换
+    @Bean
+    public StpLogic getStpLogicJwt() {
+        return new StpLogicJwtForMixin();
+    }
+}
+

+ 34 - 0
4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/ManageLoginController.java

@@ -0,0 +1,34 @@
+package com.fdkankan.auth.controller;
+
+import com.fdkankan.auth.service.ManageService;
+import com.fdkankan.auth.vo.request.ManageLoginRequest;
+import com.fdkankan.common.response.ResultData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author kong
+ *
+ */
+@RestController
+@RequestMapping("/service/auth/manage")
+public class ManageLoginController {
+
+    @Autowired
+    ManageService manageService;
+
+    /**
+     * 登录
+     * @return
+     */
+    @PostMapping("/login")
+    public ResultData login(@RequestBody ManageLoginRequest param) {
+        return manageService.login(param.getUserName(),param.getPassword());
+    }
+
+
+}
+

+ 0 - 21
4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/RolePermissionController.java

@@ -1,21 +0,0 @@
-package com.fdkankan.auth.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@RestController
-@RequestMapping("/auth/rolePermission")
-public class RolePermissionController {
-
-}
-

+ 0 - 21
4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/TmDeveloperController.java

@@ -1,21 +0,0 @@
-package com.fdkankan.auth.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 开发者信息表 前端控制器
- * </p>
- *
- * @author ${author}
- * @since 2021-12-23
- */
-@RestController
-@RequestMapping("/auth/tm-developer")
-public class TmDeveloperController {
-
-}
-

+ 0 - 54
4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/Account.java

@@ -1,54 +0,0 @@
-package com.fdkankan.auth.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Getter
-@Setter
-@TableName("t_account")
-public class Account implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-
-    @TableField("user_id")
-    private String userId;
-
-    @TableField("user_name")
-    private String userName;
-
-    @TableField("password")
-    private String password;
-
-    @TableField("name")
-    private String name;
-
-    @TableField("create_time")
-    private Date createTime;
-
-    @TableField("update_time")
-    private Date updateTime;
-
-    @TableField("tb_status")
-    @TableLogic
-    private Integer tbStatus;
-
-
-}

+ 60 - 0
4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/OperLog.java

@@ -0,0 +1,60 @@
+package com.fdkankan.auth.entity;
+
+import com.fdkankan.mongodb.base.BaseMongoEntity;
+import lombok.Data;
+import org.springframework.data.mongodb.core.mapping.Document;
+import org.springframework.data.mongodb.core.mapping.Field;
+
+/**
+ * 操作日志
+ */
+@Data
+@Document("OperLog")
+public class OperLog extends BaseMongoEntity{
+
+
+    /**
+     * 用户id
+     */
+    @Field("userId")
+    private Long userId;
+
+    /**
+     * 账号
+     */
+    @Field("userName")
+    private String userName;
+
+    /**
+     * 姓名
+     */
+    @Field("nickName")
+    private String nickName;
+
+    /**请求路径*/
+    @Field("requestPath")
+    private String requestPath;
+
+    /**请求url*/
+    @Field("uri")
+    private String uri;
+
+    /**请求方式*/
+    @Field("method")
+    private String method;
+
+    /**请求方式*/
+    @Field("params")
+    private String params;
+
+    /**请求ip*/
+    @Field("ip")
+    private String ip;
+
+    @Field("browser")
+    private String browser;
+
+    @Field("result")
+    private String result;
+
+}

+ 0 - 48
4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/Permission.java

@@ -1,48 +0,0 @@
-package com.fdkankan.auth.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Getter
-@Setter
-@TableName("t_permission")
-public class Permission implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-
-    @TableField("name")
-    private String name;
-
-    @TableField("url")
-    private String url;
-
-    @TableField("create_time")
-    private Date createTime;
-
-    @TableField("update_time")
-    private Date updateTime;
-
-    @TableField("tb_status")
-    @TableLogic
-    private Integer tbStatus;
-
-
-}

+ 0 - 45
4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/Role.java

@@ -1,45 +0,0 @@
-package com.fdkankan.auth.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Getter
-@Setter
-@TableName("t_role")
-public class Role implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-
-    @TableField("name")
-    private String name;
-
-    @TableField("create_time")
-    private Date createTime;
-
-    @TableField("update_time")
-    private Date updateTime;
-
-    @TableField("tb_status")
-    @TableLogic
-    private Integer tbStatus;
-
-
-}

+ 0 - 48
4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/RolePermission.java

@@ -1,48 +0,0 @@
-package com.fdkankan.auth.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Getter
-@Setter
-@TableName("t_role_permission")
-public class RolePermission implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-
-    @TableField("role_id")
-    private Long roleId;
-
-    @TableField("permission_id")
-    private Long permissionId;
-
-    @TableField("create_time")
-    private Date createTime;
-
-    @TableField("update_time")
-    private Date updateTime;
-
-    @TableField("tb_status")
-    @TableLogic
-    private Integer tbStatus;
-
-
-}

+ 0 - 125
4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/TmDeveloper.java

@@ -1,125 +0,0 @@
-package com.fdkankan.auth.entity;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 开发者信息表
- * </p>
- *
- * @author ${author}
- * @since 2021-12-23
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("tm_developer")
-public class TmDeveloper implements Serializable {
-
-    private static final long serialVersionUID=1L;
-
-    /**
-     * 开发者id
-     */
-    @TableId(value = "developer_id", type = IdType.AUTO)
-    private String developerId;
-
-    /**
-     * 开发者应用id
-     */
-    private String appId;
-
-    /**
-     * 开发者所属公司统一社会信用代码
-     */
-    private String companyCreditCode;
-
-    /**
-     * 开发者应用密钥
-     */
-    private String appSecret;
-
-    /**
-     * 模式
-     */
-    private String state;
-
-    /**
-     * 使用的微信小程序的app id
-     */
-    private String wxAppId;
-
-    /**
-     * 开发者所属公司
-     */
-    private String company;
-
-    /**
-     * 开发者所属公司固话号码
-     */
-    private String tel;
-
-    /**
-     * 开发者所属公司法人名字
-     */
-    private String legalPersonName;
-
-    /**
-     * 开发者所属公司法人手机号码
-     */
-    private String legalPersonPhone;
-
-    /**
-     * 是否可用: 2审批通过 1 待审批 0 不可用
-     */
-    private Integer enable;
-
-    /**
-     * 创建时间
-     */
-    private Date createTime;
-
-    /**
-     * 最新修改时间
-     */
-    private Date lastModifyDatetime;
-
-    /**
-     * openApi回调开发者接口的url
-     */
-    private String callBackUrl;
-
-    /**
-     * 管理者手机号
-     */
-    private String adminPhone;
-
-    /**
-     * 管理者邮箱
-     */
-    private String adminEmail;
-
-    /**
-     * 微信小程序校验文件链接
-     */
-    private String wxMiniProgramFile;
-
-    /**
-     * 所属领域
-     */
-    private String domainType;
-
-    /**
-     * 是否需要将返回参数拼到url上:Y 需要 N不需要
-     */
-    private String respondToUrl;
-
-
-}

+ 0 - 18
4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/IAccountRoleMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.auth.mapper;
-
-import com.fdkankan.auth.entity.AccountRole;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Mapper
-public interface IAccountRoleMapper extends BaseMapper<AccountRole> {
-
-}

+ 0 - 18
4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/IPermissionMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.auth.mapper;
-
-import com.fdkankan.auth.entity.Permission;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Mapper
-public interface IPermissionMapper extends BaseMapper<Permission> {
-
-}

+ 0 - 18
4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/IRolePermissionMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.auth.mapper;
-
-import com.fdkankan.auth.entity.RolePermission;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Mapper
-public interface IRolePermissionMapper extends BaseMapper<RolePermission> {
-
-}

+ 0 - 16
4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/TmDeveloperMapper.java

@@ -1,16 +0,0 @@
-package com.fdkankan.auth.mapper;
-
-import com.fdkankan.auth.entity.TmDeveloper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 开发者信息表 Mapper 接口
- * </p>
- *
- * @author ${author}
- * @since 2021-12-23
- */
-public interface TmDeveloperMapper extends BaseMapper<TmDeveloper> {
-
-}

+ 0 - 43
4dkankan-center-auth/src/main/java/com/fdkankan/auth/schedul/DeveloperSchedul.java

@@ -1,43 +0,0 @@
-package com.fdkankan.auth.schedul;
-
-import com.alibaba.fastjson.JSON;
-import com.fdkankan.auth.entity.TmDeveloper;
-import com.fdkankan.auth.service.ITmDeveloperService;
-import com.fdkankan.redis.constant.RedisKey;
-import com.fdkankan.redis.util.RedisUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-@Component
-@Slf4j
-public class DeveloperSchedul {
-
-
-    @Autowired
-    private ITmDeveloperService tmDeveloperService;
-
-    @Autowired
-    private RedisUtil redisUtil;
-
-
-    /**
-     * 加载开发者信息到缓存,上一次执行完毕后五分钟执行
-     */
-    @Scheduled(fixedDelay=300000)
-    public void loadTmDeveloperToRedisCache(){
-        log.info("-----从mysql中加载开发者信息表到redis缓存定时任务开始执行------");
-        List<TmDeveloper> list = tmDeveloperService.list();
-        list.stream().forEach(tmDeveloper -> {
-            String key = String.format(RedisKey.TM_DEVELOPER, tmDeveloper.getAppId());
-            redisUtil.set(key, JSON.toJSONString(tmDeveloper));
-        });
-        log.info("-----从mysql中加载开发者信息表到redis缓存定时任务执行结束------");
-
-
-    }
-
-}

+ 0 - 16
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/IAccountRoleService.java

@@ -1,16 +0,0 @@
-package com.fdkankan.auth.service;
-
-import com.fdkankan.auth.entity.AccountRole;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-public interface IAccountRoleService extends IService<AccountRole> {
-
-}

+ 0 - 16
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/IAccountService.java

@@ -1,16 +0,0 @@
-package com.fdkankan.auth.service;
-
-import com.fdkankan.auth.entity.Account;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-public interface IAccountService extends IService<Account> {
-
-}

+ 0 - 16
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/IPermissionService.java

@@ -1,16 +0,0 @@
-package com.fdkankan.auth.service;
-
-import com.fdkankan.auth.entity.Permission;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-public interface IPermissionService extends IService<Permission> {
-
-}

+ 0 - 16
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/IRolePermissionService.java

@@ -1,16 +0,0 @@
-package com.fdkankan.auth.service;
-
-import com.fdkankan.auth.entity.RolePermission;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-public interface IRolePermissionService extends IService<RolePermission> {
-
-}

+ 0 - 16
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/IRoleService.java

@@ -1,16 +0,0 @@
-package com.fdkankan.auth.service;
-
-import com.fdkankan.auth.entity.Role;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-public interface IRoleService extends IService<Role> {
-
-}

+ 0 - 16
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/ITmDeveloperService.java

@@ -1,16 +0,0 @@
-package com.fdkankan.auth.service;
-
-import com.fdkankan.auth.entity.TmDeveloper;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 开发者信息表 服务类
- * </p>
- *
- * @author ${author}
- * @since 2021-12-23
- */
-public interface ITmDeveloperService extends IService<TmDeveloper> {
-
-}

+ 46 - 0
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/ManageService.java

@@ -0,0 +1,46 @@
+package com.fdkankan.auth.service;
+
+import cn.dev33.satoken.stp.SaLoginConfig;
+import cn.dev33.satoken.stp.StpUtil;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.constant.ServerCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.common.util.Base64Converter;
+import com.fdkankan.common.util.SecurityUtil;
+import com.fdkankan.manage.api.dto.ManageLoginResponse;
+import com.fdkankan.manage.api.feign.ManageClient;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ManageService {
+
+    @Autowired
+    ManageClient manageClient;
+
+
+    public ResultData login(String userName, String password) {
+        if(StringUtils.isBlank(userName) || StringUtils.isBlank(password)){
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        //对前端传的密码解密
+        String passwordMd5 = SecurityUtil.MD52(Base64Converter.decode(Base64Converter.subText(password)));
+
+        ResultData<ManageLoginResponse> result = manageClient.getUserByUserNameAndPassword(userName, passwordMd5);
+        if(result.getCode() != ServerCode.SUCCESS.code()){
+            return result;
+        }
+        ManageLoginResponse data = result.getData();
+        if(data == null){
+            throw new BusinessException(201,"账号密码错误!");
+        }
+        StpUtil.login(data.getId(), SaLoginConfig
+                .setExtra("userId",data.getId())
+                .setExtra("userName",data.getUserName())
+                .setExtra("nickName",data.getNickName()));
+        data.setToken(StpUtil.getTokenValue());
+        return result;
+    }
+}

+ 0 - 20
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/AccountRoleServiceImpl.java

@@ -1,20 +0,0 @@
-package com.fdkankan.auth.service.impl;
-
-import com.fdkankan.auth.entity.AccountRole;
-import com.fdkankan.auth.mapper.IAccountRoleMapper;
-import com.fdkankan.auth.service.IAccountRoleService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Service
-public class AccountRoleServiceImpl extends ServiceImpl<IAccountRoleMapper, AccountRole> implements IAccountRoleService {
-
-}

+ 0 - 20
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/AccountServiceImpl.java

@@ -1,20 +0,0 @@
-package com.fdkankan.auth.service.impl;
-
-import com.fdkankan.auth.entity.Account;
-import com.fdkankan.auth.mapper.IAccountMapper;
-import com.fdkankan.auth.service.IAccountService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Service
-public class AccountServiceImpl extends ServiceImpl<IAccountMapper, Account> implements IAccountService {
-
-}

+ 0 - 20
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/PermissionServiceImpl.java

@@ -1,20 +0,0 @@
-package com.fdkankan.auth.service.impl;
-
-import com.fdkankan.auth.entity.Permission;
-import com.fdkankan.auth.mapper.IPermissionMapper;
-import com.fdkankan.auth.service.IPermissionService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Service
-public class PermissionServiceImpl extends ServiceImpl<IPermissionMapper, Permission> implements IPermissionService {
-
-}

+ 0 - 20
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/RolePermissionServiceImpl.java

@@ -1,20 +0,0 @@
-package com.fdkankan.auth.service.impl;
-
-import com.fdkankan.auth.entity.RolePermission;
-import com.fdkankan.auth.mapper.IRolePermissionMapper;
-import com.fdkankan.auth.service.IRolePermissionService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Service
-public class RolePermissionServiceImpl extends ServiceImpl<IRolePermissionMapper, RolePermission> implements IRolePermissionService {
-
-}

+ 0 - 20
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/RoleServiceImpl.java

@@ -1,20 +0,0 @@
-package com.fdkankan.auth.service.impl;
-
-import com.fdkankan.auth.entity.Role;
-import com.fdkankan.auth.mapper.IRoleMapper;
-import com.fdkankan.auth.service.IRoleService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author 
- * @since 2022-04-02
- */
-@Service
-public class RoleServiceImpl extends ServiceImpl<IRoleMapper, Role> implements IRoleService {
-
-}

+ 0 - 20
4dkankan-center-auth/src/main/java/com/fdkankan/auth/service/impl/TmDeveloperServiceImpl.java

@@ -1,20 +0,0 @@
-package com.fdkankan.auth.service.impl;
-
-import com.fdkankan.auth.entity.TmDeveloper;
-import com.fdkankan.auth.mapper.TmDeveloperMapper;
-import com.fdkankan.auth.service.ITmDeveloperService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 开发者信息表 服务实现类
- * </p>
- *
- * @author ${author}
- * @since 2021-12-23
- */
-@Service
-public class TmDeveloperServiceImpl extends ServiceImpl<TmDeveloperMapper, TmDeveloper> implements ITmDeveloperService {
-
-}

+ 9 - 0
4dkankan-center-auth/src/main/java/com/fdkankan/auth/vo/request/ManageLoginRequest.java

@@ -0,0 +1,9 @@
+package com.fdkankan.auth.vo.request;
+
+import lombok.Data;
+
+@Data
+public class ManageLoginRequest {
+    private String userName;
+    private String password;
+}

+ 10 - 2
4dkankan-center-auth/src/main/resources/bootstrap.yml

@@ -4,7 +4,7 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 192.168.0.47:8848
+        server-addr: 120.24.144.164:8848
         file-extension: yaml
         namespace: 4dkankan-dev
         extension-configs:
@@ -23,7 +23,15 @@ spring:
           - data-id: other-config.yaml
             group: DEFAULT_GROUP
             refresh: true
+
+          - data-id: common-satoken-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+          - data-id: common-mongodb-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
       discovery:
-        server-addr: 192.168.0.47:8848
+        server-addr: 120.24.144.164:8848
         namespace: 4dkankan-dev
 

+ 0 - 5
4dkankan-center-auth/src/main/resources/mapper/auth/AccountRoleMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.fdkankan.auth.mapper.IAccountRoleMapper">
-
-</mapper>

+ 0 - 5
4dkankan-center-auth/src/main/resources/mapper/auth/PermissionMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.fdkankan.auth.mapper.IPermissionMapper">
-
-</mapper>

+ 0 - 5
4dkankan-center-auth/src/main/resources/mapper/auth/RolePermissionMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.fdkankan.auth.mapper.IRolePermissionMapper">
-
-</mapper>

+ 6 - 0
4dkankan-center-manage/pom.xml

@@ -44,6 +44,12 @@
     </dependency>
 
     <dependency>
+      <groupId>com.fdkankan</groupId>
+      <artifactId>4dkankan-center-manage-api</artifactId>
+      <version>2.0.0-SNAPSHOT</version>
+    </dependency>
+
+    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
     </dependency>

+ 2 - 3
4dkankan-center-manage/src/main/java/com/fdkankan/manage/ManageApplication.java

@@ -1,11 +1,11 @@
 package com.fdkankan.manage;
 
-import cn.dev33.satoken.SaManager;
 import com.dtflys.forest.springboot.annotation.ForestScan;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
@@ -24,13 +24,12 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 @EnableScheduling
 @ComponentScan(basePackages = {"com.fdkankan.*"})
 @MapperScan("com.fdkankan.**.mapper")
+@EnableFeignClients("com.fdkankan.*.api.feign")
 @ForestScan(basePackages = "com.fdkankan.manage.httpclient")
 public class ManageApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("启动成功:Sa-Token配置如下:" + SaManager.getConfig());
-
     }
 
 }

+ 31 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/config/MenuInit.java

@@ -0,0 +1,31 @@
+package com.fdkankan.manage.config;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.manage.entity.SysMenu;
+import com.fdkankan.manage.service.ISysMenuService;
+import com.fdkankan.redis.util.RedisUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import java.util.List;
+
+@Component
+@Slf4j
+public class MenuInit {
+
+    @Autowired
+    ISysMenuService sysMenuService;
+
+    @Autowired
+    RedisUtil redisUtil;
+
+    @PostConstruct
+    public void initMenu(){
+        List<SysMenu> list = sysMenuService.list();
+        String result = JSONObject.toJSONString(list);
+        redisUtil.set("manage_perm_menu",result );
+        log.info("项目启动加载系统菜单权限至redis:{}",result);
+    }
+}

+ 0 - 60
4dkankan-center-manage/src/main/java/com/fdkankan/manage/config/SaTokenConfigure.java

@@ -1,60 +0,0 @@
-package com.fdkankan.manage.config;
-
-import cn.dev33.satoken.interceptor.SaRouteInterceptor;
-import cn.dev33.satoken.jwt.StpLogicJwtForMixin;
-import cn.dev33.satoken.router.SaRouter;
-import cn.dev33.satoken.stp.StpLogic;
-import cn.dev33.satoken.stp.StpUtil;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-@Configuration
-public class SaTokenConfigure implements WebMvcConfigurer {
-
-    /**
-     * 注册Sa-Token 的拦截器,打开注解式鉴权功能
-     */
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        // 注册注解拦截器 SaAnnotationInterceptor
-
-        // 注册路由拦截器,自定义认证规则  SaRouteInterceptor
-        registry.addInterceptor(new SaRouteInterceptor((req, res, handler)->{
-            // 根据路由划分模块,不同模块不同鉴权
-
-            // 登录认证 -- 拦截所有路由,并排除/user/doLogin 用于开放登录
-            SaRouter.match("/**", "/**/login", r -> StpUtil.checkLogin());
-
-            // 角色认证 -- 拦截以 admin 开头的路由,必须具备 admin 角色或者 super-admin 角色才可以通过认证
-            SaRouter.match("/admin/**", r -> StpUtil.checkRoleOr("admin", "super-admin"));
-
-            // 权限认证 -- 不同模块认证不同权限
-            SaRouter.match("/user/**", r -> StpUtil.checkPermission("user"));
-            SaRouter.match("/admin/**", r -> StpUtil.checkPermission("admin"));
-            SaRouter.match("/goods/**", r -> StpUtil.checkPermission("goods"));
-            SaRouter.match("/orders/**", r -> StpUtil.checkPermission("orders"));
-            SaRouter.match("/notice/**", r -> StpUtil.checkPermission("notice"));
-            SaRouter.match("/comment/**", r -> StpUtil.checkPermission("comment"));
-
-            // 甚至你可以随意的写一个打印语句
-            SaRouter.match("/**", r -> System.out.println("----啦啦啦----"));
-
-            // 连缀写法
-            SaRouter.match("/**").check(r -> System.out.println("----啦啦啦----"));
-
-        })).addPathPatterns("/**");
-    }
-
-
-    // Sa-Token 整合 jwt
-    //Stateless 无状态模式 纯jwt
-    //Mixin 混入模式 jwt 与 Redis 逻辑混合
-    //Simple 简单模式   Token风格替换
-    @Bean
-    public StpLogic getStpLogicJwt() {
-        return new StpLogicJwtForMixin();
-    }
-}
-

+ 0 - 43
4dkankan-center-manage/src/main/java/com/fdkankan/manage/config/StpInterfaceImpl.java

@@ -1,43 +0,0 @@
-package com.fdkankan.manage.config;
-
-import cn.dev33.satoken.stp.StpInterface;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 自定义权限验证接口扩展
- */
-@Component
-public class StpInterfaceImpl implements StpInterface {
-
-    /**
-     * 返回一个账号所拥有的权限码集合
-     */
-    @Override
-    public List<String> getPermissionList(Object loginId, String loginType) {
-        // 本list仅做模拟,实际项目中要根据具体业务逻辑来查询权限
-        List<String> list = new ArrayList<String>();
-        list.add("101");
-        list.add("user-add");
-        list.add("user-delete");
-        list.add("user-update");
-        list.add("user-get");
-        list.add("article-get");
-        return list;
-    }
-
-    /**
-     * 返回一个账号所拥有的角色标识集合 (权限与角色可分开校验)
-     */
-    @Override
-    public List<String> getRoleList(Object loginId, String loginType) {
-        // 本list仅做模拟,实际项目中要根据具体业务逻辑来查询角色
-        List<String> list = new ArrayList<String>();
-        list.add("admin");
-        list.add("super-admin");
-        return list;
-    }
-
-}

+ 0 - 53
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/LoginController.java

@@ -1,53 +0,0 @@
-package com.fdkankan.manage.controller;
-
-import cn.dev33.satoken.stp.SaLoginConfig;
-import cn.dev33.satoken.stp.SaTokenInfo;
-import cn.dev33.satoken.stp.StpUtil;
-import cn.dev33.satoken.util.SaResult;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 登录测试
- * @author kong
- *
- */
-@RestController
-@RequestMapping("/manage/")
-public class LoginController {
-
-    // 测试登录  ----
-    @RequestMapping("login")
-    public SaResult doLogin(String name, String pwd) {
-        // 此处仅作模拟示例,真实项目需要从数据库中查询数据进行比对
-        if("cs".equals(name) && "123456".equals(pwd)) {
-            StpUtil.login(10001, SaLoginConfig.setExtra("name","cs"));
-            SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
-            return SaResult.data(tokenInfo);
-        }
-        return SaResult.error("登录失败");
-    }
-
-    // 查询登录状态  ----
-    @RequestMapping("isLogin")
-    public SaResult isLogin() {
-        return SaResult.ok("是否登录:" + StpUtil.isLogin());
-    }
-
-    // 查询 Token 信息  ----
-    @RequestMapping("tokenInfo")
-    public SaResult tokenInfo() {
-        String name = (String) StpUtil.getExtra("name");
-        StpUtil.checkPermission("user");
-        return SaResult.data( StpUtil.getTokenInfo());
-    }
-
-    // 测试注销  ----
-    @RequestMapping("logout")
-    public SaResult logout() {
-        StpUtil.logout();
-        return SaResult.ok();
-    }
-
-}
-

+ 4 - 4
4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/AccountController.java

@@ -1,4 +1,4 @@
-package com.fdkankan.auth.controller;
+package com.fdkankan.manage.controller;
 
 
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -11,11 +11,11 @@ import org.springframework.web.bind.annotation.RestController;
  * </p>
  *
  * @author 
- * @since 2022-04-02
+ * @since 2022-06-09
  */
 @RestController
-@RequestMapping("/auth/account")
-public class AccountController {
+@RequestMapping("/manage/sysMenu")
+public class SysMenuController {
 
 }
 

+ 4 - 4
4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/RoleController.java

@@ -1,4 +1,4 @@
-package com.fdkankan.auth.controller;
+package com.fdkankan.manage.controller;
 
 
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -11,11 +11,11 @@ import org.springframework.web.bind.annotation.RestController;
  * </p>
  *
  * @author 
- * @since 2022-04-02
+ * @since 2022-06-09
  */
 @RestController
-@RequestMapping("/auth/role")
-public class RoleController {
+@RequestMapping("/manage/sysRole")
+public class SysRoleController {
 
 }
 

+ 4 - 4
4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/AccountRoleController.java

@@ -1,4 +1,4 @@
-package com.fdkankan.auth.controller;
+package com.fdkankan.manage.controller;
 
 
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -11,11 +11,11 @@ import org.springframework.web.bind.annotation.RestController;
  * </p>
  *
  * @author 
- * @since 2022-04-02
+ * @since 2022-06-09
  */
 @RestController
-@RequestMapping("/auth/accountRole")
-public class AccountRoleController {
+@RequestMapping("/manage/sysRoleMenu")
+public class SysRoleMenuController {
 
 }
 

+ 4 - 4
4dkankan-center-auth/src/main/java/com/fdkankan/auth/controller/PermissionController.java

@@ -1,4 +1,4 @@
-package com.fdkankan.auth.controller;
+package com.fdkankan.manage.controller;
 
 
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -11,11 +11,11 @@ import org.springframework.web.bind.annotation.RestController;
  * </p>
  *
  * @author 
- * @since 2022-04-02
+ * @since 2022-06-09
  */
 @RestController
-@RequestMapping("/auth/permission")
-public class PermissionController {
+@RequestMapping("/manage/sysUser")
+public class SysUserController {
 
 }
 

+ 26 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/TestlyhController.java

@@ -0,0 +1,26 @@
+package com.fdkankan.manage.controller;
+
+import com.fdkankan.common.response.ResultData;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/service/manage/test")
+public class TestlyhController {
+
+
+    @GetMapping("/list")
+    public ResultData test(){
+
+        return ResultData.ok("list");
+    }
+    @GetMapping("/save")
+    public ResultData test2(){
+
+        return ResultData.ok("save");
+    }
+
+
+
+}

+ 3 - 6
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/OperLog.java

@@ -1,13 +1,7 @@
 package com.fdkankan.manage.entity;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fdkankan.mongodb.base.BaseMongoEntity;
-import java.io.Serializable;
-import java.util.Date;
-import java.util.Map;
-import lombok.Builder;
 import lombok.Data;
-import org.springframework.data.annotation.Id;
 import org.springframework.data.mongodb.core.mapping.Document;
 import org.springframework.data.mongodb.core.mapping.Field;
 
@@ -60,4 +54,7 @@ public class OperLog extends BaseMongoEntity{
     @Field("browser")
     private String browser;
 
+    @Field("result")
+    private String result;
+
 }

+ 90 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysMenu.java

@@ -0,0 +1,90 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+@Getter
+@Setter
+@TableName("sys_menu")
+public class SysMenu implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 系统菜单表
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 菜单名称
+     */
+    @TableField("name")
+    private String name;
+
+    /**
+     * 菜单路由
+     */
+    @TableField("url")
+    private String url;
+
+    /**
+     * 菜单图标
+     */
+    @TableField("icon")
+    private String icon;
+
+    /**
+     * 父id
+     */
+    @TableField("parent_id")
+    private Integer parentId;
+
+    /**
+     * 类型0菜单,1按钮
+     */
+    @TableField("type")
+    private Integer type;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    /**
+     * 排序字段
+     */
+    @TableField("sort")
+    private Integer sort;
+
+    /**
+     * 是否显示 0 不显示,1显示
+     */
+    @TableField("is_show")
+    private Integer isShow;
+
+    /**
+     * 权限表达式
+     */
+    @TableField("perms")
+    private String perms;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 66 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysRole.java

@@ -0,0 +1,66 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+@Getter
+@Setter
+@TableName("sys_role")
+public class SysRole implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 角色表
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 角色名称
+     */
+    @TableField("role_name")
+    private String roleName;
+
+    /**
+     * 角色类型
+     */
+    @TableField("role_type")
+    private String roleType;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    /**
+     * 创建者id
+     */
+    @TableField("create_user_id")
+    private Integer createUserId;
+
+    /**
+     * 是否禁用 0禁用 1启用
+     */
+    @TableField("status")
+    private Integer status;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 20 - 17
4dkankan-center-auth/src/main/java/com/fdkankan/auth/entity/AccountRole.java

@@ -1,38 +1,45 @@
-package com.fdkankan.auth.entity;
+package com.fdkankan.manage.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-import java.util.Date;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 
  * </p>
  *
  * @author 
- * @since 2022-04-02
+ * @since 2022-06-09
  */
 @Getter
 @Setter
-@TableName("t_account_role")
-public class AccountRole implements Serializable {
+@TableName("sys_role_menu")
+public class SysRoleMenu implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-
-    @TableField("account_id")
-    private Long accountId;
+    /**
+     * 菜单角色关系表
+     */
+    @TableId("id")
+    private Integer id;
 
     @TableField("role_id")
-    private Long roleId;
+    private Integer roleId;
+
+    @TableField("menu_id")
+    private Integer menuId;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
 
     @TableField("create_time")
     private Date createTime;
@@ -40,9 +47,5 @@ public class AccountRole implements Serializable {
     @TableField("update_time")
     private Date updateTime;
 
-    @TableField("tb_status")
-    @TableLogic
-    private Integer tbStatus;
-
 
 }

+ 77 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/SysUser.java

@@ -0,0 +1,77 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+@Getter
+@Setter
+@TableName("sys_user")
+public class SysUser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 系统用户表
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 账号
+     */
+    @TableField("user_name")
+    private String userName;
+
+    /**
+     * 密码
+     */
+    @TableField("password")
+    private String password;
+    /**
+     * 昵称
+     */
+    @TableField("nick_name")
+    private String nickName;
+
+    /**
+     * 角色id
+     */
+    @TableField("role_id")
+    private Integer roleId;
+
+    /**
+     * 创建者id
+     */
+    @TableField("create_user_id")
+    private Integer createUserId;
+
+    /**
+     * 是否禁用 0禁用,1启用
+     */
+    @TableField("status")
+    private Integer status;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 22 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/feign/UserFeign.java

@@ -0,0 +1,22 @@
+package com.fdkankan.manage.feign;
+
+import com.fdkankan.manage.api.dto.ManageLoginResponse;
+import com.fdkankan.manage.service.ISysUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/feign/user")
+public class UserFeign {
+    @Autowired
+    ISysUserService sysUserService;
+
+    @PostMapping("/getUserByUserNameAndPassword")
+    ManageLoginResponse getUserByUserNameAndPassword(@RequestParam(value = "userName")String userName,
+                                                     @RequestParam(value = "password")String password){
+        return sysUserService.getUserByUserNameAndPassword(userName,password);
+    }
+}

+ 4 - 4
4dkankan-center-manage/src/main/java/com/fdkankan/manage/generate/AutoGenerate.java

@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.generator.FastAutoGenerator;
 import com.baomidou.mybatisplus.generator.config.OutputFile;
 import com.baomidou.mybatisplus.generator.config.rules.DateType;
-import com.fdkankan.db.base.BaseEntity;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") + "\\4dkankan-center-manage";
 
         generate(path,"manage", getTables(new String[]{
-                "t_advertise",
+                "sys_role","sys_role_menu","sys_user","sys_menu"
         }));
 
 //        generate(path,"goods", getTables(new String[]{
@@ -78,9 +78,9 @@ public class AutoGenerate {
 
                             .entityBuilder()
                             .enableLombok()
-                            .logicDeleteColumnName("tb_status")
+                            .logicDeleteColumnName("rec_status")
                             .enableTableFieldAnnotation()
-                            .superClass(BaseEntity.class)
+                            //.superClass(BaseEntity.class)
 
                             .controllerBuilder()
                             .formatFileName("%sController")

+ 30 - 29
4dkankan-center-manage/src/main/java/com/fdkankan/manage/interceptor/VisitLogInterceptor.java

@@ -6,11 +6,13 @@ import cn.hutool.extra.servlet.ServletUtil;
 import cn.hutool.http.ContentType;
 import cn.hutool.http.useragent.UserAgent;
 import cn.hutool.http.useragent.UserAgentUtil;
-import cn.hutool.poi.excel.ExcelUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.common.constant.ServerCode;
 import com.fdkankan.manage.bean.MenuBean;
 import com.fdkankan.manage.entity.OperLog;
+import com.fdkankan.manage.entity.SysUser;
+import com.fdkankan.manage.service.ISysUserService;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -43,6 +45,9 @@ public class VisitLogInterceptor {
 	@Autowired
 	private MongoTemplate mongoTemplate;
 
+	@Autowired
+	private ISysUserService userService;
+
 	@Value("${server.servlet.context-path:null}")
 	private String contextPath;
 
@@ -79,14 +84,30 @@ public class VisitLogInterceptor {
 
         //放行
 		Object result = pjp.proceed();
-
+		String resultStr = JSON.toJSONString(result);
+		JSONObject jsonObject = JSON.parseObject(resultStr);
+		String msg = "操作失败";
+		if(jsonObject.getInteger("code")== null || jsonObject.getInteger("code").equals(ServerCode.SUCCESS.code())){
+			msg = "操作成功";
+		}
 		//获取用户信息 如果已登录,从token中获取用户信息,如果是登录接口,查询数据库获取用户信息
-
-		Map<String, Object> userInfo = this.getUserInfo(request, uri, result);
-		Long userId = (Long)userInfo.get("userId");
-		String userName = (String)userInfo.get("userName");
-		String nickName = (String)userInfo.get("nickName");
-
+		Long userId =null;
+		String userName =null;
+		String nickName =null;
+		try {
+			 userId =   (Long)StpUtil.getExtra("userId");
+			 userName = (String)StpUtil.getExtra("userName");
+			 nickName = (String)StpUtil.getExtra("nickName");
+		}catch (Exception e){
+			e.printStackTrace();
+			JSONObject paramObj = JSONObject.parseObject(params);
+			userName = paramObj.getString("userName");
+			SysUser sysUser = userService.getByUserName(userName);
+			if(sysUser != null){
+				userId = sysUser.getId();
+				nickName = sysUser.getNickName();
+			}
+		}
 		//写入mongodb
 		OperLog operLog = new OperLog();
 		operLog.setUserId(userId);
@@ -99,6 +120,7 @@ public class VisitLogInterceptor {
 		operLog.setIp(clientIP);
 		operLog.setBrowser(browser);
 		operLog.setCreateTime(Calendar.getInstance().getTime());
+		operLog.setResult(msg);
 		mongoTemplate.insert(operLog);
 
 		return result;
@@ -126,27 +148,6 @@ public class VisitLogInterceptor {
 		this.getRequestPathHandler(list, menuBean.getParent());
 	}
 
-	private Map<String, Object> getUserInfo(HttpServletRequest request, String uri, Object result){
-		String token = null;
-		boolean isLogin = uri.endsWith("login");
-		if(isLogin){
-			String resultStr = JSON.toJSONString(result);
-			JSONObject jsonObject = JSON.parseObject(resultStr);
-			JSONObject data = jsonObject.getJSONObject("data");
-			token = data.getString("token");
-		}else{
-			token = request.getHeader("token");
-		}
-
-		Integer userId = (Integer)StpUtil.getExtra("userId");
-		String userName = (String)StpUtil.getExtra("userName");
-		String nickName = (String)StpUtil.getExtra("nickName");
-		Map<String, Object> userInfo = new HashMap<>();
-		userInfo.put("userId", Long.valueOf(userId));
-		userInfo.put("userName", userName);
-		userInfo.put("nickName", nickName);
-		return userInfo;
-	}
 
 	private String getParams(JoinPoint pjp, HttpServletRequest request){
 

+ 22 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/ISysMenuMapper.java

@@ -0,0 +1,22 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.SysMenu;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+@Mapper
+public interface ISysMenuMapper extends BaseMapper<SysMenu> {
+
+    List<SysMenu> getListByUserId(@Param("userId") Object userId);
+}

+ 4 - 4
4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/IAccountMapper.java

@@ -1,6 +1,6 @@
-package com.fdkankan.auth.mapper;
+package com.fdkankan.manage.mapper;
 
-import com.fdkankan.auth.entity.Account;
+import com.fdkankan.manage.entity.SysRole;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -10,9 +10,9 @@ import org.apache.ibatis.annotations.Mapper;
  * </p>
  *
  * @author 
- * @since 2022-04-02
+ * @since 2022-06-09
  */
 @Mapper
-public interface IAccountMapper extends BaseMapper<Account> {
+public interface ISysRoleMapper extends BaseMapper<SysRole> {
 
 }

+ 18 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/ISysRoleMenuMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.SysRoleMenu;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+@Mapper
+public interface ISysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
+
+}

+ 4 - 4
4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/IRoleMapper.java

@@ -1,6 +1,6 @@
-package com.fdkankan.auth.mapper;
+package com.fdkankan.manage.mapper;
 
-import com.fdkankan.auth.entity.Role;
+import com.fdkankan.manage.entity.SysUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -10,9 +10,9 @@ import org.apache.ibatis.annotations.Mapper;
  * </p>
  *
  * @author 
- * @since 2022-04-02
+ * @since 2022-06-09
  */
 @Mapper
-public interface IRoleMapper extends BaseMapper<Role> {
+public interface ISysUserMapper extends BaseMapper<SysUser> {
 
 }

+ 19 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysMenuService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.SysMenu;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+public interface ISysMenuService extends IService<SysMenu> {
+
+    List<SysMenu> getListByUserId(Object loginId);
+}

+ 16 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysRoleMenuService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.SysRoleMenu;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+public interface ISysRoleMenuService extends IService<SysRoleMenu> {
+
+}

+ 16 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysRoleService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.SysRole;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+public interface ISysRoleService extends IService<SysRole> {
+
+}

+ 20 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/ISysUserService.java

@@ -0,0 +1,20 @@
+package com.fdkankan.manage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.api.dto.ManageLoginResponse;
+import com.fdkankan.manage.entity.SysUser;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+public interface ISysUserService extends IService<SysUser> {
+
+    SysUser getByUserName(String userName);
+
+    ManageLoginResponse getUserByUserNameAndPassword(String userName, String password);
+}

+ 26 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysMenuServiceImpl.java

@@ -0,0 +1,26 @@
+package com.fdkankan.manage.service.impl;
+
+import com.fdkankan.manage.entity.SysMenu;
+import com.fdkankan.manage.mapper.ISysMenuMapper;
+import com.fdkankan.manage.service.ISysMenuService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+@Service
+public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> implements ISysMenuService {
+
+    @Override
+    public List<SysMenu> getListByUserId(Object loginId) {
+        return getBaseMapper().getListByUserId(loginId);
+    }
+}

+ 20 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysRoleMenuServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.manage.service.impl;
+
+import com.fdkankan.manage.entity.SysRoleMenu;
+import com.fdkankan.manage.mapper.ISysRoleMenuMapper;
+import com.fdkankan.manage.service.ISysRoleMenuService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+@Service
+public class SysRoleMenuServiceImpl extends ServiceImpl<ISysRoleMenuMapper, SysRoleMenu> implements ISysRoleMenuService {
+
+}

+ 20 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysRoleServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.manage.service.impl;
+
+import com.fdkankan.manage.entity.SysRole;
+import com.fdkankan.manage.mapper.ISysRoleMapper;
+import com.fdkankan.manage.service.ISysRoleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+@Service
+public class SysRoleServiceImpl extends ServiceImpl<ISysRoleMapper, SysRole> implements ISysRoleService {
+
+}

+ 79 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/SysUserServiceImpl.java

@@ -0,0 +1,79 @@
+package com.fdkankan.manage.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.api.dto.ManageLoginResponse;
+import com.fdkankan.manage.entity.SysMenu;
+import com.fdkankan.manage.entity.SysRole;
+import com.fdkankan.manage.entity.SysUser;
+import com.fdkankan.manage.mapper.ISysUserMapper;
+import com.fdkankan.manage.service.ISysMenuService;
+import com.fdkankan.manage.service.ISysRoleService;
+import com.fdkankan.manage.service.ISysUserService;
+import com.fdkankan.redis.util.RedisUtil;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-09
+ */
+@Service
+public class SysUserServiceImpl extends ServiceImpl<ISysUserMapper, SysUser> implements ISysUserService {
+
+    @Autowired
+    private ISysRoleService roleService;
+    @Autowired
+    private ISysMenuService menuService;
+    @Autowired
+    private RedisUtil redisUtil;
+
+    @Override
+    public SysUser getByUserName(String userName) {
+        LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysUser::getUserName,userName);
+        List<SysUser> list = this.list(wrapper);
+        if(list == null || list.size() <=0){
+            return null;
+        }
+        return list.get(0);
+    }
+
+
+    @Override
+    public ManageLoginResponse getUserByUserNameAndPassword(String userName, String password) {
+        LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysUser::getUserName,userName)
+                .eq(SysUser::getPassword,password);
+        List<SysUser> list = this.list(wrapper);
+        if(list == null || list.size() <=0){
+            return null;
+        }
+        SysUser sysUser = list.get(0);
+        SysRole role = roleService.getById(sysUser.getRoleId());
+        ManageLoginResponse loginVO = new ManageLoginResponse();
+        BeanUtils.copyProperties(sysUser,loginVO);
+        loginVO.setRoleId(role.getId());
+        loginVO.setRoleName(role.getRoleName());
+
+        //设置redis role
+        String roleType = role.getRoleType();
+        List<String> roleList = Collections.singletonList(roleType);
+        redisUtil.set("manage_role_user:"+sysUser.getId(), JSONObject.toJSONString(roleList));
+        //设置redis perm
+        List<SysMenu> menus = menuService.getListByUserId(sysUser.getId());
+        List<String> menuList = menus.parallelStream().map(SysMenu::getPerms).collect(Collectors.toList());
+        redisUtil.set("manage_perm_user:"+sysUser.getId(), JSONObject.toJSONString(menuList));
+        return loginVO;
+    }
+}

+ 9 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/request/LoginRequest.java

@@ -0,0 +1,9 @@
+package com.fdkankan.manage.vo.request;
+
+import lombok.Data;
+
+@Data
+public class LoginRequest {
+    private String userName;
+    private String password;
+}

+ 13 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/response/LoginResponse.java

@@ -0,0 +1,13 @@
+package com.fdkankan.manage.vo.response;
+
+import lombok.Data;
+
+@Data
+public class LoginResponse {
+    private Long id;
+    private String userName;
+    private String nickName;
+    private String token;
+    private Long roleId;
+    private String roleName;
+}

+ 8 - 0
4dkankan-center-manage/src/main/resources/bootstrap-dev.yml

@@ -27,6 +27,14 @@ spring:
           - data-id: common-upload-config.yaml
             group: DEFAULT_GROUP
             refresh: true
+
+          - data-id: common-mongodb-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+          - data-id: common-satoken-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
       discovery:
         server-addr: 120.24.144.164:8848
         namespace: 4dkankan-dev

+ 0 - 17
4dkankan-center-manage/src/main/resources/bootstrap.yml

@@ -2,21 +2,4 @@ spring:
   profiles:
     active: dev
 
-# Sa-Token配置
-sa-token:
-  # token名称 (同时也是cookie名称)
-  token-name: satoken
-  # token有效期,单位s 默认30天, -1代表永不过期
-  timeout: -1
-  # token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
-  activity-timeout: -1
-  # 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
-  is-concurrent: true
-  # 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
-  is-share: false
-  # token风格
-  token-style: uuid
-  jwt-secret-key: 4dkk_manage
-  # 是否输出操作日志
-  is-log: false
 

+ 12 - 0
4dkankan-center-manage/src/main/resources/mapper/manage/SysMenuMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.manage.mapper.ISysMenuMapper">
+
+    <select id="getListByUserId" resultType="com.fdkankan.manage.entity.SysMenu" >
+        select  * from  sys_menu m
+            left join sys_role_menu rm on m.id = rm.menu_id
+            left join sys_role r on rm.role_id = r.id
+            left join sys_user u on r.id = u.role_id
+            where u.id = #{userId}
+    </select>
+</mapper>

+ 1 - 1
4dkankan-center-auth/src/main/resources/mapper/auth/AccountMapper.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.fdkankan.auth.mapper.IAccountMapper">
+<mapper namespace="com.fdkankan.manage.mapper.ISysRoleMapper">
 
 </mapper>

+ 1 - 1
4dkankan-center-auth/src/main/java/com/fdkankan/auth/mapper/xml/TmDeveloperMapper.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.fdkankan.auth.mapper.TmDeveloperMapper">
+<mapper namespace="com.fdkankan.manage.mapper.ISysRoleMenuMapper">
 
 </mapper>

+ 1 - 1
4dkankan-center-auth/src/main/resources/mapper/auth/RoleMapper.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.fdkankan.auth.mapper.IRoleMapper">
+<mapper namespace="com.fdkankan.manage.mapper.ISysUserMapper">
 
 </mapper>

+ 2 - 1
pom.xml

@@ -8,13 +8,14 @@
         <module>4dkankan-center-scene</module>
         <module>4dkankan-center-platform</module>
         <module>4dkankan-center-api</module>
-<!--        <module>4dkankan-center-auth</module>-->
+        <module>4dkankan-center-auth</module>
         <module>4dkankan-center-log</module>
         <module>4dkankan-center-modeling</module>
         <module>4dkankan-center-statistics</module>
         <module>4dkankan-pay</module>
         <module>4dkankan-center-scene-download</module>
         <module>4dkankan-center-manage</module>
+        <module>4dkankan-center-api/4dkankan-center-manage-api</module>
     </modules>
 
     <parent>