Browse Source

Merge branch 'master' of ssh://10.10.100.21/source/platform-bi-server

will.chen 7 years ago
parent
commit
f9a9e76fb1
32 changed files with 1146 additions and 67 deletions
  1. 6 1
      .gitignore
  2. 1 1
      Jenkinsfile
  3. 5 14
      pom.xml
  4. 2 1
      src/main/java/com/SpringbootStartApplication.java
  5. 22 10
      src/main/java/com/controller/ChartsConfigController.java
  6. 9 0
      src/main/java/com/controller/CheckToken.java
  7. 11 5
      src/main/java/com/controller/DashboardsController.java
  8. 13 6
      src/main/java/com/controller/DataBasesController.java
  9. 58 12
      src/main/java/com/controller/DataConnectorController.java
  10. 15 10
      src/main/java/com/controller/ShowChartsController.java
  11. 91 0
      src/main/java/com/controller/UserController.java
  12. 51 0
      src/main/java/com/dao/DataConnectorMapper.java
  13. 98 0
      src/main/java/com/dao/UserMapper.java
  14. 78 0
      src/main/java/com/model/po/BdStrategys.java
  15. 33 0
      src/main/java/com/model/po/BdStrategysData.java
  16. 31 0
      src/main/java/com/model/po/TokenData.java
  17. 87 0
      src/main/java/com/model/po/User.java
  18. 51 0
      src/main/java/com/model/po/UserGroup.java
  19. 2 1
      src/main/java/com/model/pojo/RepCode.java
  20. 62 0
      src/main/java/com/model/vo/configVo/BdStrategysInfo.java
  21. 22 0
      src/main/java/com/model/vo/configVo/LoginInfo.java
  22. 31 0
      src/main/java/com/model/vo/configVo/UserGroupInfo.java
  23. 31 0
      src/main/java/com/model/vo/configVo/UserGroupSetInfo.java
  24. 67 0
      src/main/java/com/model/vo/configVo/UserInfo.java
  25. 2 0
      src/main/java/com/server/ColumnScreenService.java
  26. 1 1
      src/main/java/com/server/DataBasesService.java
  27. 55 0
      src/main/java/com/server/DataConnectorService.java
  28. 0 3
      src/main/java/com/server/ShowHistogramService.java
  29. 113 0
      src/main/java/com/server/UserService.java
  30. 1 1
      src/main/java/com/util/BasesSource/DynamicDataSourceRegister.java
  31. 1 1
      src/main/java/com/util/BasesSource/DynamicDattaSourceAspect.java
  32. 96 0
      src/main/java/com/util/JwtTokenUtil.java

+ 6 - 1
.gitignore

@@ -1,3 +1,8 @@
 .idea
 target
-.project
+.project
+.settings/org.eclipse.core.resources.prefs
+.settings/org.eclipse.jdt.apt.core.prefs
+.settings/org.eclipse.jdt.core.prefs
+.settings/org.eclipse.m2e.core.prefs
+.classpath

+ 1 - 1
Jenkinsfile

@@ -9,7 +9,7 @@ pipeline {
     stages {
         stage('Maven Test and Deploy') {
             steps {
-                    sh "mvn clean package"
+                    sh "mvn clean install"
             }
         }
         stage('SonarQube Analysis') {

+ 5 - 14
pom.xml

@@ -55,20 +55,11 @@
       <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
 
-    <!-- dao-generator自动生成工具-->
-    <!--<dependency>-->
-      <!--<groupId>org.mybatis.generator</groupId>-->
-      <!--<artifactId>mybatis-generator-core</artifactId>-->
-      <!--<version>1.3.6</version>-->
-    <!--</dependency>-->
-
-    <!-- springboot 热加载 -->
-    <!--<dependency>-->
-      <!--<groupId>org.springframework.boot</groupId>-->
-      <!--<artifactId>spring-boot-devtools</artifactId>-->
-      <!--<optional>true</optional>-->
-      <!--&lt;!&ndash;<scope>true</scope>&ndash;&gt;-->
-    <!--</dependency>-->
+    <dependency>
+      <groupId>com.auth0</groupId>
+      <artifactId>java-jwt</artifactId>
+      <version>3.1.0</version>
+    </dependency>
 
     <!--dao -->
       <dependency>

+ 2 - 1
src/main/java/com/SpringbootStartApplication.java

@@ -1,8 +1,9 @@
 package com;
 
+import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.builder.SpringApplicationBuilder;
 import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
-
+@SpringBootApplication
 public class SpringbootStartApplication extends SpringBootServletInitializer {
 
     @Override

+ 22 - 10
src/main/java/com/controller/ChartsConfigController.java

@@ -8,6 +8,7 @@ import com.server.ChartsConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -22,54 +23,61 @@ public class ChartsConfigController {
    /*
    添加
     */
+   @CheckToken
     @RequestMapping("/inputCharts")
-    public RepEntity inputCharts(@RequestBody ChartConfigInfo body){
+    public RepEntity inputCharts(@RequestHeader String token,@RequestBody ChartConfigInfo body){
         return chartsConfigService.setChartsConfig(body);
     }
 
     /*
    更新
     */
+    @CheckToken
     @RequestMapping("/updateCharts")
-    public RepEntity updateCharts(@RequestBody ChartConfigInfo body){
+    public RepEntity updateCharts(@RequestHeader String token,@RequestBody ChartConfigInfo body){
         return chartsConfigService.updateChartsConfig(body);
     }
 
     /*
     更新图表的分组
      */
+    @CheckToken
     @RequestMapping("/updateChartConfigGroup")
-    public RepEntity updateConfigGroup(@RequestBody GroupUpdateId body){
+    public RepEntity updateConfigGroup(@RequestHeader String token, @RequestBody GroupUpdateId body){
         return chartsConfigService.updateConfigGroup(body);
     }
 
     /*
     删除
      */
+    @CheckToken
     @RequestMapping("/delChartsConfig")
-    public RepEntity delChartsConfig(@RequestBody List<Integer> body){
+    public RepEntity delChartsConfig(@RequestHeader String token,@RequestBody List<Integer> body){
         return chartsConfigService.delChartsConfig(body);
     }
 
     /*
     查询图表列表
      */
+    @CheckToken
     @RequestMapping("/getListCharts")
-    public RepEntity getListCharts(){
+    public RepEntity getListCharts(@RequestHeader String token){
         return chartsConfigService.getListCharts();
     }
 
     /*
     查询单个图表
      */
+    @CheckToken
     @RequestMapping("/getChartsConfig")
-    public RepEntity getChartsConfig(@RequestBody int body){
+    public RepEntity getChartsConfig(@RequestHeader String token,@RequestBody int body){
         return chartsConfigService.getOneCharts(body);
     }
 
     /*
     添加图表分组
      */
+    @CheckToken
     @RequestMapping("/setChartsGroup")
     public RepEntity setChartsGroup(@RequestBody GroupInfo body){
         return chartsConfigService.setDataConnectorGroup(body);
@@ -78,32 +86,36 @@ public class ChartsConfigController {
     /*
     更新图表分组
      */
+    @CheckToken
     @RequestMapping("/updataChartsGroup")
-    public RepEntity updataChartsGroup(@RequestBody GroupInfo body){
+    public RepEntity updataChartsGroup(@RequestHeader String token,@RequestBody GroupInfo body){
         return chartsConfigService.updataDataConnectorGroup(body);
     }
 
     /*
     批量更新图表
      */
+    @CheckToken
     @RequestMapping("/updataListGroup")
-    public RepEntity updataListGroup(@RequestBody List<GroupInfo> body){
+    public RepEntity updataListGroup(@RequestHeader String token,@RequestBody List<GroupInfo> body){
         return chartsConfigService.updataListGroup(body);
     }
 
     /*
     删除图表分组
      */
+    @CheckToken
     @RequestMapping("/delChartsGroup")
-    public RepEntity delChartsGroup(@RequestBody List<Integer> body){
+    public RepEntity delChartsGroup(@RequestHeader String token,@RequestBody List<Integer> body){
         return chartsConfigService.delDataConnectorGroup(body);
     }
 
     /*
     查询图表分组
      */
+    @CheckToken
     @RequestMapping("/getChartsGroup")
-    public RepEntity getChartsGroup(){
+    public RepEntity getChartsGroup(@RequestHeader String token){
         return chartsConfigService.getConnectorGroup();
     }
 

+ 9 - 0
src/main/java/com/controller/CheckToken.java

@@ -0,0 +1,9 @@
+package com.controller;
+
+import java.lang.annotation.*;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+@Documented
+@interface CheckToken {
+}

+ 11 - 5
src/main/java/com/controller/DashboardsController.java

@@ -5,6 +5,7 @@ import com.model.vo.configVo.DashboardsInfo;
 import com.server.DashboardsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -18,40 +19,45 @@ public class DashboardsController {
     /*
     保存看板
      */
+    @CheckToken
     @RequestMapping("/inputDashboards")
-    public RepEntity inputDashboards(@RequestBody DashboardsInfo body){
+    public RepEntity inputDashboards(@RequestHeader String token, @RequestBody DashboardsInfo body){
         return dashboardsService.setDashboards(body);
     }
 
     /*
     更新看板
      */
+    @CheckToken
     @RequestMapping("/updateDashboards")
-    public RepEntity updateDashboards(@RequestBody DashboardsInfo body){
+    public RepEntity updateDashboards(@RequestHeader String token,@RequestBody DashboardsInfo body){
         return dashboardsService.updateDashboards(body);
     }
 
     /*
     删除看板
      */
+    @CheckToken
     @RequestMapping("/delDashboards")
-    public RepEntity delDashboards(@RequestBody List<Integer> body){
+    public RepEntity delDashboards(@RequestHeader String token,@RequestBody List<Integer> body){
         return dashboardsService.delDashboards(body);
     }
 
     /*
     查看列表
      */
+    @CheckToken
     @RequestMapping("/getListDashboards")
-    public RepEntity getListDashboards(){
+    public RepEntity getListDashboards(@RequestHeader String token){
         return dashboardsService.getListDashboards();
     }
 
     /*
     查看单个看板
      */
+    @CheckToken
     @RequestMapping("/getDashboards")
-    public RepEntity getDashboards(@RequestBody int body){
+    public RepEntity getDashboards(@RequestHeader String token,@RequestBody int body){
         return dashboardsService.getDashboards(body);
     }
 }

+ 13 - 6
src/main/java/com/controller/DataBasesController.java

@@ -8,6 +8,7 @@ import com.server.DataBasesService;
 import com.server.ImplementSqlService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -23,48 +24,54 @@ public class DataBasesController {
    数据库
    保存数据库配置
    */
+    @CheckToken
     @RequestMapping("/inputDatabases")
-    public RepEntity inputDatabases(@RequestBody DatabasesInfo body){
+    public RepEntity inputDatabases(@RequestHeader String token, @RequestBody DatabasesInfo body){
         return dataBasesService.inputDatabases(body);
     }
 
     /*
     查看数据库配置列表
      */
+    @CheckToken
     @RequestMapping("/getDatabases")
-    public RepEntity getDatabases(@RequestBody Pages body){
+    public RepEntity getDatabases(@RequestHeader String token,@RequestBody Pages body){
         return dataBasesService.getListDatabases(body);
     }
 
     /*
     删除数据库配置
      */
+    @CheckToken
     @RequestMapping("/delDatabases")
-    public RepEntity delDatabases(@RequestBody List<Integer> body){
+    public RepEntity delDatabases(@RequestHeader String token,@RequestBody List<Integer> body){
         return dataBasesService.delDatabases(body);
     }
 
     /*
     更新数据库配置
      */
+    @CheckToken
     @RequestMapping("/updatabases")
-    public RepEntity updatabases(@RequestBody DatabasesInfo databasesInfo){
+    public RepEntity updatabases(@RequestHeader String token,@RequestBody DatabasesInfo databasesInfo){
         return dataBasesService.updatabases(databasesInfo);
     }
 
     /*
     查看列
      */
+    @CheckToken
     @RequestMapping("/getColumnData")
-    public RepEntity getColumnData(@RequestBody int body){
+    public RepEntity getColumnData(@RequestHeader String token,@RequestBody int body){
         return dataBasesService.getColumnData(body);
     }
 
     /*
     测试数据库连接
      */
+    @CheckToken
     @RequestMapping("/testConnect")
-    public RepEntity testConnect(@RequestBody Databases body){
+    public RepEntity testConnect(@RequestHeader String token,@RequestBody Databases body){
         return implementSqlService.connectTest(body);
     }
 }

+ 58 - 12
src/main/java/com/controller/DataConnectorController.java

@@ -3,6 +3,7 @@ package com.controller;
 import com.model.bo.GroupUpdateId;
 import com.model.bo.ToSql;
 import com.model.pojo.RepEntity;
+import com.model.vo.configVo.BdStrategysInfo;
 import com.model.vo.configVo.DataConnectorInfo;
 import com.model.vo.configVo.GroupInfo;
 import com.server.DataConnectorService;
@@ -10,6 +11,7 @@ import com.server.ImplementSqlService;
 import com.util.BasesSource.TargetDataSource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -26,8 +28,9 @@ public class DataConnectorController {
     /*
     保存数据源配置
      */
+    @CheckToken
     @RequestMapping("/inputDataConnector")
-    public RepEntity inputDataConnector(@RequestBody DataConnectorInfo body) {
+    public RepEntity inputDataConnector(@RequestHeader String token, @RequestBody DataConnectorInfo body) {
         System.out.println("-----------");
         System.out.println(body);
         return dataConnectorService.setDataConnector(body);
@@ -36,32 +39,36 @@ public class DataConnectorController {
     /*
     查看数据源列表
      */
+    @CheckToken
     @RequestMapping("/getListDataConnector")
-    public RepEntity getListDataConnector(){
+    public RepEntity getListDataConnector(@RequestHeader String token){
         return dataConnectorService.getListConnector();
     }
 
     /*
     查看单个数据源配置
      */
+    @CheckToken
     @RequestMapping("/getDataConnector")
-    public RepEntity getDataConnector(@RequestBody int body){
+    public RepEntity getDataConnector(@RequestHeader String token,@RequestBody int body){
         return dataConnectorService.getConnector(body);
     }
 
     /*
     更新数据源配置
      */
+    @CheckToken
     @RequestMapping("/updateData")
-    public RepEntity updateData(@RequestBody DataConnectorInfo body){
+    public RepEntity updateData(@RequestHeader String token,@RequestBody DataConnectorInfo body){
         return dataConnectorService.updateData(body);
     }
 
     /*
     更新数据源配置的分组
      */
+    @CheckToken
     @RequestMapping("/updateConnectConfigGroup")
-    public RepEntity updateConConfigGroup(@RequestBody GroupUpdateId body){
+    public RepEntity updateConConfigGroup(@RequestHeader String token,@RequestBody GroupUpdateId body){
         return dataConnectorService.updateConfigGroup(body);
     }
 
@@ -69,57 +76,96 @@ public class DataConnectorController {
     /*
     删除配置
      */
+    @CheckToken
     @RequestMapping("/delDataConnector")
-    public RepEntity delDataConnector(@RequestBody List<Integer> body){
+    public RepEntity delDataConnector(@RequestHeader String token,@RequestBody List<Integer> body){
         return dataConnectorService.delDataConnector(body);
     }
 
     /*
     执行数据源配置
     */
+    @CheckToken
     @RequestMapping("/implementSql")
     @TargetDataSource
-    public RepEntity implementSql(@RequestBody ToSql body){
+    public RepEntity implementSql(@RequestHeader String token,@RequestBody ToSql body){
         return implementSqlService.implementSql(body);
     }
 
     /*
     添加数据源分组
      */
+    @CheckToken
     @RequestMapping("/setConnectorGroup")
-    public RepEntity setConnectorGroup(@RequestBody GroupInfo body){
+    public RepEntity setConnectorGroup(@RequestHeader String token,@RequestBody GroupInfo body){
         return dataConnectorService.setDataConnectorGroup(body);
     }
 
     /*
     更新数据源分组
      */
+    @CheckToken
     @RequestMapping("/updataDataConnectorGroup")
-    public RepEntity updataDataConnectorGroup(@RequestBody GroupInfo body){
+    public RepEntity updataDataConnectorGroup(@RequestHeader String token,@RequestBody GroupInfo body){
         return dataConnectorService.updataDataConnectorGroup(body);
     }
 
     /*
     批量更新数据源分组
      */
+    @CheckToken
     @RequestMapping("/updataConnectorGroup")
-    public RepEntity updataConnectorGroup(@RequestBody List<GroupInfo> body){
+    public RepEntity updataConnectorGroup(@RequestHeader String token,@RequestBody List<GroupInfo> body){
         return dataConnectorService.updataConnectorGroups(body);
     }
 
     /*
     删除数据源分组
      */
+    @CheckToken
     @RequestMapping("/delDataConnectorGroup")
-    public RepEntity delDataConnectorGroup(@RequestBody List<Integer> body){
+    public RepEntity delDataConnectorGroup(@RequestHeader String token,@RequestBody List<Integer> body){
         return dataConnectorService.delDataConnectorGroup(body);
     }
 
     /*
     查询数据源分组
      */
+    @CheckToken
     @RequestMapping("/getConnectorGroup")
-    public RepEntity getConnectorGroup(){
+    public RepEntity getConnectorGroup(@RequestHeader String token){
         return dataConnectorService.getConnectorGroup();
     }
+
+    /*
+    添加数据源策略
+     */
+    @RequestMapping("/addDbStrategys")
+    public RepEntity addDbStrategys(@RequestBody BdStrategysInfo body){
+        return dataConnectorService.addDbStrategys(body);
+    }
+
+    /*
+    删除数据源策略
+     */
+    @RequestMapping("/delDbStrategys")
+    public RepEntity delDbStrategys(@RequestBody List<Integer> body){
+        return dataConnectorService.delDbStrategys(body);
+    }
+
+    /*
+    更新数据源策略
+     */
+    @RequestMapping("/updateDbStrategys")
+    public RepEntity updateDbStrategys(@RequestBody BdStrategysInfo body){
+        return dataConnectorService.updateDbStrategys(body);
+    }
+
+    /*
+    查询数据源策略
+     */
+    @RequestMapping("/getDbStrategys")
+    public RepEntity getDbStrategys(){
+        return dataConnectorService.getDbStrategys();
+    }
 }

+ 15 - 10
src/main/java/com/controller/ShowChartsController.java

@@ -1,12 +1,11 @@
 package com.controller;
 
-import com.model.vo.configVo.ColumnScreenInfo;
 import com.model.pojo.RepEntity;
 import com.model.vo.configVo.*;
 import com.server.*;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -32,57 +31,63 @@ public class ShowChartsController {
     /*
     展示柱状图
      */
+    @CheckToken
     @RequestMapping("/showHistogram")
-    @Transactional
-    public RepEntity showHistogram(@RequestBody HistogramConfigInfo body){
+    public RepEntity showHistogram(@RequestHeader String token,@RequestBody HistogramConfigInfo body){
         return showHistogramService.showHistogram(body);
     }
 
     /*
     展示饼图
      */
+    @CheckToken
     @RequestMapping("/showPie")
-    public RepEntity showPie(@RequestBody PieConfigInfo body){
+    public RepEntity showPie(@RequestHeader String token,@RequestBody PieConfigInfo body){
         return showPieService.showPie(body);
     }
 
     /*
     展示Line
      */
+    @CheckToken
     @RequestMapping("/showLine")
-    public RepEntity showLine(@RequestBody LineConfigInfo body){
+    public RepEntity showLine(@RequestHeader String token,@RequestBody LineConfigInfo body){
         return showLineService.showLine(body);
     }
 
     /*
     showScatter
      */
+    @CheckToken
     @RequestMapping("/showScatter")
-    public RepEntity showScatter(@RequestBody ScatterConfigInfo body){
+    public RepEntity showScatter(@RequestHeader String token,@RequestBody ScatterConfigInfo body){
         return showScatterService.showScatter(body);
     }
 
     /*
     show个体统计表
      */
+    @CheckToken
     @RequestMapping("/showIndividual")
-    public RepEntity showIndividual(@RequestBody IndividualConfigInfo body){
+    public RepEntity showIndividual(@RequestHeader String token,@RequestBody IndividualConfigInfo body){
         return showIndividualService.showIndividual(body);
     }
 
     /*
     show总体统计表
      */
+    @CheckToken
     @RequestMapping("/showPopulation")
-    public RepEntity showPopulation(@RequestBody PopulationInfo body) throws SQLException {
+    public RepEntity showPopulation(@RequestHeader String token,@RequestBody PopulationInfo body) throws SQLException {
         return showPopulationService.showPopulation(body);
     }
 
     /*
     展示单列数据
      */
+    @CheckToken
     @RequestMapping("/showScreenData")
-    public RepEntity showScreenData(@RequestBody ColumnScreenInfo body){
+    public RepEntity showScreenData(@RequestHeader String token,@RequestBody ColumnScreenInfo body){
         return columnScreenService.getScreenData(body);
     }
 }

+ 91 - 0
src/main/java/com/controller/UserController.java

@@ -0,0 +1,91 @@
+package com.controller;
+
+import com.model.pojo.RepEntity;
+import com.model.vo.configVo.LoginInfo;
+import com.model.vo.configVo.UserGroupInfo;
+import com.model.vo.configVo.UserGroupSetInfo;
+import com.server.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+public class UserController {
+    @Autowired
+    UserService userService;
+
+    /*
+    登录(生成token)
+     */
+    @RequestMapping("/login")
+    public RepEntity login(@RequestBody LoginInfo body){
+        return userService.login(body);
+    }
+
+    /*
+    查询用户列表
+     */
+    @RequestMapping("/getUserList")
+    public RepEntity getUserList(){
+        return userService.getUserList();
+    }
+
+    /*
+    创建用户组
+     */
+    @RequestMapping("/createUserGroup")
+    public RepEntity createUserGroup(@RequestBody UserGroupInfo body){
+        return userService.createUserGroup(body);
+    }
+
+    /*
+    更新用户组
+     */
+    @RequestMapping("/updateUserGroup")
+    public RepEntity updateUserGroup(@RequestBody UserGroupInfo body){
+        return userService.updateUserGroup(body);
+    }
+
+    /*
+    查询用户组列表
+     */
+    @RequestMapping("/getUserGroupList")
+    public RepEntity getUserGroupList(){
+        return userService.getUserGroup();
+    }
+
+    /*
+    删除用户组
+     */
+    @RequestMapping("/delUserGroup")
+    public RepEntity delUserGroup(@RequestBody List<Integer> body){
+        return userService.delUserGroup(body);
+    }
+
+    /*
+    用户组添加用户
+     */
+    @RequestMapping("/setUserInto")
+    public RepEntity setUserInto(@RequestBody UserGroupSetInfo body){
+        return userService.setUserInto(body);
+    }
+
+    /*
+    查询用户组下的用户
+     */
+    @RequestMapping("/getUserInGroup")
+    public RepEntity getUserInGroup(@RequestBody int body){
+        return userService.getUserInGroup(body);
+    }
+
+    /*
+    删除用户组下的用户
+     */
+    @RequestMapping("/delUserInGroup")
+    public RepEntity delUserInGroup(@RequestBody UserGroupSetInfo body){
+        return userService.delUserInGroup(body);
+    }
+}

+ 51 - 0
src/main/java/com/dao/DataConnectorMapper.java

@@ -1,5 +1,6 @@
 package com.dao;
 
+import com.model.po.BdStrategys;
 import com.model.po.DataConnector;
 import com.model.po.DataConnectorList;
 import com.model.po.Databases;
@@ -217,4 +218,54 @@ public interface DataConnectorMapper {
      */
     @Select("select chart_name from bi_charts where bd_data_ID = #{id}")
     List<String> getChartsName(int id);
+
+     /*
+    保存数据源策略
+     */
+     @Insert("insert into bi_db_strategys(bs_id, bs_db_id, bs_rule, bs_name, createBy, create_date) values" +
+             "(#{id}, #{databaseId}, #{rule}, #{name}, #{createBy}, " +
+             "to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss'))")
+     @SelectKey(before=true,keyProperty="id",resultType=int.class,statement="SELECT bi_db_strategys_squence.nextval from dual",keyColumn = "bs_id")
+    void addStrategys(BdStrategys bdStrategys);
+
+     /*
+     更新数据源策略
+      */
+    @Update("<script>"+
+            "UPDATE bi_db_strategys set "+
+            "BS_DB_ID = #{datebaseId}" +
+            "<if test=\"rule != null\"> , BS_RULE = #{rule} </if>" +
+            "<if test=\"name != null\"> , BS_NAME = #{name} </if>" +
+            "<if test=\"createBy != null\"> , create_by = #{createBy} </if>" +
+            "<if test=\"isOpen != null\"> , IS_OPEN = #{isOpen} </if>" +
+            ",updata_date = to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss') "+
+            " where bs_id = #{id}" +
+            "</script>")
+    void updataDbStrategys(BdStrategys bdStrategys);
+
+     /*
+     删除数据源策略
+      */
+     @Delete("<script>" +
+             "delete from bi_db_strategys where bs_id in" +
+             "(" +
+             "<foreach collection=\"list\" index=\"index\" item=\"item\"  separator=\",\">" +
+             "#{item, jdbcType = NUMERIC}" +
+             " </foreach>" +
+             ")" +
+             "</script>")
+    void delDbStrategys(List<Integer> idList);
+
+     /*
+     查询数据源Id
+      */
+     @Select("select bs_id as id where bs_id = #{id}")
+     List<Integer> getStrIdList();
+
+     /*
+    查询数据源策略
+     */
+     @Select(" select bs_id as id, bs_db_id as databaseId, bs_name as name, is_open as isOpen, bs_rule as rule, create_date as createDate,  " +
+             " updata_date as updataDate from bi_db_strategys where bs_id = #{id}")
+    List<BdStrategys> getDbStrategys();
 }

+ 98 - 0
src/main/java/com/dao/UserMapper.java

@@ -0,0 +1,98 @@
+package com.dao;
+
+import com.model.po.User;
+import com.model.po.UserGroup;
+import com.model.vo.configVo.UserGroupSetInfo;
+import org.apache.ibatis.annotations.*;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface UserMapper {
+
+    /*
+    获取用户信息
+     */
+    @Select("select BU_ID as id, BU_NAME as name, BU_DEPARTMENT as department, BU_POST as post, BU_ROLE as role," +
+            " user_name as userName, pass_word as passWord " +
+            "from bi_users where user_name = #{userName}")
+    User getLogin(String userName);
+
+    /*
+    获取用户列表
+     */
+    @Select("select BU_ID as id, BU_NAME as name, BU_DEPARTMENT as department, BU_POST as post, BU_ROLE as role," +
+            "user_name as userName, pass_word as passWord, create_date as createDate " +
+            "from bi_users")
+    List<User> getUserList();
+
+    /*
+    更新token
+     */
+    @Update("update bi_users set user_token = #{token} where bu_id = #{id}")
+    void updateToken(@Param("token") String token, @Param("id") int id);
+
+    /*
+    创建用户组
+     */
+    @Insert("insert into bi_user_groups(bg_id, bg_name, bg_note, create_date) values(#{id}, #{userGroupName}, #{userGroupNote}, " +
+            "to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss'))")
+    @SelectKey(before=true,keyProperty="id",resultType=Integer.class,statement="SELECT bi_user_groups_squence.nextval from dual",keyColumn = "bg_id")
+    void insUserGroup(UserGroup userGroup);
+
+    /*
+    更新用户组
+     */
+    @Update("<script>" +
+            "UPDATE bi_user_groups set "  +
+            "bg_name = #{userGroupName}" +
+            "<if test=\"userGroupNote != null\"> , bg_note = #{userGroupNote} </if>" +
+            ",UPDATA_DATE = to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss') " +
+            "where bg_id = #{id}" +
+            "</script>")
+    void updateUserGroup(UserGroup userGroup);
+
+    /*
+    查询用户组
+     */
+    @Select("select bg_id as id, bg_name as userGroupName, bg_note as userGroupNote, create_date as createDate, " +
+            "updata_date as updateDate from bi_user_groups ")
+    List<UserGroup> getUserGroup();
+
+    /*
+    删除用户组
+     */
+    @Delete("<script>" +
+            "delete from bi_user_groups where bg_id in " +
+            "("+
+            "<foreach collection=\"list\" index=\"index\" item=\"item\"  separator=\",\">" +
+            "#{item, jdbcType = NUMERIC}"+
+            "</foreach>" +
+            ")"+
+            "</script>")
+    void delUserGroup(List<Integer> idList);
+
+    /*
+    添加用户到用户组
+     */
+    @Insert("insert into bi_user_rel_groups(br_id, br_user_id, br_user_group) values(#{id}, #{userId}, #{userGroupId})")
+    @SelectKey(before=true,keyProperty="id",resultType=Integer.class,statement="SELECT bi_user_rel_groups_squence.nextval from dual",keyColumn = "br_id")
+    void setUserInto(UserGroupSetInfo userGroupSetInfo);
+
+    /*
+    查询用户组下的用户信息
+     */
+    @Select("select bu_id as id, bu_name as name, bu_department as department, bu_post as post, bu_role as role " +
+            " from bi_users,bi_user_groups,bi_user_rel_groups where bi_users.bu_id=bi_user_rel_groups.br_user_id and " +
+            " bi_user_rel_groups.br_user_group=bi_user_groups.bg_id and bi_user_groups.bg_id = #{id}")
+    List<User> getGroupUserList(int id);
+
+    /*
+    删除用户组下的用户
+     */
+    @Delete("delete from bi_user_rel_groups where br_user_id = #{userId} and br_user_group = #{userGroupId} ")
+    void delUserInGroup(UserGroupSetInfo userGroupSetInfo);
+
+}

+ 78 - 0
src/main/java/com/model/po/BdStrategys.java

@@ -0,0 +1,78 @@
+package com.model.po;
+
+import java.util.Date;
+
+public class BdStrategys {
+    private int id;
+    private int databaseId;
+    private String name;
+    private String rule;
+    private String isOpen;
+    private String createBy;
+    private Date createDate;
+    private Date updataDate;
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getDatabaseId() {
+        return databaseId;
+    }
+
+    public void setDatabaseId(int databaseId) {
+        this.databaseId = databaseId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getRule() {
+        return rule;
+    }
+
+    public void setRule(String rule) {
+        this.rule = rule;
+    }
+
+    public String getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(String createBy) {
+        this.createBy = createBy;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public Date getUpdataDate() {
+        return updataDate;
+    }
+
+    public void setUpdataDate(Date updataDate) {
+        this.updataDate = updataDate;
+    }
+
+    public String getIsOpen() {
+        return isOpen;
+    }
+
+    public void setIsOpen(String isOpen) {
+        this.isOpen = isOpen;
+    }
+}

+ 33 - 0
src/main/java/com/model/po/BdStrategysData.java

@@ -0,0 +1,33 @@
+package com.model.po;
+
+import java.util.List;
+
+public class BdStrategysData {
+    private List<BdStrategys> bdStrategys;
+    private List<String> userGroupName;
+    private List<String> userName;
+
+    public List<BdStrategys> getBdStrategys() {
+        return bdStrategys;
+    }
+
+    public void setBdStrategys(List<BdStrategys> bdStrategys) {
+        this.bdStrategys = bdStrategys;
+    }
+
+    public List<String> getUserGroupName() {
+        return userGroupName;
+    }
+
+    public void setUserGroupName(List<String> userGroupName) {
+        this.userGroupName = userGroupName;
+    }
+
+    public List<String> getUserName() {
+        return userName;
+    }
+
+    public void setUserName(List<String> userName) {
+        this.userName = userName;
+    }
+}

+ 31 - 0
src/main/java/com/model/po/TokenData.java

@@ -0,0 +1,31 @@
+package com.model.po;
+
+public class TokenData {
+    private String token;
+    private String times;
+    private User user;
+
+    public String getToken() {
+        return token;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+
+    public String getTimes() {
+        return times;
+    }
+
+    public void setTimes(String times) {
+        this.times = times;
+    }
+
+    public User getUser() {
+        return user;
+    }
+
+    public void setUser(User user) {
+        this.user = user;
+    }
+}

+ 87 - 0
src/main/java/com/model/po/User.java

@@ -0,0 +1,87 @@
+package com.model.po;
+
+import java.util.Date;
+
+public class User {
+    private int id;
+    private String name;
+    private String userName;
+    private String passWord;
+    private String department;
+    private String post;
+    private String role;
+    private Date createDate;
+    private Date updateDate;
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getPassWord() {
+        return passWord;
+    }
+
+    public void setPassWord(String passWord) {
+        this.passWord = passWord;
+    }
+
+    public String getDepartment() {
+        return department;
+    }
+
+    public void setDepartment(String department) {
+        this.department = department;
+    }
+
+    public String getPost() {
+        return post;
+    }
+
+    public void setPost(String post) {
+        this.post = post;
+    }
+
+    public String getRole() {
+        return role;
+    }
+
+    public void setRole(String role) {
+        this.role = role;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public Date getUpdateDate() {
+        return updateDate;
+    }
+
+    public void setUpdateDate(Date updateDate) {
+        this.updateDate = updateDate;
+    }
+}

+ 51 - 0
src/main/java/com/model/po/UserGroup.java

@@ -0,0 +1,51 @@
+package com.model.po;
+
+import java.util.Date;
+
+public class UserGroup {
+    private int id;
+    private String userGroupName;
+    private String userGroupNote;
+    private Date createDate;
+    private Date updateDate;
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getUserGroupName() {
+        return userGroupName;
+    }
+
+    public void setUserGroupName(String userGroupName) {
+        this.userGroupName = userGroupName;
+    }
+
+    public String getUserGroupNote() {
+        return userGroupNote;
+    }
+
+    public void setUserGroupNote(String userGroupNote) {
+        this.userGroupNote = userGroupNote;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public Date getUpdateDate() {
+        return updateDate;
+    }
+
+    public void setUpdateDate(Date updateDate) {
+        this.updateDate = updateDate;
+    }
+}

+ 2 - 1
src/main/java/com/model/pojo/RepCode.java

@@ -11,7 +11,8 @@ public enum  RepCode {
     hasGroupUsing(-140, "存在子分组"),
     hasConUsing(-150, "分组正在被数据源使用"),
     hasChartUsing(-160, "分组正在被图表使用"),
-    ChartsNameNull(-170, "表不存在");
+    ChartsNameNull(-170, "表不存在"),
+    NoUser(-180, "用户名或密码错误");
 
     private int code;
     private String msg;

+ 62 - 0
src/main/java/com/model/vo/configVo/BdStrategysInfo.java

@@ -0,0 +1,62 @@
+package com.model.vo.configVo;
+
+import com.model.bo.Screen;
+
+import java.util.List;
+
+public class BdStrategysInfo {
+    private int id;
+    private int databaseId;
+    private String name;
+    private List<Screen> rule;
+    private String isOpen;
+    private String createBy;
+
+    public String getIsOpen() {
+        return isOpen;
+    }
+
+    public void setIsOpen(String isOpen) {
+        this.isOpen = isOpen;
+    }
+
+    public String getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(String createBy) {
+        this.createBy = createBy;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getDatabaseId() {
+        return databaseId;
+    }
+
+    public void setDatabaseId(int databaseId) {
+        this.databaseId = databaseId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public List<Screen> getRule() {
+        return rule;
+    }
+
+    public void setRule(List<Screen> rule) {
+        this.rule = rule;
+    }
+}

+ 22 - 0
src/main/java/com/model/vo/configVo/LoginInfo.java

@@ -0,0 +1,22 @@
+package com.model.vo.configVo;
+
+public class LoginInfo {
+    private String userName;
+    private String passWord;
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getPassWord() {
+        return passWord;
+    }
+
+    public void setPassWord(String passWord) {
+        this.passWord = passWord;
+    }
+}

+ 31 - 0
src/main/java/com/model/vo/configVo/UserGroupInfo.java

@@ -0,0 +1,31 @@
+package com.model.vo.configVo;
+
+public class UserGroupInfo {
+    private int id;
+    private String userGroupName;
+    private String userGroupNote;
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getUserGroupName() {
+        return userGroupName;
+    }
+
+    public void setUserGroupName(String userGroupName) {
+        this.userGroupName = userGroupName;
+    }
+
+    public String getUserGroupNote() {
+        return userGroupNote;
+    }
+
+    public void setUserGroupNote(String userGroupNote) {
+        this.userGroupNote = userGroupNote;
+    }
+}

+ 31 - 0
src/main/java/com/model/vo/configVo/UserGroupSetInfo.java

@@ -0,0 +1,31 @@
+package com.model.vo.configVo;
+
+public class UserGroupSetInfo {
+    private int id;
+    private int userId;
+    private int userGroupId;
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getUserId() {
+        return userId;
+    }
+
+    public void setUserId(int userId) {
+        this.userId = userId;
+    }
+
+    public int getUserGroupId() {
+        return userGroupId;
+    }
+
+    public void setUserGroupId(int userGroupId) {
+        this.userGroupId = userGroupId;
+    }
+}

+ 67 - 0
src/main/java/com/model/vo/configVo/UserInfo.java

@@ -0,0 +1,67 @@
+package com.model.vo.configVo;
+
+public class UserInfo {
+    private int id;
+    private String name;
+    private String userName;
+    private String passWord;
+    private String department;
+    private String post;
+    private String role;
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getPassWord() {
+        return passWord;
+    }
+
+    public void setPassWord(String passWord) {
+        this.passWord = passWord;
+    }
+
+    public String getDepartment() {
+        return department;
+    }
+
+    public void setDepartment(String department) {
+        this.department = department;
+    }
+
+    public String getPost() {
+        return post;
+    }
+
+    public void setPost(String post) {
+        this.post = post;
+    }
+
+    public String getRole() {
+        return role;
+    }
+
+    public void setRole(String role) {
+        this.role = role;
+    }
+}

+ 2 - 0
src/main/java/com/server/ColumnScreenService.java

@@ -27,6 +27,8 @@ public class ColumnScreenService {
         String tableName = chartsConfigMapper.getTableName(id);
         if (tableName == null || "".equals(tableName)){
             return new RepEntity(RepCode.nullTableName);
+        }else {
+            tableName = "(" + tableName +")";
         }
 
         List<Object> data = new ArrayList<>();

+ 1 - 1
src/main/java/com/server/DataBasesService.java

@@ -158,7 +158,7 @@ public class DataBasesService {
         if (target.size() == 0) {
             target.putAll(dataSourceRegister.getSlaveDataSources());
         }
-        target.put(databasesInfo.getUserName(), dataSourceRegister.buildDataSource(dsMap));
+        target.put(databasesInfo.getId(), dataSourceRegister.buildDataSource(dsMap));
         DynamicDataSource datasource = (DynamicDataSource) ContextUtil.getBean("dataSource");
         datasource.setTargetDataSources(target);
         datasource.afterPropertiesSet();

+ 55 - 0
src/main/java/com/server/DataConnectorService.java

@@ -6,13 +6,16 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.model.bo.DatabaseConfig;
 import com.model.bo.GroupUpdateId;
 import com.model.po.BaseConfig;
+import com.model.po.BdStrategys;
 import com.model.po.DataConnector;
 import com.model.po.DataConnectorList;
 import com.model.pojo.RepCode;
 import com.model.pojo.RepEntity;
+import com.model.vo.configVo.BdStrategysInfo;
 import com.model.vo.configVo.ColumnRenameInfo;
 import com.model.vo.configVo.DataConnectorInfo;
 import com.model.vo.configVo.GroupInfo;
+import com.util.ScreenUtil;
 import com.util.SqlMatch;
 import com.util.TimeUtil;
 import org.springframework.beans.BeanUtils;
@@ -38,6 +41,9 @@ public class DataConnectorService {
     @Autowired
     ObjectMapper objectmapper;
 
+    @Autowired
+    ScreenUtil screenUtil;
+
     /*
     保存数据源
      */
@@ -304,4 +310,53 @@ public class DataConnectorService {
     public RepEntity getConnectorGroup(){
         return new RepEntity(RepCode.success, dataConnectorMapper.getConnectorGroup());
     }
+
+    /*
+    保存数据源策略
+     */
+    public RepEntity addDbStrategys(BdStrategysInfo bdStrategysInfo){
+        BdStrategys bdStrategys = new BdStrategys();
+        BeanUtils.copyProperties(bdStrategysInfo, bdStrategys);
+        String scr = screenUtil.screensUtil(bdStrategysInfo.getRule(), "", "").getRet();
+        bdStrategys.setRule(scr);
+        dataConnectorMapper.addStrategys(bdStrategys);
+        return new RepEntity(RepCode.success, bdStrategys.getId());
+    }
+
+    /*
+    更新数据源策略
+     */
+    public RepEntity updateDbStrategys(BdStrategysInfo bdStrategysInfo){
+        BdStrategys bdStrategys = new BdStrategys();
+        BeanUtils.copyProperties(bdStrategysInfo, bdStrategys);
+        String scr = screenUtil.screensUtil(bdStrategysInfo.getRule(), "", "").getRet();
+        bdStrategys.setRule(scr);
+        dataConnectorMapper.addStrategys(bdStrategys);
+        return new RepEntity(RepCode.success);
+    }
+
+    /*
+    删除数据源策略
+     */
+    public RepEntity delDbStrategys(List<Integer> idList){
+        dataConnectorMapper.delDbStrategys(idList);
+        return new RepEntity(RepCode.success);
+    }
+
+    /*
+    查询数据源策略列表
+     */
+    public RepEntity getDbStrategys(){
+        List<BdStrategys> bdStrategys = new ArrayList<>();
+        /*
+        获取id列表
+         */
+        List<Integer> idList = dataConnectorMapper.getStrIdList();
+        Iterator isList = idList.iterator();
+        while (isList.hasNext()){
+            int id = (int) isList.next();
+            bdStrategys =  dataConnectorMapper.getDbStrategys();
+        }
+        return new RepEntity(RepCode.success);
+    }
 }

+ 0 - 3
src/main/java/com/server/ShowHistogramService.java

@@ -15,7 +15,6 @@ import com.util.CalculationJudgeUtil;
 import com.util.ScreenUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -41,7 +40,6 @@ public class ShowHistogramService {
     /*
     柱状图数据展示
      */
-    @Transactional
     public RepEntity showHistogram(HistogramConfigInfo histogramConfigInfo){
         ChartsDataInfo chartsDataInfo = new ChartsDataInfo();
         if (histogramConfigInfo == null || "".equals(histogramConfigInfo)){
@@ -58,7 +56,6 @@ public class ShowHistogramService {
         }
 
         int baseId = getChartsDataUtilService.getBaseId(id);
-//        int baseId =
         System.out.println("切换数据库"+baseId);
 
         try{

+ 113 - 0
src/main/java/com/server/UserService.java

@@ -0,0 +1,113 @@
+package com.server;
+
+import com.dao.UserMapper;
+import com.model.po.TokenData;
+import com.model.po.User;
+import com.model.po.UserGroup;
+import com.model.pojo.RepCode;
+import com.model.pojo.RepEntity;
+import com.model.vo.configVo.LoginInfo;
+import com.model.vo.configVo.UserGroupInfo;
+import com.model.vo.configVo.UserGroupSetInfo;
+import com.util.JwtTokenUtil;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class UserService {
+    @Autowired
+    JwtTokenUtil jwtTokenUtil;
+    @Autowired
+    UserMapper userMapper;
+
+    public RepEntity login(LoginInfo loginInfo){
+        String userName = loginInfo.getUserName();
+        User user = userMapper.getLogin(userName);
+        System.out.println("user:" + user);
+        if ("".equals(user) || user == null){
+            return new RepEntity(RepCode.NoUser);
+        }
+        String passWord = user.getPassWord();
+        if (!passWord.equals(loginInfo.getPassWord())){
+            System.out.println("....passw:" + passWord + "ps:" + loginInfo.getPassWord());
+            return new RepEntity(RepCode.NoUser);
+        }
+
+        TokenData tokenData = jwtTokenUtil.createToke(user);
+        tokenData.setUser(user);
+        userMapper.updateToken(tokenData.getToken(),user.getId());
+        return new RepEntity(RepCode.success, tokenData);
+    }
+
+    /*
+    查询用户列表
+     */
+    public RepEntity getUserList(){
+        List<User> userList = userMapper.getUserList();
+        return new RepEntity(RepCode.success, userList);
+    }
+
+
+    /*
+    创建用户组
+     */
+    public RepEntity createUserGroup(UserGroupInfo userGroupInfo){
+        UserGroup userGroup = new UserGroup();
+        BeanUtils.copyProperties(userGroupInfo,userGroup);
+        userMapper.insUserGroup(userGroup);
+        return new RepEntity(RepCode.success, userGroup.getId());
+    }
+
+    /*
+    更新用户组
+     */
+    public  RepEntity updateUserGroup(UserGroupInfo userGroupInfo){
+        UserGroup userGroup = new UserGroup();
+        BeanUtils.copyProperties(userGroupInfo,userGroup);
+        userMapper.updateUserGroup(userGroup);
+        return new RepEntity(RepCode.success);
+    }
+
+    /*
+    查询用户组
+     */
+    public RepEntity getUserGroup(){
+        List<UserGroup> userGroup= userMapper.getUserGroup();
+        return new RepEntity(RepCode.success, userGroup);
+    }
+
+    /*
+    删除用户组
+     */
+    public RepEntity delUserGroup(List<Integer> idList){
+        userMapper.delUserGroup(idList);
+        return new RepEntity(RepCode.success);
+    }
+
+    /*
+    添加用户到用户组
+     */
+    public RepEntity setUserInto(UserGroupSetInfo userGroupSetInfo){
+        userMapper.setUserInto(userGroupSetInfo);
+        return new RepEntity(RepCode.success);
+    }
+
+    /*
+    查询用户组下的用户信息
+     */
+    public RepEntity getUserInGroup(int id){
+        List<User> user = userMapper.getGroupUserList(id);
+        return new RepEntity(RepCode.success, user);
+    }
+
+    /*
+    删除用户组下的用户
+     */
+    public RepEntity delUserInGroup(UserGroupSetInfo userGroupSetInfo){
+        userMapper.delUserInGroup(userGroupSetInfo);
+        return new RepEntity(RepCode.success);
+    }
+}

+ 1 - 1
src/main/java/com/util/BasesSource/DynamicDataSourceRegister.java

@@ -112,7 +112,7 @@ public class DynamicDataSourceRegister implements ImportBeanDefinitionRegistrar,
             rs = pstmt.executeQuery();//运行查询操作
             System.out.println();
             while(rs.next()){
-                System.out.println("userName:" +rs.getString("user_name"));
+                System.out.println("id:" +rs.getString("id"));
                 // 多个数据源
                 Map<String, Object> dsMap = new HashMap<>();
                 String dei = rs.getString("database_type");

+ 1 - 1
src/main/java/com/util/BasesSource/DynamicDattaSourceAspect.java

@@ -38,7 +38,7 @@ public class DynamicDattaSourceAspect {
 //        System.out.println("数据源用户名"+baseName);
 
         try {
-            joinStr = objectMapper.writeValueAsString(arr[0]);
+            joinStr = objectMapper.writeValueAsString(arr[1]);
         } catch (JsonProcessingException e) {
             e.printStackTrace();
         }

+ 96 - 0
src/main/java/com/util/JwtTokenUtil.java

@@ -0,0 +1,96 @@
+package com.util;
+
+import com.auth0.jwt.JWT;
+import com.auth0.jwt.JWTVerifier;
+import com.auth0.jwt.algorithms.Algorithm;
+import com.auth0.jwt.interfaces.Claim;
+import com.auth0.jwt.interfaces.DecodedJWT;
+import com.model.po.TokenData;
+import com.model.po.User;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+import java.io.UnsupportedEncodingException;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@Aspect
+@Component
+public class JwtTokenUtil {
+    //公共密钥
+    public static String SECRET = "YouRuanKeJiBi";
+
+    @Pointcut("@annotation(com.controller.CheckToken)")
+    public void CheckToken() {
+
+    }
+
+    public TokenData createToke(User user){
+
+        //签发时间
+        Date iaDate = new Date();
+
+        //过期时间
+        Calendar nowTime = Calendar.getInstance();
+        nowTime.add(Calendar.MINUTE, 30);
+        Date expiresDate = nowTime.getTime();
+
+        //转换成时间戳
+        String res;
+        long ts = expiresDate.getTime();
+        res = String.valueOf(ts);
+        System.out.println("time:"+ ts);
+
+        //设置header信息
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("alg", "HS256");
+        map.put("typ", "JWT");
+        String token = "";
+
+        try {
+            token = JWT.create()
+                    .withHeader(map)
+                    .withClaim("id", user.getId())
+                    .withClaim("name", user.getName())
+                    .withClaim("department", user.getDepartment())
+                    .withClaim("post", user.getPost())
+                    .withClaim("role", user.getRole())
+                    .withExpiresAt(expiresDate)
+                    .withIssuedAt(iaDate)
+                    .sign(Algorithm.HMAC256(SECRET));
+            System.out.println("token:::::::::::" + token);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        TokenData tokenData = new TokenData();
+        tokenData.setToken(token);
+        tokenData.setTimes(res);
+        return tokenData ;
+    }
+
+    //解密
+    @Before("CheckToken()")
+    @Order(1)
+    public static Map<String, Claim> verifyToken(JoinPoint joinPoint) throws Exception {
+        DecodedJWT jwt = null;
+
+        Object[] arg = joinPoint.getArgs();
+        String token = (String) arg[0];
+        System.out.println("token:::::" + token);
+
+        JWTVerifier verifier = JWT.require(Algorithm.HMAC256(SECRET)).build();
+
+        try {
+            jwt = verifier.verify(token);
+        } catch (Exception e) {
+            throw new RuntimeException("登录凭证已过期,请重新登录");
+        }
+        return jwt.getClaims();
+    }
+}