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

添加openfeign openfeign Demo 子项目 租户

785834757 1 год назад
Родитель
Сommit
b7e5850afe
25 измененных файлов с 538 добавлено и 37 удалено
  1. 3 3
      commons/src/main/java/com/jzg/core/base/PageRequest.java
  2. 3 1
      gateway/src/main/java/com/jzg/config/CorsConfig.java
  3. 6 1
      gateway/src/main/resources/application.yml
  4. 15 0
      platform/src/main/java/com/jzg/controller/SysSystemController.java
  5. 22 16
      platform/src/main/java/com/jzg/controller/UserRoleController.java
  6. 20 0
      platform/src/main/java/com/jzg/entity/po/SysSystemPerms.java
  7. 7 10
      platform/src/main/java/com/jzg/entity/vo/SysRoleVo.java
  8. 31 0
      platform/src/main/java/com/jzg/entity/vo/SysSystemPermsVo.java
  9. 0 2
      platform/src/main/java/com/jzg/entity/vo/SysSystemVo.java
  10. 10 0
      platform/src/main/java/com/jzg/mapper/SysSystemPermsMapper.java
  11. 12 0
      platform/src/main/java/com/jzg/service/SysSystemService.java
  12. 24 1
      platform/src/main/java/com/jzg/service/UserRoleService.java
  13. 33 0
      platform/src/main/java/com/jzg/service/impl/SysSystemServiceImpl.java
  14. 43 2
      platform/src/main/java/com/jzg/service/impl/UserRoleServiceImpl.java
  15. 4 1
      pom.xml
  16. 28 0
      tenant/openfeign/pom.xml
  17. 18 0
      tenant/openfeign/src/main/java/com/jzg/openfeign/OpenFeignApplication.java
  18. 15 0
      tenant/openfeign/src/main/java/com/jzg/openfeign/client/TestClient.java
  19. 27 0
      tenant/openfeign/src/main/java/com/jzg/openfeign/config/FeignConfig.java
  20. 37 0
      tenant/openfeign/src/main/resources/application.yml
  21. 36 0
      tenant/organization/pom.xml
  22. 17 0
      tenant/organization/src/main/java/com/jzg/organization/OrganizationApplication.java
  23. 23 0
      tenant/organization/src/main/java/com/jzg/organization/controller/TestController.java
  24. 37 0
      tenant/organization/src/main/resources/application.yml
  25. 67 0
      tenant/pom.xml

+ 3 - 3
commons/src/main/java/com/jzg/core/base/PageRequest.java

@@ -9,15 +9,15 @@ public class PageRequest {
     /**
      * 当前页码
      */
-    private int pageNum = 1;
+    private int pages = 1;
     /**
      * 每页数量
      */
-    private int pageSize = 10;
+    private int size = 10;
 
 
     public Page getPage(){
-        return new Page(pageNum,pageSize);
+        return new Page(pages,size);
     }
 
 }

+ 3 - 1
gateway/src/main/java/com/jzg/config/CorsConfig.java

@@ -25,7 +25,9 @@ public class CorsConfig {
     public CorsWebFilter corsWebFilter() {
         CorsConfiguration corsConfiguration = new CorsConfiguration();
         // 允许所有来源,你可以根据需要修改为具体的来源
-        corsConfiguration.addAllowedOrigin("http://192.168.5.41:9000");
+        corsConfiguration.addAllowedOrigin("http://localhost:9000");
+        corsConfiguration.addAllowedOrigin("http://127.0.0.1:9000");
+        corsConfiguration.addAllowedOrigin("http://192.168.5.149:9000");
         corsConfiguration.addAllowedOrigin("http://192.168.5.30:9000");
         // 允许的方法
         corsConfiguration.addAllowedMethod("*");

+ 6 - 1
gateway/src/main/resources/application.yml

@@ -16,4 +16,9 @@ spring:
         - id: platform_route
           uri: http://localhost:8083/
           predicates:
-            - Path=/userRole/**
+            - Path=/userRole/**
+
+        - id: tenant_route
+          uri: http://localhost:8084/
+          predicates:
+            - Path=/tenant/**

+ 15 - 0
platform/src/main/java/com/jzg/controller/SysSystemController.java

@@ -5,6 +5,7 @@ import com.jzg.annotation.Log;
 import com.jzg.core.page.HttpResult;
 import com.jzg.entity.enums.BusinessType;
 import com.jzg.entity.vo.SysRoleVo;
+import com.jzg.entity.vo.SysSystemPermsVo;
 import com.jzg.entity.vo.SysSystemVo;
 import com.jzg.service.SysSystemService;
 import com.jzg.util.AssertionUtils;
@@ -32,6 +33,20 @@ public class SysSystemController {
     @Autowired
     private SysSystemService sysSystemService;
 
+    @PostMapping("/updatePerms")
+    @Operation(summary = "租户权限")
+    public HttpResult updatePerms(@RequestBody SysSystemPermsVo sysSystemPermsVo){
+        return sysSystemService.updatePerms(sysSystemPermsVo) ?
+                HttpResult.ok("修改租户权限成功") :
+                HttpResult.error("修改租户权限失败");
+    }
+
+    @PostMapping("/getSystemPerms")
+    @Operation(summary = "获取租户权限")
+    public HttpResult getSystemPerms(String systemCode){
+        return HttpResult.ok(sysSystemService.getSystemPerms(systemCode));
+    }
+
     /**
      * 租户列表
      * @param sysSystemVo

+ 22 - 16
platform/src/main/java/com/jzg/controller/UserRoleController.java

@@ -8,16 +8,21 @@ import com.jzg.core.base.BaseController;
 import com.jzg.core.page.HttpResult;
 import com.jzg.entity.vo.RolePermissionVo;
 import com.jzg.entity.vo.SysRoleVo;
+import com.jzg.exception.SystemException;
+import com.jzg.exception.ValidateException;
 import com.jzg.service.UserRoleService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
-
+/**
+ * 用户角色管理
+ */
 @Tag(name="用户角色管理")
 @RestController
 @RequestMapping("/userRole")
@@ -26,18 +31,6 @@ public class UserRoleController extends BaseController {
     @Autowired
     UserRoleService userRoleService;
 
-    @GetMapping("/getAllMenu")
-    public String getAllMenu(){
-        List<RolePermissionVo> allRoleMenu = userRoleService.getAllRoleMenu();
-        return JSONObject.toJSONString(allRoleMenu);
-    }
-
-    @PremissionCheck(value = "power:test")
-    @GetMapping("/powerTest")
-    public String powerTest(){
-        return "powerTest";
-    }
-
     /**
      * 获取角色列表
      * @param sysRoleVo
@@ -58,13 +51,26 @@ public class UserRoleController extends BaseController {
 
     @Operation(summary = "角色添加")
     @PostMapping("/roleAdd")
-    public HttpResult roleAdd(@RequestBody SysRoleVo sysRoleVo){
-        if(userRoleService.isExist(sysRoleVo.getName())){
-            return HttpResult.error("角色名称已存在,请修改后重新提交");
+    public HttpResult roleAdd(@Validated @RequestBody SysRoleVo sysRoleVo){
+        if(userRoleService.isExist(sysRoleVo.getSystem(),sysRoleVo.getName())){
+            throw new ValidateException("角色名称已存在,请修改后重新提交");
         }
         return userRoleService.roleAdd(sysRoleVo) ? HttpResult.ok("添加角色成功") : HttpResult.error("添加角色失败");
     }
 
+    @Operation(summary = "角色修改")
+    @PostMapping("/roleUpdate")
+    public HttpResult roleUpdate(@Validated @RequestBody SysRoleVo sysRoleVo){
+        if(userRoleService.isExist(sysRoleVo.getSystem(),sysRoleVo.getName(),sysRoleVo.getId())){
+            throw new ValidateException("角色名称已存在,请修改后重新提交");
+        }
+        return userRoleService.roleUpdate(sysRoleVo)? HttpResult.ok("修改角色成功") : HttpResult.error("修改角色失败");
+    }
 
+    @Operation(summary = "角色删除")
+    @PostMapping("/roleDelete")
+    public HttpResult roleDelete(@RequestBody SysRoleVo roleVo){
+        return userRoleService.roleDelete(roleVo) ? HttpResult.ok("删除角色成功") : HttpResult.error("删除角色失败");
+    }
 
 }

+ 20 - 0
platform/src/main/java/com/jzg/entity/po/SysSystemPerms.java

@@ -0,0 +1,20 @@
+package com.jzg.entity.po;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "租户权限")
+@Data
+public class SysSystemPerms {
+
+    private String id;
+
+    @Schema(description = "系统code")
+    private String systemCode;
+
+    @Schema(description = "权限ID")
+    private String permsId;
+
+    @Schema(description = "权限标识")
+    private String perms;
+}

+ 7 - 10
platform/src/main/java/com/jzg/entity/vo/SysRoleVo.java

@@ -1,20 +1,16 @@
 package com.jzg.entity.vo;
 
-import com.jzg.core.base.BaseModel;
 import com.jzg.core.base.PageRequest;
-import com.jzg.entity.po.SysMenu;
 import com.jzg.entity.po.SysRole;
 import com.jzg.entity.po.SysRolePerms;
 import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.Size;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.springframework.validation.annotation.Validated;
 
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -26,12 +22,12 @@ public class SysRoleVo extends PageRequest {
     @Schema(description = "角色id")
     private String id;
 
-    @NotNull(message = "系统id不能为空")
-    @Schema(description = "系统id")
+    @NotBlank(message = "系统code不能为空")
+    @Schema(description = "系统code")
     private String system;
 
-    @NotNull(message = "角色名称不能为空")
-    @Size(min=1,max=100,message = "角色名称长度不能大于100")
+    @NotBlank(message = "角色名称不能为空")
+    @Size(max=100,message = "角色名称长度不能大于100")
     @Schema(description = "角色名称")
     private String name;
 
@@ -39,6 +35,7 @@ public class SysRoleVo extends PageRequest {
     @Schema(description = "备注")
     private String remark;
 
+    @NotEmpty(message = "角色权限不能为空")
     @Schema(description = "权限")
     private List<PermsVo> perms;
 

+ 31 - 0
platform/src/main/java/com/jzg/entity/vo/SysSystemPermsVo.java

@@ -0,0 +1,31 @@
+package com.jzg.entity.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+import java.util.List;
+
+@Schema(description = "租户权限Vo")
+@Data
+public class SysSystemPermsVo {
+
+    @NotBlank(message = "系统code不能为空")
+    @Schema(description = "系统code")
+    private String systemCode;
+
+    @NotBlank(message = "权限列表不能为空")
+    @Schema(description = "权限列表")
+    private List<PermsVo> perms;
+
+
+    @Data
+    public static class PermsVo{
+        @Schema(description = "权限ID")
+        private String permsId;
+
+        @Schema(description = "权限标识")
+        private String perms;
+    }
+
+}

+ 0 - 2
platform/src/main/java/com/jzg/entity/vo/SysSystemVo.java

@@ -1,7 +1,5 @@
 package com.jzg.entity.vo;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.jzg.core.base.PageRequest;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;

+ 10 - 0
platform/src/main/java/com/jzg/mapper/SysSystemPermsMapper.java

@@ -0,0 +1,10 @@
+package com.jzg.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jzg.entity.po.SysMenu;
+import com.jzg.entity.po.SysSystemPerms;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SysSystemPermsMapper extends BaseMapper<SysSystemPerms> {
+}

+ 12 - 0
platform/src/main/java/com/jzg/service/SysSystemService.java

@@ -4,11 +4,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jzg.core.page.HttpResult;
 import com.jzg.entity.po.SysSystem;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.jzg.entity.po.SysSystemPerms;
+import com.jzg.entity.vo.SysSystemPermsVo;
 import com.jzg.entity.vo.SysSystemVo;
 import jakarta.validation.constraints.NotEmpty;
 
 import java.util.List;
 
+import java.util.List;
+
 /**
  * 租户管理表服务层 sys_system
  *
@@ -16,6 +20,14 @@ import java.util.List;
  */
 public interface SysSystemService extends IService<SysSystem> {
 
+    /**
+     * 更新租户权限
+     * @return
+     */
+    public boolean updatePerms(SysSystemPermsVo sysSystemPermsVo);
+
+    public List<SysSystemPerms> getSystemPerms(String systemCode);
+
     /**
      * 根据SystemCode 查询 System对象
      * @param systemCode

+ 24 - 1
platform/src/main/java/com/jzg/service/UserRoleService.java

@@ -27,7 +27,16 @@ public interface UserRoleService extends IService<SysRole> {
      * @param roleName
      * @return
      */
-    public boolean isExist(String roleName);
+    public boolean isExist(String systemCode,String roleName);
+
+    /**
+     * 根据角色名 判断角色是否存在 排除自身
+     * @param systemCode
+     * @param roleName
+     * @param id
+     * @return
+     */
+    public boolean isExist(String systemCode,String roleName,String id);
 
     /**
      * 保存角色信息
@@ -36,5 +45,19 @@ public interface UserRoleService extends IService<SysRole> {
      */
     public boolean roleAdd(SysRoleVo sysRoleVo);
 
+    /**
+     * 修改角色信息
+     * @param sysRoleVo
+     * @return
+     */
+    public boolean roleUpdate(SysRoleVo sysRoleVo);
+
+    /**
+     * 删除角色
+     * @param sysRoleVo
+     * @return
+     */
+    public boolean roleDelete(SysRoleVo sysRoleVo);
+
 
 }

+ 33 - 0
platform/src/main/java/com/jzg/service/impl/SysSystemServiceImpl.java

@@ -5,15 +5,23 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.core.page.HttpResult;
 import com.jzg.entity.po.SysSystem;
+import com.jzg.entity.po.SysSystemPerms;
+import com.jzg.entity.vo.SysSystemPermsVo;
 import com.jzg.entity.vo.SysSystemVo;
 import com.jzg.mapper.SysSystemMapper;
+import com.jzg.mapper.SysSystemPermsMapper;
 import com.jzg.service.SysSystemService;
 import com.jzg.util.StringUtils;
+import com.jzg.util.idgen.IdGenerate;
 import jakarta.validation.constraints.NotEmpty;
 import jodd.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import java.util.List;
 
 /**
@@ -25,6 +33,31 @@ import java.util.List;
 public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem>
     implements SysSystemService {
 
+    @Autowired
+    SysSystemPermsMapper sysSystemPermsMapper;
+
+    @Override
+    public boolean updatePerms(SysSystemPermsVo sysSystemPermsVo) {
+        List<SysSystemPerms> perms = new ArrayList<>();
+        sysSystemPermsVo.getPerms().forEach(per->{
+            SysSystemPerms sysSystemPerms = new SysSystemPerms();
+            sysSystemPerms.setId(IdGenerate.nextId());
+            sysSystemPerms.setSystemCode(sysSystemPerms.getSystemCode());
+            sysSystemPerms.setPermsId(per.getPermsId());
+            sysSystemPerms.setPerms(per.getPerms());
+            perms.add(sysSystemPerms);
+        });
+        return !sysSystemPermsMapper.insert(perms).isEmpty();
+    }
+
+    @Override
+    public List<SysSystemPerms> getSystemPerms(String systemCode) {
+        List<SysSystemPerms> sysSystemPerms = sysSystemPermsMapper.selectList(new LambdaQueryWrapper<SysSystemPerms>()
+                .eq(SysSystemPerms::getSystemCode, systemCode));
+
+        return sysSystemPerms;
+    }
+
     /**
      * 根据SystemCode 查询 System对象
      * @param systemCode

+ 43 - 2
platform/src/main/java/com/jzg/service/impl/UserRoleServiceImpl.java

@@ -53,9 +53,18 @@ public class UserRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> imp
     }
 
     @Override
-    public boolean isExist(String roleName) {
+    public boolean isExist(String systemCode,String roleName) {
         return baseMapper.selectCount(new LambdaQueryWrapper<SysRole>()
-                .eq(SysRole::getName,roleName)) > 0;
+                .eq(SysRole::getName,roleName)
+                .eq(SysRole::getSystemCode,systemCode)) > 0;
+    }
+
+    @Override
+    public boolean isExist(String systemCode, String roleName, String id) {
+        return baseMapper.selectCount(new LambdaQueryWrapper<SysRole>()
+                .eq(SysRole::getName,roleName)
+                .eq(SysRole::getSystemCode,systemCode)
+                .ne(SysRole::getId,id)) > 0;
     }
 
 
@@ -81,6 +90,38 @@ public class UserRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> imp
         return false;
     }
 
+    @Transactional
+    @Override
+    public boolean roleUpdate(SysRoleVo sysRoleVo) {
+        SysRole sysRole = sysRoleVo.getSysRole();
+        List<SysRolePerms> sysRolePermsList = new ArrayList<>();
+        sysRole.setSystemCode(sysRoleVo.getSystem());
+        sysRoleVo.getPerms().forEach(item->{
+            SysRolePerms perms = new SysRolePerms();
+            perms.setId(IdGenerate.nextId());
+            perms.setRoleId(sysRole.getId());
+            perms.setPermsId(item.getId());
+            perms.setPerms(item.getAuth());
+            sysRolePermsList.add(perms);
+        });
+        baseMapper.updateById(sysRole);
+        sysRolePermsMapper.delete(new LambdaQueryWrapper<SysRolePerms>()
+                .eq(SysRolePerms::getRoleId,sysRole.getId()));
+        if(sysRolePermsMapper.insert(sysRolePermsList).stream().count() > 0 && baseMapper.updateById(sysRole) > 0){
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public boolean roleDelete(SysRoleVo sysRoleVo) {
+
+        if(sysRolePermsMapper.delete(new LambdaQueryWrapper<SysRolePerms>()
+                .eq(SysRolePerms::getRoleId, sysRoleVo.getId())) > 0 && baseMapper.deleteById(sysRoleVo.getId()) > 0){
+            return true;
+        }
+        return false;
+    }
 
 
 }

+ 4 - 1
pom.xml

@@ -9,7 +9,8 @@
     <module>authentication</module>
     <module>commons</module>
     <module>gateway</module>
-      <module>platform</module>
+    <module>platform</module>
+    <module>tenant</module>
   </modules>
   <packaging>pom</packaging>
 
@@ -29,6 +30,8 @@
     <easy.captcha.version>1.6.2</easy.captcha.version>
     <javax.servlet.version>4.0.1</javax.servlet.version>
     <fastjson.version>2.0.43</fastjson.version>
+    <cloud.version>2022.0.0</cloud.version>
+    <openfeign.version>4.1.3</openfeign.version>
   </properties>
 
 

+ 28 - 0
tenant/openfeign/pom.xml

@@ -0,0 +1,28 @@
+<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/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.jzg</groupId>
+        <artifactId>tenant</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>openfeign</artifactId>
+    <packaging>war</packaging>
+    <name>openfeign Maven Webapp</name>
+    <url>http://maven.apache.org</url>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
+
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-context</artifactId>-->
+<!--            <version>${openfeign.version}</version>-->
+<!--        </dependency>-->
+    </dependencies>
+    <build>
+        <finalName>openfeign</finalName>
+    </build>
+</project>

+ 18 - 0
tenant/openfeign/src/main/java/com/jzg/openfeign/OpenFeignApplication.java

@@ -0,0 +1,18 @@
+package com.jzg.openfeign;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.ComponentScan;
+
+@SpringBootApplication
+@EnableFeignClients
+@ComponentScan(basePackages = "com.jzg")
+@MapperScan("com.jzg")
+public class OpenFeignApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(OpenFeignApplication.class, args);
+    }
+
+}

+ 15 - 0
tenant/openfeign/src/main/java/com/jzg/openfeign/client/TestClient.java

@@ -0,0 +1,15 @@
+package com.jzg.openfeign.client;
+
+import com.jzg.core.page.HttpResult;
+import com.jzg.openfeign.config.FeignConfig;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+
+@FeignClient(name="test-server",url = "http://localhost:8081/",configuration = FeignConfig.class)
+public interface TestClient {
+
+    @GetMapping(value = "/auth/getUserPer")
+    HttpResult getUserPer();
+
+}

+ 27 - 0
tenant/openfeign/src/main/java/com/jzg/openfeign/config/FeignConfig.java

@@ -0,0 +1,27 @@
+package com.jzg.openfeign.config;
+
+import feign.RequestInterceptor;
+import jakarta.servlet.http.HttpServletRequest;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+@Configuration
+public class FeignConfig {
+    @Bean
+    public RequestInterceptor requestInterceptor() {
+        //拦截器 设置Token
+        return requestTemplate -> {
+            RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
+            if (requestAttributes instanceof ServletRequestAttributes) {
+                HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
+                String token = request.getHeader("Authorization");
+                if (token != null) {
+                    requestTemplate.header("Authorization", token);
+                }
+            }
+        };
+    }
+}

+ 37 - 0
tenant/openfeign/src/main/resources/application.yml

@@ -0,0 +1,37 @@
+server:
+  port: 8085
+spring:
+  redis:
+    redisson:
+      address: redis://192.168.5.250:6379
+      password: 123456
+      database: 0
+
+  datasource:
+      url: jdbc:mysql://39.98.239.48:3366/platform?serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true
+      username: root
+      password: '@RqGHG#KZ*C9ytkQ'
+      driverClassName: com.mysql.cj.jdbc.Driver
+
+mybatis-plus:
+  mapper-locations: classpath*:/mapper/*Mapper.xml
+  global-config:
+    db-config:
+      logic-delete-field: is_delete
+      logic-delete-value: 1
+      logic-not-delete-value: 0
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+config:
+  sso: 1
+
+#多租户配置
+tenant:
+  enable: true
+  column: system_code
+  filterTables:
+  ignoreTables:
+    - sys_system
+    - sys_role_perms
+  ignoreLoginNames:

+ 36 - 0
tenant/organization/pom.xml

@@ -0,0 +1,36 @@
+<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/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.jzg</groupId>
+        <artifactId>tenant</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>organization</artifactId>
+    <packaging>jar</packaging>
+    <name>organization Maven Webapp</name>
+    <url>http://maven.apache.org</url>
+    <dependencies>
+
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-openfeign-core</artifactId>
+        </dependency>
+
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-context</artifactId>-->
+<!--            <version>${openfeign.version}</version>-->
+<!--        </dependency>-->
+        <dependency>
+            <groupId>com.jzg</groupId>
+            <artifactId>openfeign</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+
+    </dependencies>
+    <build>
+        <finalName>organization</finalName>
+    </build>
+</project>

+ 17 - 0
tenant/organization/src/main/java/com/jzg/organization/OrganizationApplication.java

@@ -0,0 +1,17 @@
+package com.jzg.organization;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.ComponentScan;
+
+@SpringBootApplication
+//@EnableFeignClients
+@ComponentScan(basePackages = "com.jzg")
+@MapperScan("com.jzg")
+public class OrganizationApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(OrganizationApplication.class, args);
+    }
+
+}

+ 23 - 0
tenant/organization/src/main/java/com/jzg/organization/controller/TestController.java

@@ -0,0 +1,23 @@
+package com.jzg.organization.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.jzg.core.page.HttpResult;
+import com.jzg.openfeign.client.TestClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/tenant")
+public class TestController {
+
+    @Autowired
+    TestClient testClient;
+
+    @GetMapping(value = "aa")
+    public String aa(){
+        HttpResult userPer = testClient.getUserPer();
+        return JSONObject.toJSONString(userPer);
+    }
+}

+ 37 - 0
tenant/organization/src/main/resources/application.yml

@@ -0,0 +1,37 @@
+server:
+  port: 8084
+spring:
+  redis:
+    redisson:
+      address: redis://192.168.5.250:6379
+      password: 123456
+      database: 0
+
+  datasource:
+      url: jdbc:mysql://39.98.239.48:3366/platform?serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true
+      username: root
+      password: '@RqGHG#KZ*C9ytkQ'
+      driverClassName: com.mysql.cj.jdbc.Driver
+
+mybatis-plus:
+  mapper-locations: classpath*:/mapper/*Mapper.xml
+  global-config:
+    db-config:
+      logic-delete-field: is_delete
+      logic-delete-value: 1
+      logic-not-delete-value: 0
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+config:
+  sso: 1
+
+#多租户配置
+tenant:
+  enable: true
+  column: system_code
+  filterTables:
+  ignoreTables:
+    - sys_system
+    - sys_role_perms
+  ignoreLoginNames:

+ 67 - 0
tenant/pom.xml

@@ -0,0 +1,67 @@
+<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/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.jzg</groupId>
+        <artifactId>jzg</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>tenant</artifactId>
+    <packaging>pom</packaging>
+    <name>tenant Maven Webapp</name>
+    <url>http://maven.apache.org</url>
+    <modules>
+        <module>organization</module>
+        <module>openfeign</module>
+    </modules>
+    <dependencies>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-extension</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.jzg</groupId>
+            <artifactId>commons</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+
+    </dependencies>
+
+    <dependencyManagement>
+
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <version>${cloud.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+
+    </dependencyManagement>
+    <build>
+        <finalName>tenant</finalName>
+    </build>
+</project>