Browse Source

1.解决了数据量过大代码防呆问题
2.数据分页
3.解决了部分问题

heqinwei 7 years ago
parent
commit
59e21eeafe
47 changed files with 716 additions and 259 deletions
  1. 7 6
      pom.xml
  2. 4 3
      src/main/java/com/controller/ChartsConfigController.java
  3. 3 2
      src/main/java/com/controller/DashboardsController.java
  4. 3 2
      src/main/java/com/controller/DataBasesController.java
  5. 3 2
      src/main/java/com/controller/DataConnectorController.java
  6. 6 6
      src/main/java/com/controller/RecodeController.java
  7. 1 1
      src/main/java/com/controller/ShowChartsController.java
  8. 10 6
      src/main/java/com/dao/ChartsConfigMapper.java
  9. 2 1
      src/main/java/com/dao/DashboardsMapper.java
  10. 1 2
      src/main/java/com/dao/DataColumnMapper.java
  11. 4 4
      src/main/java/com/dao/DataConnectorMapper.java
  12. 22 12
      src/main/java/com/dao/ShowChartsMapper.java
  13. 7 2
      src/main/java/com/dao/UserMapper.java
  14. 63 0
      src/main/java/com/model/bo/ChartsColumnConfig.java
  15. 24 0
      src/main/java/com/model/bo/TimeReture.java
  16. 9 0
      src/main/java/com/model/po/ChartConfigList.java
  17. 46 0
      src/main/java/com/model/pojo/AbstractPageForm.java
  18. 3 1
      src/main/java/com/model/pojo/RepCode.java
  19. 5 0
      src/main/java/com/model/pojo/TestPage.java
  20. 8 0
      src/main/java/com/model/vo/configVo/ColumnRenameInfo.java
  21. 9 0
      src/main/java/com/model/vo/configVo/IndividualConfigInfo.java
  22. 24 0
      src/main/java/com/model/vo/configVo/ShowDataChartInfo.java
  23. 12 10
      src/main/java/com/model/vo/dataVo/ChartsDataInfo.java
  24. 4 7
      src/main/java/com/model/vo/dataVo/ColumnValuesInfo.java
  25. 7 14
      src/main/java/com/model/vo/dataVo/PopAndIndDataInfo.java
  26. 12 25
      src/main/java/com/server/ChartsConfigService.java
  27. 6 2
      src/main/java/com/server/DashboardsService.java
  28. 6 3
      src/main/java/com/server/DataBasesService.java
  29. 7 13
      src/main/java/com/server/DataConnectorService.java
  30. 7 4
      src/main/java/com/server/GetChartsDataUtilService.java
  31. 55 23
      src/main/java/com/server/ImplementSqlService.java
  32. 2 2
      src/main/java/com/server/RecodeService.java
  33. 16 12
      src/main/java/com/server/ShowHistogramService.java
  34. 5 13
      src/main/java/com/server/ShowIndividualService.java
  35. 11 6
      src/main/java/com/server/ShowLineService.java
  36. 10 6
      src/main/java/com/server/ShowPieService.java
  37. 1 2
      src/main/java/com/server/ShowPopulationService.java
  38. 15 5
      src/main/java/com/server/ShowScatterService.java
  39. 53 8
      src/main/java/com/server/TimeConverterUtil.java
  40. 13 3
      src/main/java/com/server/UserService.java
  41. 25 0
      src/main/java/com/util/CommonConfiguration.java
  42. 3 3
      src/main/java/com/util/GetTokenData.java
  43. 52 42
      src/main/java/com/util/GlobalException.java
  44. 12 5
      src/main/java/com/util/JwtTokenUtil.java
  45. 113 0
      src/main/java/com/util/MyException.java
  46. 2 1
      src/main/resources/application.properties
  47. 3 0
      src/main/resources/config/mybatis-config.xml

+ 7 - 6
pom.xml

@@ -67,6 +67,13 @@
           <artifactId>mybatis-spring-boot-starter</artifactId>
           <version>1.3.1</version>
       </dependency>
+
+    <!-- 分页插件 -->
+    <dependency>
+      <groupId>com.github.pagehelper</groupId>
+      <artifactId>pagehelper</artifactId>
+      <version>4.1.0</version>
+    </dependency>
       
       <dependency>
       	<groupId>org.springframework.boot</groupId>
@@ -124,12 +131,6 @@
       </dependency>
 
 
-    <!-- springboot分页插件 -->
-    <!--<dependency>-->
-      <!--<groupId>com.github.pagehelper</groupId>-->
-      <!--<artifactId>pagehelper-spring-boot-starter</artifactId>-->
-      <!--<version>5.0.2</version>-->
-    <!--</dependency>-->
   </dependencies>
 
   <build>

+ 4 - 3
src/main/java/com/controller/ChartsConfigController.java

@@ -2,6 +2,7 @@ package com.controller;
 
 import com.model.bo.GroupUpdateId;
 import com.model.pojo.RepEntity;
+import com.model.pojo.TestPage;
 import com.model.vo.configVo.ChangeOrderInfo;
 import com.model.vo.configVo.ChartConfigInfo;
 import com.model.vo.configVo.GroupInfo;
@@ -69,8 +70,8 @@ public class ChartsConfigController {
      */
     @CheckToken
     @RequestMapping("/getListCharts")
-    public RepEntity getListCharts(@RequestHeader String token){
-        return chartsConfigService.getListCharts(token);
+    public RepEntity getListCharts(@RequestHeader String token, @RequestBody TestPage body){
+        return chartsConfigService.getListCharts(token, body);
     }
 
     /*
@@ -87,7 +88,7 @@ public class ChartsConfigController {
      */
     @CheckToken
     @RequestMapping("/setChartsGroup")
-    public RepEntity setChartsGroup(@RequestBody GroupInfo body){
+    public RepEntity setChartsGroup(@RequestHeader String token, @RequestBody GroupInfo body){
         return chartsConfigService.setDataConnectorGroup(body);
     }
 

+ 3 - 2
src/main/java/com/controller/DashboardsController.java

@@ -1,6 +1,7 @@
 package com.controller;
 
 import com.model.pojo.RepEntity;
+import com.model.pojo.TestPage;
 import com.model.vo.configVo.ChangeOrderInfo;
 import com.model.vo.configVo.ChartsToDashInfo;
 import com.model.vo.configVo.DashboardsInfo;
@@ -54,8 +55,8 @@ public class DashboardsController {
      */
     @CheckToken
     @RequestMapping("/getListDashboards")
-    public RepEntity getListDashboards(@RequestHeader String token){
-        return dashboardsService.getListDashboards(token);
+    public RepEntity getListDashboards(@RequestHeader String token, @RequestBody TestPage body){
+        return dashboardsService.getListDashboards(token, body);
     }
 
     /*

+ 3 - 2
src/main/java/com/controller/DataBasesController.java

@@ -2,6 +2,7 @@ package com.controller;
 
 import com.model.po.Databases;
 import com.model.pojo.RepEntity;
+import com.model.pojo.TestPage;
 import com.model.vo.configVo.DatabasesInfo;
 import com.server.DataBasesService;
 import com.server.ImplementSqlService;
@@ -38,8 +39,8 @@ public class DataBasesController {
     @CheckToken
     @Auth(user = "admin")
     @RequestMapping("/getDatabases")
-    public RepEntity getDatabases(@RequestHeader String token){
-        return dataBasesService.getListDatabases();
+    public RepEntity getDatabases(@RequestHeader String token, @RequestBody TestPage body){
+        return dataBasesService.getListDatabases(body);
     }
 
     /*

+ 3 - 2
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.pojo.TestPage;
 import com.model.vo.configVo.ChangeOrderInfo;
 import com.model.vo.configVo.DataConnectorInfo;
 import com.model.vo.configVo.GroupInfo;
@@ -44,8 +45,8 @@ public class DataConnectorController {
      */
     @CheckToken
     @RequestMapping("/getListDataConnector")
-    public RepEntity getListDataConnector(@RequestHeader String token){
-        return dataConnectorService.getListConnector(token);
+    public RepEntity getListDataConnector(@RequestHeader String token, @RequestBody TestPage body){
+        return dataConnectorService.getListConnector(token, body);
     }
 
     /*

+ 6 - 6
src/main/java/com/controller/RecodeController.java

@@ -19,15 +19,15 @@ public class RecodeController {
     ChartsUtilService chartsUtilService;
 
     @CheckToken
-    @RequestMapping("/getChartRecode")
-    public RepEntity getChartRecode(@RequestHeader String token){
-        return recodeService.getChartRecode(token);
+    @RequestMapping("/getChartRecord")
+    public RepEntity getChartRecord(@RequestHeader String token){
+        return recodeService.getChartRecord(token);
     }
 
     @CheckToken
-    @RequestMapping("/getDashRecode")
-    public RepEntity getDashRecode(@RequestHeader String token){
-        return recodeService.getDashRecode(token);
+    @RequestMapping("/getDashRecord")
+    public RepEntity getDashRecord(@RequestHeader String token){
+        return recodeService.getDashRecord(token);
     }
 
     @CheckToken

+ 1 - 1
src/main/java/com/controller/ShowChartsController.java

@@ -107,7 +107,7 @@ public class ShowChartsController {
      */
     @CheckToken
     @RequestMapping("/getChartsData")
-    public RepEntity getChartsData(@RequestHeader String token,@RequestBody int body){
+    public RepEntity getChartsData(@RequestHeader String token,@RequestBody ShowDataChartInfo body){
         return getChartsDataUtilService.getChartsData(token, body);
     }
 }

+ 10 - 6
src/main/java/com/dao/ChartsConfigMapper.java

@@ -5,6 +5,7 @@ import com.model.bo.ColumnConfigAndSql;
 import com.model.po.ChartConfig;
 import com.model.po.ChartConfigList;
 import com.model.po.ChartsConfigToDash;
+import com.model.pojo.TestPage;
 import com.model.vo.configVo.GroupInfo;
 import org.apache.ibatis.annotations.*;
 import org.springframework.stereotype.Repository;
@@ -91,7 +92,7 @@ public interface ChartsConfigMapper {
             "            or bo2.bo_type = '1' and bo2.bo_ob_id = bc.CREATE_ID" +
             "        )" +
             "    ) = 0 then '0'" +
-            "    else null end authority, bc.id as chartId, bc.chart_name as chartName, bc.chart_type as chartType, bc.create_by as createBy, bc.create_date as createDate, BC_FILTERS as filters" +
+            "    else null end authority, bc.id as chartId, bc.chart_name as chartName, bc.chart_type as chartType, bc.create_by as createBy, bc.create_date as createDate" +
             "    ,bc.bc_filters as filters, bc.CHART_DESCRIBES as describes, bc.bc_charts_group as chartsGroup, bc.bc_charts_option as chartOption ,bc.bd_data_id as dataId,bd.data_name as dataName, bc.create_id as createId  " +
             "     from bi_charts bc left join bi_data_connectors bd on bc.bd_data_id=bd.id where (bc.create_id = #{id} or bc.id in (" +
             "      select bc_chart_id from bi_chart_strategys where BC_ID in (" +
@@ -101,7 +102,7 @@ public interface ChartsConfigMapper {
             "        )" +
             "      )" +
             "    ))")
-    List<ChartConfigList> getListByUser(int id);
+    List<ChartConfigList> getListByUser(@Param("id") int id, TestPage testPage);
 
     /*
     通过Id查找表名
@@ -166,8 +167,8 @@ public interface ChartsConfigMapper {
     /*
    创建图表分组
     */
-    @Insert("insert into bi_charts_group(bc_id, bc_group_name, bc_index, bc_father_id, create_by, create_date)" +
-            "values(#{id}, #{groupName}, #{groupIndex}, #{fatherId}, #{createBy}, to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss'))")
+    @Insert("insert into bi_charts_group(bc_id, bc_group_name, bc_index, bc_father_id, create_date)" +
+            "values(#{id}, #{groupName}, #{groupIndex}, #{fatherId}, 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_charts_group_squence.nextval from dual",keyColumn = "bc_id")
     void setChartsGroup(GroupInfo group);
 
@@ -273,7 +274,7 @@ public interface ChartsConfigMapper {
     查询图表数据列信息
      */
     @Select("${sql}")
-    List<Map<String, Object>> getChartsData(@Param("sql") String sql);
+    List<Map<String, Object>> getChartsData(@Param("sql") String sql, TestPage testPage);
 
     /*
     通过图表ID获取图表配置
@@ -284,7 +285,10 @@ public interface ChartsConfigMapper {
     /*
     通过图表ID查询图表列配置和style
      */
-    @Select("select chart_config as chartConfig, BC_CHART_STYLE as chartStyle from bi_charts where id = #{id}")
+    @Select("select bc.id as id, bc.chart_config as chartConfig, bc.BC_CHART_STYLE as chartStyle,bc.id, bc.CHART_NAME as chartName," +
+            "bc.chart_type as chartType, bc.BD_DATA_ID as dataId, bc.create_id as createId, bc.CREATE_BY as createBy," +
+            "bd.data_name as dataName " +
+            "from bi_charts bc left join bi_data_connectors bd on bc.bd_data_id = bd.id where bc.id = #{id}")
     ChartsColumnConfig getChartsColumn(int id);
 
 }

+ 2 - 1
src/main/java/com/dao/DashboardsMapper.java

@@ -1,6 +1,7 @@
 package com.dao;
 
 import com.model.po.Dashboards;
+import com.model.pojo.TestPage;
 import org.apache.ibatis.annotations.*;
 import org.springframework.stereotype.Repository;
 
@@ -57,7 +58,7 @@ public interface DashboardsMapper {
             " (select bo_da_id from bi_DASHBOARDS_object " +
             "where (bo_type = '0' and bo_ob_id in (select br_user_group from bi_user_rel_groups where br_user_id= #{userId})) " +
             " or (BO_TYPE='1' and bo_ob_id = #{userId} )) or create_id = #{userId}")
-    List<Dashboards> getListDashboards(int userId);
+    List<Dashboards> getListDashboards(@Param("userId") int userId, TestPage testPage);
 
     /*
     查询看板

+ 1 - 2
src/main/java/com/dao/DataColumnMapper.java

@@ -7,7 +7,6 @@ import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
 import java.util.LinkedHashMap;
-import java.util.List;
 
 @Mapper
 @Repository
@@ -25,7 +24,7 @@ public interface DataColumnMapper {
  查询列信息
   */
     @Select("${tableName}")
-    List<LinkedHashMap<String, Object>> getColumn(@Param("tableName") String tableName);
+    LinkedHashMap<String, Object> getColumn(@Param("tableName") String tableName);
 
     @Select("select id from bi_databases where id = #{id}")
     String getDbConfig(int id);

+ 4 - 4
src/main/java/com/dao/DataConnectorMapper.java

@@ -3,6 +3,7 @@ package com.dao;
 import com.model.po.DataConnector;
 import com.model.po.DataConnectorList;
 import com.model.po.Databases;
+import com.model.pojo.TestPage;
 import com.model.vo.configVo.DatabasesInfo;
 import com.model.vo.configVo.GroupInfo;
 import org.apache.ibatis.annotations.*;
@@ -48,7 +49,7 @@ public interface DataConnectorMapper {
             "  ( select br_user_group from bi_user_rel_groups where br_user_id = #{id} ) " +
             "   )" +
             "))) and is_open = '1'")
-    List<DataConnectorList> getDataConnectorList(int id);
+    List<DataConnectorList> getDataConnectorList(@Param("id") int id, TestPage testPage);
 
 
     /*
@@ -130,7 +131,7 @@ public interface DataConnectorMapper {
      */
     @Select("select id, bases_name as name, note, addrass, data_name as dataName, DATABASE_TYPE as databaseType," +
             " PASS_WORD as passWord, USER_NAME as userName, PORT, CREATE_DATE as createDate from bi_databases")
-    List<Databases> getDatabasesList();
+    List<Databases> getDatabasesList(TestPage testPage);
 
     /*
     修改数据库配置列表
@@ -191,8 +192,7 @@ public interface DataConnectorMapper {
             "bb_group_name = #{groupName}" +
             "<if test=\"groupIndex != null\"> , bb_index = #{groupIndex} </if>" +
             "<if test=\"fatherId != null\"> , bb_father_id = #{fatherId} </if>" +
-            "<if test=\"createBy != null\"> , create_by = #{createBy} ,</if>" +
-            "updata_date = to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss') "+
+            ",updata_date = to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss') "+
             " where bb_id = #{id}" +
             "</script>")
     void updataConnectorGroup(GroupInfo groupInfo);

+ 22 - 12
src/main/java/com/dao/ShowChartsMapper.java

@@ -1,6 +1,7 @@
 package com.dao;
 
 import com.model.po.TargetData;
+import com.model.pojo.TestPage;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -12,10 +13,15 @@ import java.util.List;
 @Mapper
 @Repository
 public interface ShowChartsMapper {
+    /*
+    查询X轴列数
+     */
+    @Select("select count(*) from (select DISTINCT ${xAxisName} from ${tableName})")
+    int getNumForX(@Param("xAxisName") String xAxisName, @Param("tableName") String tableName);
 
     //x轴
-    @Select("select ${xAxisName} from ${tableName} group by ${xAxisName}")
-    List<String> getXAxis(@Param("xAxisName") String xAxisName, @Param("tableName") String tableName, @Param("screenToColumn") String screenToColumn);
+    @Select("select DISTINCT ${xAxisName} from ${tableName} where rownum <= #{num}")
+    List<String> getXAxis(@Param("xAxisName") String xAxisName, @Param("tableName") String tableName, @Param("screenToColumn") String screenToColumn, @Param("num") int num);
 
 
     //x轴数据
@@ -33,14 +39,13 @@ public interface ShowChartsMapper {
 
 
     //查询分组系列
-    @Select("select ${groupsBy} from ${tableName} ${screen} group by ${groupsBy}")
-    List<String> getGroups(@Param("groupsBy") String groupsBy, @Param("tableName") String tableName, @Param("screen") String screen);
+    @Select("select ${groupsBy} from ${tableName} where 1=1 ${screen} and rownum<=#{count} group by ${groupsBy}")
+    List<String> getGroups(@Param("groupsBy") String groupsBy, @Param("tableName") String tableName, @Param("screen") String screen, @Param("count") int count);
+
+    //查询分组系列个数
+    @Select("select count(*) from (select ${groupsBy} from ${tableName} where 1=1 ${screen} group by ${groupsBy})")
+    int getGroupsCount(@Param("groupsBy") String groupsBy, @Param("tableName") String tableName, @Param("screen") String screen);
 
-//    //查询分组的值
-//    @Select("select ${dataType}(${yAxisName}) from ${tableName} where ${groupsColumn}=#{groupsIndex} and ${xColumn}=#{xColumnIndex}")
-//    String getGroupsValue(@Param("dataType") String dataType, @Param("yAxisName") String yAxisName, @Param("tableName") String tableName,
-//                               @Param("groupsColumn") String groupsColumn, @Param("groupsIndex") String groupsIndex,
-//                                @Param("xColumn") String xColumn, @Param("xColumnIndex") String xColumnIndex);
 
     //查询分组的值
     @Select("select ${dataType}(${yAxisName}) from ${tableName} where ${groupsColumn} and ${xColumn} ${screen}")
@@ -51,8 +56,13 @@ public interface ShowChartsMapper {
 
 
     //时间类型的X轴
-    @Select("select distinct to_char(${xAxisName},${timeType})time from ${tableName} ${screen} ORDER by to_char(${xAxisName},${timeType}) ASC")
+    @Select("select distinct to_char(${xAxisName},${timeType})time from ${tableName} where rownum <= #{count} ORDER by to_char(${xAxisName},${timeType}) ASC")
     List<String> getTimeDate(@Param("xAxisName") String xAxisName, @Param("tableName") String tableName,
+                             @Param("timeType") String timeType, @Param("screen") String screen, @Param("count") int count);
+
+    //时间类型的X轴查count
+    @Select("select count(*) from (select distinct to_char(${xAxisName},${timeType})time from ${tableName} ${screen} ORDER by to_char(${xAxisName},${timeType}) ASC)")
+    int getTimeDateConunt(@Param("xAxisName") String xAxisName, @Param("tableName") String tableName,
                              @Param("timeType") String timeType, @Param("screen") String screen);
 
     //半年
@@ -125,9 +135,9 @@ public interface ShowChartsMapper {
     /*
     获取其他类数据
      */
-    @Select("select ${columnList} from (select ${columnList} from ${tableName} ${screen} order by ${columnName} ${sort}) where rownum<${line}")
+    @Select("select ${columnList} from (select ${columnList} from ${tableName} ${screen} order by ${columnName} ${sort})")
     List<LinkedHashMap<String, Object>> getOtherData(@Param("columnList") String columnList, @Param("tableName") String tableName, @Param("columnName") String columnName,
-                                                     @Param("sort") String sort, @Param("line") String line, @Param("screen") String screen);
+                                                     @Param("sort") String sort, @Param("screen") String screen, TestPage testPage);
 
     /*
     总体统计求值

+ 7 - 2
src/main/java/com/dao/UserMapper.java

@@ -2,7 +2,6 @@ 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;
 
@@ -95,6 +94,12 @@ public interface UserMapper {
 //    void setUserInto(@Param("userId") int userId, @Param("userGroupId") int userGroupId);
     void setUserInto(@Param("userId") int userId, @Param("userGroupId") int userGroupId);
 
+    /*
+    查询用户组是否有该用户
+     */
+    @Select("select count(*) from bi_user_rel_groups where br_user_id = #{userId} and br_user_group = #{userGroupId} ")
+    int getUserCountInGroup(@Param("userId") int userId, @Param("userGroupId") int userGroupId);
+
     /*
     查询用户组下的用户信息
      */
@@ -107,6 +112,6 @@ public interface UserMapper {
     删除用户组下的用户
      */
     @Delete("delete from bi_user_rel_groups where br_user_id = #{userId} and br_user_group = #{userGroupId} ")
-    void delUserInGroup(UserGroupSetInfo userGroupSetInfo);
+    void delUserInGroup(@Param("userId") int userId, @Param("userGroupId") int userGroupId);
 
 }

+ 63 - 0
src/main/java/com/model/bo/ChartsColumnConfig.java

@@ -1,8 +1,71 @@
 package com.model.bo;
 
 public class ChartsColumnConfig {
+    private int id;
     private String chartConfig;
     private String chartStyle;
+    private String chartName;
+    private String chartType;
+    private int dataId;
+    private String dataName;
+    private String createBy;
+    private int createId;
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getChartName() {
+        return chartName;
+    }
+
+    public void setChartName(String chartName) {
+        this.chartName = chartName;
+    }
+
+    public String getChartType() {
+        return chartType;
+    }
+
+    public void setChartType(String chartType) {
+        this.chartType = chartType;
+    }
+
+    public int getDataId() {
+        return dataId;
+    }
+
+    public void setDataId(int dataId) {
+        this.dataId = dataId;
+    }
+
+    public String getDataName() {
+        return dataName;
+    }
+
+    public void setDataName(String dataName) {
+        this.dataName = dataName;
+    }
+
+    public String getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(String createBy) {
+        this.createBy = createBy;
+    }
+
+    public int getCreateId() {
+        return createId;
+    }
+
+    public void setCreateId(int createId) {
+        this.createId = createId;
+    }
 
     public String getChartConfig() {
         return chartConfig;

+ 24 - 0
src/main/java/com/model/bo/TimeReture.java

@@ -0,0 +1,24 @@
+package com.model.bo;
+
+import java.util.List;
+
+public class TimeReture {
+    private boolean isOverdose = false;       //是否过量
+    private List<String> values;
+
+    public boolean isOverdose() {
+        return isOverdose;
+    }
+
+    public void setOverdose(boolean overdose) {
+        isOverdose = overdose;
+    }
+
+    public List<String> getValues() {
+        return values;
+    }
+
+    public void setValues(List<String> values) {
+        this.values = values;
+    }
+}

+ 9 - 0
src/main/java/com/model/po/ChartConfigList.java

@@ -14,6 +14,15 @@ public class ChartConfigList {
     private int dataId;
     private String dataName;
     private String filters;
+    private int row_id;
+
+    public int getRow_id() {
+        return row_id;
+    }
+
+    public void setRow_id(int row_id) {
+        this.row_id = row_id;
+    }
 
     public String getFilters() {
         return filters;

+ 46 - 0
src/main/java/com/model/pojo/AbstractPageForm.java

@@ -0,0 +1,46 @@
+package com.model.pojo;
+
+import com.github.pagehelper.PageHelper;
+
+import java.io.Serializable;
+
+public abstract class AbstractPageForm<T extends AbstractPageForm<T>> implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * @Description 页码为首页
+     */
+    protected int pageNum = 1;
+
+    /**
+     * @Description 每页显示数量,默认为10
+     */
+    protected int pageSize = 10;
+
+    public int getPageNum() {
+        return pageNum;
+    }
+
+    public void setPageNum(int pageNum) {
+        this.pageNum = pageNum;
+    }
+
+    public int getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    /**
+     * @Title enablePaging
+     * @Description 启用分页
+     * @return
+     */
+    @SuppressWarnings("unchecked")
+    public final T enablePaging() {
+        PageHelper.startPage(pageNum, pageSize);
+        return (T) this;
+    }
+}

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

@@ -13,7 +13,9 @@ public enum  RepCode {
     hasChartUsing(-160, "分组正在被图表使用"),
     ChartsNameNull(-170, "表不存在"),
     NoUser(-180, "用户名或密码错误"),
-    NoAuthority(-503, "无此权限");
+    NoAuthority(-503, "无此权限"),
+    ToMach(1, "数据过大"),
+    UserIn(-504, "用户已存在");
 
     private int code;
     private String msg;

+ 5 - 0
src/main/java/com/model/pojo/TestPage.java

@@ -0,0 +1,5 @@
+package com.model.pojo;
+
+public class TestPage extends AbstractPageForm<TestPage> {
+    private static final long serialVersionUID = 1L;
+}

+ 8 - 0
src/main/java/com/model/vo/configVo/ColumnRenameInfo.java

@@ -9,7 +9,15 @@ public class ColumnRenameInfo {
     private String isSubsection;         //是否可分段
     private String isOpen;
     private String remarks;
+    private String isFilter;
 
+    public String getIsFilter() {
+        return isFilter;
+    }
+
+    public void setIsFilter(String isFilter) {
+        this.isFilter = isFilter;
+    }
 
     public String getColumnName() {
         return columnName;

+ 9 - 0
src/main/java/com/model/vo/configVo/IndividualConfigInfo.java

@@ -1,6 +1,7 @@
 package com.model.vo.configVo;
 
 import com.model.bo.Screen;
+import com.model.pojo.TestPage;
 
 import java.util.List;
 
@@ -14,7 +15,15 @@ public class IndividualConfigInfo {
     private String sort;
     private int showLine;
     private List<Screen> filters;
+    private TestPage testPage;
 
+    public TestPage getTestPage() {
+        return testPage;
+    }
+
+    public void setTestPage(TestPage testPage) {
+        this.testPage = testPage;
+    }
 
     public int getId() {
         return id;

+ 24 - 0
src/main/java/com/model/vo/configVo/ShowDataChartInfo.java

@@ -0,0 +1,24 @@
+package com.model.vo.configVo;
+
+import com.model.pojo.TestPage;
+
+public class ShowDataChartInfo {
+    private int chartId;
+    private TestPage testPage;
+
+    public int getChartId() {
+        return chartId;
+    }
+
+    public void setChartId(int chartId) {
+        this.chartId = chartId;
+    }
+
+    public TestPage getTestPage() {
+        return testPage;
+    }
+
+    public void setTestPage(TestPage testPage) {
+        this.testPage = testPage;
+    }
+}

+ 12 - 10
src/main/java/com/model/vo/dataVo/ChartsDataInfo.java

@@ -1,27 +1,29 @@
 package com.model.vo.dataVo;
 
+import com.model.bo.ChartsColumnConfig;
+
 import java.util.List;
 
 public class ChartsDataInfo<T> {
     private List<String> xAxis;
     private List<T> serieses;
-    private String chartsConfig;
-    private String chartsStyle;
+    private ChartsColumnConfig chartsColumnConfig;
+    private boolean tooMany;
 
-    public String getChartsConfig() {
-        return chartsConfig;
+    public boolean isTooMany() {
+        return tooMany;
     }
 
-    public void setChartsConfig(String chartsConfig) {
-        this.chartsConfig = chartsConfig;
+    public void setTooMany(boolean tooMany) {
+        this.tooMany = tooMany;
     }
 
-    public String getChartsStyle() {
-        return chartsStyle;
+    public ChartsColumnConfig getChartsColumnConfig() {
+        return chartsColumnConfig;
     }
 
-    public void setChartsStyle(String chartsStyle) {
-        this.chartsStyle = chartsStyle;
+    public void setChartsColumnConfig(ChartsColumnConfig chartsColumnConfig) {
+        this.chartsColumnConfig = chartsColumnConfig;
     }
 
     public List<String> getxAxis() {

+ 4 - 7
src/main/java/com/model/vo/dataVo/ColumnValuesInfo.java

@@ -1,11 +1,8 @@
 package com.model.vo.dataVo;
 
-import java.util.List;
-import java.util.Map;
-
-public class ColumnValuesInfo {
+public class ColumnValuesInfo<T> {
     private String columnConfig;
-    private List<Map<String, Object>> values;
+    private T values;
 
     public String getColumnConfig() {
         return columnConfig;
@@ -15,11 +12,11 @@ public class ColumnValuesInfo {
         this.columnConfig = columnConfig;
     }
 
-    public List<Map<String, Object>> getValues() {
+    public T getValues() {
         return values;
     }
 
-    public void setValues(List<Map<String, Object>> values) {
+    public void setValues(T values) {
         this.values = values;
     }
 }

+ 7 - 14
src/main/java/com/model/vo/dataVo/PopAndIndDataInfo.java

@@ -1,24 +1,17 @@
 package com.model.vo.dataVo;
 
+import com.model.bo.ChartsColumnConfig;
+
 public class PopAndIndDataInfo<T> {
-    private String chartsConfig;
-    private String chartsStyle;
+    private ChartsColumnConfig chartsColumnConfig;
     private T valueList;
 
-    public String getChartsConfig() {
-        return chartsConfig;
-    }
-
-    public void setChartsConfig(String chartsConfig) {
-        this.chartsConfig = chartsConfig;
-    }
-
-    public String getChartsStyle() {
-        return chartsStyle;
+    public ChartsColumnConfig getChartsColumnConfig() {
+        return chartsColumnConfig;
     }
 
-    public void setChartsStyle(String chartsStyle) {
-        this.chartsStyle = chartsStyle;
+    public void setChartsColumnConfig(ChartsColumnConfig chartsColumnConfig) {
+        this.chartsColumnConfig = chartsColumnConfig;
     }
 
     public T getValueList() {

+ 12 - 25
src/main/java/com/server/ChartsConfigService.java

@@ -4,11 +4,13 @@ import com.dao.ChartsConfigMapper;
 import com.dao.UserMapper;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.pagehelper.PageInfo;
 import com.model.bo.GroupUpdateId;
 import com.model.po.ChartConfig;
 import com.model.po.ChartConfigList;
 import com.model.pojo.RepCode;
 import com.model.pojo.RepEntity;
+import com.model.pojo.TestPage;
 import com.model.vo.configVo.ChangeOrderInfo;
 import com.model.vo.configVo.ChartConfigInfo;
 import com.model.vo.configVo.GroupInfo;
@@ -51,13 +53,6 @@ public class ChartsConfigService {
         String groupBy = null;
         String accessAuthority = null;
         String updateAuthority = null;
-        String style = null;
-
-        try {
-            style = objectmapper.writeValueAsString(chartConfigInfo.getStyle());
-        } catch (JsonProcessingException e) {
-            e.printStackTrace();
-        }
 
         try {
             groupBy = objectmapper.writeValueAsString(chartConfigInfo.getGroupBy());
@@ -77,14 +72,9 @@ public class ChartsConfigService {
             e.printStackTrace();
         }
 
-        if ("".equals(style) || style == null){
-            chartConfig.setStyle("");
-        }
-
         chartConfig.setGroupBy(groupBy);
         chartConfig.setAccessAuthority(accessAuthority);
         chartConfig.setUpdateAuthority(updateAuthority);
-        chartConfig.setStyle(style);
         chartConfig.setCreateDate(timeUtil.SystemTime());
         chartConfig.setCreateId(userId);
         chartConfig.setCreateBy(userName);
@@ -94,11 +84,13 @@ public class ChartsConfigService {
         }
         if (chartConfig.getChartOption() == null ) {
             chartConfig.setChartOption("");
-            System.out.println("=======11111==================");
         }
         if (chartConfig.getFetchConfig() == null || "".equals(chartConfig.getFetchConfig())){
             chartConfig.setFetchConfig("");
         }
+        if (chartConfig.getStyle() == null){
+            chartConfig.setStyle("");
+        }
 
         chartsConfigMapper.insertCharts(chartConfig);
         int id = chartConfig.getChartId();
@@ -123,13 +115,6 @@ public class ChartsConfigService {
         String groupBy = null;
         String accessAuthority = null;
         String updateAuthority = null;
-        String style = null;
-
-        try {
-            style = objectmapper.writeValueAsString(chartConfigInfo.getStyle());
-        } catch (JsonProcessingException e) {
-            e.printStackTrace();
-        }
 
         try {
             groupBy = objectmapper.writeValueAsString(chartConfigInfo.getGroupBy());
@@ -155,7 +140,6 @@ public class ChartsConfigService {
         chartConfig.setAccessAuthority(accessAuthority);
         chartConfig.setAccessAuthority(accessAuthority);
         chartConfig.setUpdateAuthority(updateAuthority);
-        chartConfig.setStyle(style);
         chartConfig.setCreateId(userId);
         chartConfig.setCreateBy(userName);
         chartConfig.setUpdateDate(timeUtil.SystemTime());
@@ -164,7 +148,9 @@ public class ChartsConfigService {
         }
         if (chartConfig.getChartOption() == null) {
             chartConfig.setChartOption("");
-            System.out.println("=========================");
+        }
+        if (chartConfig.getStyle() == null){
+            chartConfig.setStyle("");
         }
         System.out.println("chartOption:"+chartConfig.getChartOption());
         chartsConfigMapper.updateChartConfig(chartConfig);
@@ -208,11 +194,12 @@ public class ChartsConfigService {
     /*
     查询图表列表
      */
-    public RepEntity getListCharts(String token){
+    public RepEntity getListCharts(String token, TestPage testPage){
         Map<String, String> resMap = getTokenData.getTokenData(token);
         int id = Integer.parseInt(resMap.get("id"));
-        List<ChartConfigList> chartsList = chartsConfigMapper.getListByUser(id);
-        return new RepEntity(RepCode.success, chartsList);
+        List<ChartConfigList> chartsList = chartsConfigMapper.getListByUser(id,testPage.enablePaging());
+        PageInfo<ChartConfigList> pageInfo = new PageInfo<>(chartsList);
+        return new RepEntity(RepCode.success, pageInfo);
     }
 
     /*

+ 6 - 2
src/main/java/com/server/DashboardsService.java

@@ -3,9 +3,11 @@ package com.server;
 import com.dao.DashboardsMapper;
 import com.dao.UserMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.pagehelper.PageInfo;
 import com.model.po.Dashboards;
 import com.model.pojo.RepCode;
 import com.model.pojo.RepEntity;
+import com.model.pojo.TestPage;
 import com.model.vo.configVo.ChangeOrderInfo;
 import com.model.vo.configVo.DashboardsInfo;
 import com.util.GetTokenData;
@@ -90,10 +92,12 @@ public class DashboardsService {
     /*
     查看看板
      */
-    public RepEntity getListDashboards(String token){
+    public RepEntity getListDashboards(String token, TestPage testPage){
         Map<String, String> stringMap = getTokenData.getTokenData(token);
         int id = Integer.parseInt(stringMap.get("id"));
-        return new RepEntity(RepCode.success, dashboardsMapper.getListDashboards(id));
+        List<Dashboards> getListDashboards = dashboardsMapper.getListDashboards(id, testPage.enablePaging());
+        PageInfo<Dashboards> pageInfo = new PageInfo<>(getListDashboards);
+        return new RepEntity(RepCode.success, pageInfo);
     }
 
     /*

+ 6 - 3
src/main/java/com/server/DataBasesService.java

@@ -3,11 +3,13 @@ package com.server;
 import com.dao.DataConnectorMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.type.CollectionType;
+import com.github.pagehelper.PageInfo;
 import com.model.po.ColumnToShow;
 import com.model.po.DataConnector;
 import com.model.po.Databases;
 import com.model.pojo.RepCode;
 import com.model.pojo.RepEntity;
+import com.model.pojo.TestPage;
 import com.model.vo.configVo.ColumnRenameInfo;
 import com.model.vo.configVo.DatabasesInfo;
 import com.util.BasesSource.DynamicDataSource;
@@ -66,8 +68,8 @@ public class DataBasesService {
     /*
    查看数据库配置列表
     */
-    public RepEntity getListDatabases(){
-        List<Databases> databasesList = dataConnectorMapper.getDatabasesList();
+    public RepEntity getListDatabases(TestPage testPage){
+        List<Databases> databasesList = dataConnectorMapper.getDatabasesList(testPage.enablePaging());
         List<Databases> databases = new ArrayList<>();
         Iterator isList = databasesList.iterator();
         while (isList.hasNext()){
@@ -75,7 +77,8 @@ public class DataBasesService {
             databases1.setPassWord("");
             databases.add(databases1);
         }
-        return new RepEntity(RepCode.success, databases);
+        PageInfo<Databases> pageInfo = new PageInfo<>(databases);
+        return new RepEntity(RepCode.success, pageInfo);
     }
 
     /*

+ 7 - 13
src/main/java/com/server/DataConnectorService.java

@@ -5,6 +5,7 @@ import com.dao.DataConnectorMapper;
 import com.dao.UserMapper;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.pagehelper.PageInfo;
 import com.model.bo.ColumnConfigAndSql;
 import com.model.bo.DatabaseConfig;
 import com.model.bo.GroupUpdateId;
@@ -13,6 +14,7 @@ import com.model.po.DataConnector;
 import com.model.po.DataConnectorList;
 import com.model.pojo.RepCode;
 import com.model.pojo.RepEntity;
+import com.model.pojo.TestPage;
 import com.model.vo.configVo.ChangeOrderInfo;
 import com.model.vo.configVo.ColumnRenameInfo;
 import com.model.vo.configVo.DataConnectorInfo;
@@ -129,11 +131,11 @@ public class DataConnectorService {
     }
 
     //查看数据源列表
-    public RepEntity getListConnector(String token){
+    public RepEntity getListConnector(String token, TestPage testPage){
         Map<String, String> resultMap = getTokenData.getTokenData(token);
         String id = resultMap.get("id");
         System.out.println("id:" + id);
-        List<DataConnectorList> listConnector = dataConnectorMapper.getDataConnectorList(Integer.parseInt(id));
+        List<DataConnectorList> listConnector = dataConnectorMapper.getDataConnectorList(Integer.parseInt(id), testPage.enablePaging());
         List<DataConnectorList> listConnectors = new ArrayList<>();
         Iterator isList = listConnector.iterator();
         while (isList.hasNext()){
@@ -155,8 +157,9 @@ public class DataConnectorService {
             dataConnectorList.setDbConfig(dbConfig);
             listConnectors.add(dataConnectorList);
         }
+        PageInfo<DataConnectorList> pageInfo = new PageInfo<>(listConnectors);
 
-        return new RepEntity(RepCode.success, listConnectors);
+        return new RepEntity(RepCode.success, pageInfo);
     }
 
     /*
@@ -213,14 +216,7 @@ public class DataConnectorService {
             }
             dataConnector.setColumnConfig(columnConfigJson);
         }
-//        if (!("".equals(dbConfig)) && dbConfig != null){
-//            try {
-//                dbConfigJson = objectmapper.writeValueAsString(dbConfig);
-//            } catch (JsonProcessingException e) {
-//                e.printStackTrace();
-//            }
-//            dataConnector.setDbConfig(null);
-//        }
+
         dataConnector.setDbConfig(dbConfigJson);
         if (dataTag != null){
             try {
@@ -354,8 +350,6 @@ public class DataConnectorService {
         int baseId = getChartsDataUtilService.getBaseIdByConnect(dataId);
         System.out.println("切换数据库"+baseId);
 
-
-
         Map<String, String> resultMap = getTokenData.getTokenData(token);
         int id = Integer.parseInt(resultMap.get("id"));
         int createId = dataConnectorMapper.getCreateIdById(dataId);

+ 7 - 4
src/main/java/com/server/GetChartsDataUtilService.java

@@ -4,9 +4,11 @@ import com.dao.ChartsConfigMapper;
 import com.dao.DataConnectorMapper;
 import com.dao.ShowChartsMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.pagehelper.PageInfo;
 import com.model.po.Databases;
 import com.model.pojo.RepCode;
 import com.model.pojo.RepEntity;
+import com.model.vo.configVo.ShowDataChartInfo;
 import com.model.vo.dataVo.ColumnValuesInfo;
 import com.util.BasesSource.DynamicDataSourceContextHolder;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -84,7 +86,8 @@ public class GetChartsDataUtilService {
     /*
     查看图表列数据信息
      */
-    public RepEntity getChartsData(String token, int chartsId){
+    public RepEntity getChartsData(String token, ShowDataChartInfo showDataChartInfo){
+        int chartsId = showDataChartInfo.getChartId();
         //取表名;
         String tableName = chartsUtilService.getSqlStr(token, chartsId);
         if ("".equals(tableName)){
@@ -110,7 +113,9 @@ public class GetChartsDataUtilService {
                 System.out.println("使用数据源:" + baseId);
                 DynamicDataSourceContextHolder.setDataSourceType(String.valueOf(baseId));
             }
-            values = chartsConfigMapper.getChartsData(sql);
+            values = chartsConfigMapper.getChartsData(sql, showDataChartInfo.getTestPage().enablePaging());
+            PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(values);
+            columnValuesInfo.setValues(pageInfo);
         }catch (Exception e){
             e.printStackTrace();
             System.out.println("异常");
@@ -119,8 +124,6 @@ public class GetChartsDataUtilService {
             System.out.println("关闭数据源");
             DynamicDataSourceContextHolder.clearDataSourceType();
         }
-
-        columnValuesInfo.setValues(values);
         columnValuesInfo.setColumnConfig(columnConfig);
         return new RepEntity(RepCode.success, columnValuesInfo);
     }

+ 55 - 23
src/main/java/com/server/ImplementSqlService.java

@@ -11,10 +11,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
+import java.sql.*;
 import java.util.*;
+import java.util.Date;
 
 @Service
 public class ImplementSqlService {
@@ -27,30 +26,19 @@ public class ImplementSqlService {
     执行数据源
      */
     public RepEntity implementSql(ToSql toSql) {
-        String sqlStr = "select * from (" + toSql.getStrSql() + ") where rownum <=100";
+//        List<String> checkSql = java.util.Arrays.asList(toSql.getStrSql().split(" "));
+        String sqlStr = "select * from (" + toSql.getStrSql() + ") where rownum <=1";
         System.out.println(sqlStr);
         if ("".equals(sqlStr) || sqlStr == null) {
             return new RepEntity(RepCode.ChartsNameNull);
         }
 
-        System.out.println("查询"+ new Date());
-        List<LinkedHashMap<String, Object>> columnData = dataColumnMapper.getColumn(sqlStr);
-        System.out.println("查询结束"+ new Date());
+        LinkedHashMap<String, Object> columnData = dataColumnMapper.getColumn(sqlStr);
         LinkedHashMap<String, String> tarValue = getColumnType(columnData);
 
-        LinkedHashMap<String, Object> columnDataKey = new LinkedHashMap<>();
-        //取列名
         List<ColumnTypeInfo> isList = new ArrayList<>();
-        try{
-            System.out.println("取列名:" + new Date());
-            columnDataKey = columnData.get(0);
-            System.out.println("取列名结束" + new Date());
-        }catch (IndexOutOfBoundsException e){
-            return new RepEntity(RepCode.Null);
-        }
 
-        System.out.println("类型:"+new Date());
-        Iterator<String> iter = columnDataKey.keySet().iterator();
+        Iterator<String> iter = columnData.keySet().iterator();
         while (iter.hasNext()){
             String key = iter.next();
             String vaul = tarValue.get(key);
@@ -59,18 +47,63 @@ public class ImplementSqlService {
             columnTypeInfo.setColumnType(vaul);
             isList.add(columnTypeInfo);
         }
-        System.out.println("类型结束:"+new Date());
 
         return new RepEntity(RepCode.success,isList);
     }
 
+     /*
+    执行数据源test
+     */
+     public RepEntity getColumnTest(ToSql toSql){
+         String sqlStr = toSql.getStrSql();
+         Connection conn = null;
+         try {
+             String url = "jdbc:oracle:thin:@218.17.158.219:1521/orcl";
+             String user = "UAS";
+             String pass = "select!#%*(";
+             conn = DriverManager.getConnection(url,user,pass);
+             String sql="select as_id from accidinsur";
+             PreparedStatement stmt;
+             stmt = conn.prepareStatement(sql);
+             System.out.println("...........");
+             ResultSet rs = stmt.executeQuery(sql);
+             System.out.println("1111111111");
+
+             ResultSetMetaData rsmd = rs.getMetaData();
+             String name = rsmd.getCatalogName(1);
+             int col = rsmd.getColumnCount();   //获得列的个数
+             System.out.println("num"+col);
+             System.out.println("name"+name);
+
+             ResultSetMetaData data = rs.getMetaData();
+             while (rs.next()) {
+                 for (int i = 1; i <= data.getColumnCount(); i++) {
+                     //获得所有列的数目及实际列数
+                     int columnCount = data.getColumnCount();
+                     System.out.println("数:"+columnCount);
+                     // 获得指定列的列名
+                     String columnName = data.getColumnName(i);
+                     System.out.println("ming:"+columnName);
+                     //获得指定列的列值
+                     String columnValue = rs.getString(i);
+                     System.out.println("value"+columnValue);
+                     //获得指定列的数据类型
+                     int columnType = data.getColumnType(i);
+                     System.out.println("type"+columnType);
+                 }
+             }
+         }catch (SQLException e){
+
+         }
+                     return new RepEntity(RepCode.success);
+     }
+
     /*
     判断列类型
      */
-    public LinkedHashMap<String, String> getColumnType(List<LinkedHashMap<String, Object>> columnData){
+    public LinkedHashMap<String, String> getColumnType(LinkedHashMap<String, Object> columnData){
         LinkedHashMap<String, String> tarValue = new LinkedHashMap<>();
-        for (int i = 0; i < columnData.size(); i++){
-            LinkedHashMap<String, Object> columnDataMap = columnData.get(i);
+            LinkedHashMap<String, Object> columnDataMap = columnData;
             Iterator<String> cm = columnDataMap.keySet().iterator();
             while (cm.hasNext()){
                 String key = cm.next();
@@ -89,7 +122,6 @@ public class ImplementSqlService {
                     }
                 }
             }
-        }
         return tarValue;
     }
 

+ 2 - 2
src/main/java/com/server/RecodeService.java

@@ -16,13 +16,13 @@ public class RecodeService {
     @Autowired
     GetTokenData getTokenData;
 
-    public RepEntity getChartRecode(String token){
+    public RepEntity getChartRecord(String token){
         Map<String, String> resultMap = getTokenData.getTokenData(token);
         int userId = Integer.parseInt(resultMap.get("id"));
         return new RepEntity(RepCode.success, recordMapper.chartsRecode(userId));
     }
 
-    public RepEntity getDashRecode(String token){
+    public RepEntity getDashRecord(String token){
         Map<String, String> resultMap = getTokenData.getTokenData(token);
         int userId = Integer.parseInt(resultMap.get("id"));
         return new RepEntity(RepCode.success, recordMapper.DashRecode(userId));

+ 16 - 12
src/main/java/com/server/ShowHistogramService.java

@@ -3,10 +3,7 @@ package com.server;
 import com.dao.ChartsConfigMapper;
 import com.dao.ShowChartsMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.model.bo.ChartsColumnConfig;
-import com.model.bo.Screen;
-import com.model.bo.ScreenStr;
-import com.model.bo.Series;
+import com.model.bo.*;
 import com.model.pojo.RepCode;
 import com.model.pojo.RepEntity;
 import com.model.vo.configVo.HistogramConfigInfo;
@@ -45,6 +42,7 @@ public class ShowHistogramService {
      */
     public RepEntity showHistogram(HistogramConfigInfo histogramConfigInfo, String token){
         ChartsDataInfo chartsDataInfo = new ChartsDataInfo();
+        TimeReture timeReture = new TimeReture();
         if (histogramConfigInfo == null || "".equals(histogramConfigInfo)){
             return new RepEntity(RepCode.Null);
         }
@@ -58,8 +56,7 @@ public class ShowHistogramService {
         }
         String style = chartsColumn.getChartStyle();
         String config = chartsColumn.getChartConfig();
-        chartsDataInfo.setChartsConfig(config);
-        chartsDataInfo.setChartsStyle(style);
+        chartsDataInfo.setChartsColumnConfig(chartsColumn);
 
         String tableName = chartsUtilService.getSqlStr(token, id);
         if ("".equals(tableName)){
@@ -126,12 +123,18 @@ public class ShowHistogramService {
             //X轴
             //判断是否为日期类型
             if ("time".equals(xColumnType)){
-                xAxisData = timeConverterUtil.timeConverter(xColumn, tableName, xAxisType, screenStr);
+                timeReture = timeConverterUtil.timeConverter(xColumn, tableName, xAxisType, screenStr, 20);
+                xAxisData = timeReture.getValues();
+                chartsDataInfo.setTooMany(timeReture.isOverdose());
                 System.out.println("xA:" + xAxisData);
                 xData = timeConverterUtil.toRespons(xAxisData,xAxisType );
                 System.out.println("data:"+xAxisData);
             }else {
-                xAxisData = showChartsMapper.getXAxis(xColumn, tableName, screenStr);
+                int count = showChartsMapper.getNumForX(xColumn, tableName);
+                if (count > 20){
+                    chartsDataInfo.setTooMany(true);
+                }
+                xAxisData = showChartsMapper.getXAxis(xColumn, tableName, screenStr, 20);
 
             }
             if ("".equals(xAxisData) || xAxisData == null || xAxisData.size() == 0){
@@ -180,7 +183,11 @@ public class ShowHistogramService {
                 //便利分组
                 while (itGroup.hasNext()){
                     String groupByName = (String) itGroup.next(); //每个分组的组名
-                    List<String> groupsData = showChartsMapper.getGroups(groupByName,tableName, screenStr); //查询每个分组系列
+                    int counts = showChartsMapper.getGroupsCount(groupByName,tableName, screen);
+                    if (counts > 20){
+                        chartsDataInfo.setTooMany(true);
+                    }
+                    List<String> groupsData = showChartsMapper.getGroups(groupByName,tableName, screen, 20); //查询每个分组系列
                     System.out.println("groupdata:"+ groupsData.toString());
                     Iterator itGroupsData = groupsData.iterator();
 
@@ -188,9 +195,6 @@ public class ShowHistogramService {
                     while(itGroupsData.hasNext()){
                         Series ne = new Series();
                         String groupsName = (String)itGroupsData.next();
-//                        if (groupsName == null || "".equals(groupsName)){
-//                            continue;
-//                        }
                         ne.setName(groupsName);
                         ne.setStack(groupByName);
 

+ 5 - 13
src/main/java/com/server/ShowIndividualService.java

@@ -2,6 +2,7 @@ package com.server;
 
 import com.dao.ChartsConfigMapper;
 import com.dao.ShowChartsMapper;
+import com.github.pagehelper.PageInfo;
 import com.model.bo.ChartsColumnConfig;
 import com.model.bo.Screen;
 import com.model.bo.ScreenStr;
@@ -48,10 +49,7 @@ public class ShowIndividualService {
         if (chartsColumn == null || "".equals(chartsColumn)){
             return new RepEntity(RepCode.Null);
         }
-        String style = chartsColumn.getChartStyle();
-        String config = chartsColumn.getChartConfig();
-        popAndIndDataInfo.setChartsConfig(config);
-        popAndIndDataInfo.setChartsStyle(style);
+        popAndIndDataInfo.setChartsColumnConfig(chartsColumn);
 
         String tableName = chartsUtilService.getSqlStr(token, id);
         if ("".equals(tableName)){
@@ -70,11 +68,6 @@ public class ShowIndividualService {
                 DynamicDataSourceContextHolder.setDataSourceType(String.valueOf(baseId));
             }
 
-        //取主建名
-//        String tableKey = tableName + "_PK";
-//        String keyName = showChartsMapper.getTableKey(tableName, tableKey);
-//
-//
             //取筛选列表
             List<Screen> screens = individualConfigInfo.getFilters();
             ScreenStr scr = new ScreenStr();
@@ -94,13 +87,13 @@ public class ShowIndividualService {
         System.out.println("columnName:"+columnName);
         //查询其他列
         String columnListName = individualConfigInfo.getColumnListName().toString();
-        String line = String.valueOf(individualConfigInfo.getShowLine() + 1);
         String sort = individualConfigInfo.getSort();
 
         String tableListName = this.getString(columnListName);
 
-        targetValue = showChartsMapper.getOtherData(tableListName, tableName, columnName, sort, line, screenStr);
-        popAndIndDataInfo.setValueList(targetValue);
+        targetValue = showChartsMapper.getOtherData(tableListName, tableName, columnName, sort, screenStr, individualConfigInfo.getTestPage().enablePaging());
+        PageInfo<LinkedHashMap<String, Object>> pageInfo = new PageInfo<>(targetValue);
+        popAndIndDataInfo.setValueList(pageInfo);
     }catch (Exception e){
         e.printStackTrace();
         System.out.println("异常");
@@ -108,7 +101,6 @@ public class ShowIndividualService {
     }finally {
         DynamicDataSourceContextHolder.clearDataSourceType();
     }
-
         return new RepEntity(RepCode.success, popAndIndDataInfo);
     }
 

+ 11 - 6
src/main/java/com/server/ShowLineService.java

@@ -39,6 +39,7 @@ public class ShowLineService {
      */
     public RepEntity showLine(LineConfigInfo lineConfigInfo, String token){
         ChartsDataInfo chartsDataInfo = new ChartsDataInfo();
+        TimeReture timeReture = new TimeReture();
         if (lineConfigInfo == null || "".equals(lineConfigInfo)){
             return new RepEntity(RepCode.Null);
         }
@@ -50,8 +51,7 @@ public class ShowLineService {
         }
         String style = chartsColumn.getChartStyle();
         String config = chartsColumn.getChartConfig();
-        chartsDataInfo.setChartsConfig(config);
-        chartsDataInfo.setChartsStyle(style);
+        chartsDataInfo.setChartsColumnConfig(chartsColumn);
 
 
         String tableName = chartsUtilService.getSqlStr(token, id);
@@ -89,7 +89,6 @@ public class ShowLineService {
         List<LineSeriesMap> value = new ArrayList<LineSeriesMap>();
         List<LineSeries> serieses = new ArrayList<LineSeries>();    //生成柱状图的系列
         List<String> xAxisData = new ArrayList<String>();  //X轴自己用
-//        List<String> xData = new ArrayList<String>();      //X轴前端用
 
             //取筛选列表
             List<Screen> screens = lineConfigInfo.getFilters();
@@ -116,8 +115,9 @@ public class ShowLineService {
 
         //X轴
         //判断是否为日期类型
-            xAxisData = timeConverterUtil.timeConverter(xColumn, tableName, xAxisType, screen);
-//            xData = timeConverterUtil.toRespons(xAxisData,xAxisType );
+            timeReture = timeConverterUtil.timeConverter(xColumn, tableName, xAxisType, screen, 366);
+            xAxisData = timeReture.getValues();
+            chartsDataInfo.setTooMany(timeReture.isOverdose());
 
         if ("".equals(xAxisData) || xAxisData == null || xAxisData.size() == 0){
             return new RepEntity(RepCode.Null);
@@ -159,7 +159,11 @@ public class ShowLineService {
             //便利分组
             while (itGroup.hasNext()){
                 String groupByName = (String) itGroup.next();
-                List<String> groupsData = showChartsMapper.getGroups(groupByName,tableName, screen); //查询每个分组系列
+                int counts = showChartsMapper.getGroupsCount(groupByName,tableName, screen);
+                if (counts > 366){
+                    chartsDataInfo.setTooMany(true);
+                }
+                List<String> groupsData = showChartsMapper.getGroups(groupByName,tableName, screen, 366); //查询每个分组系列
                 Iterator itGroupsData = groupsData.iterator();
 
                 //每个分组得到得每个系列
@@ -201,6 +205,7 @@ public class ShowLineService {
         }
 
         chartsDataInfo.setSerieses(serieses);
+
         }catch (Exception e){
             e.printStackTrace();
             System.out.println("异常");

+ 10 - 6
src/main/java/com/server/ShowPieService.java

@@ -39,6 +39,7 @@ public class ShowPieService {
      */
     public RepEntity showPie(PieConfigInfo pieConfigInfo, String token){
         ChartsDataInfo<PieSeries> chartsDataInfo = new ChartsDataInfo();
+        TimeReture timeReture = new TimeReture();
         if (pieConfigInfo == null || "".equals(pieConfigInfo)){
             return new RepEntity(RepCode.Null);
         }
@@ -48,10 +49,7 @@ public class ShowPieService {
         if (chartsColumn == null || "".equals(chartsColumn)){
             return new RepEntity(RepCode.Null);
         }
-        String style = chartsColumn.getChartStyle();
-        String config = chartsColumn.getChartConfig();
-        chartsDataInfo.setChartsConfig(config);
-        chartsDataInfo.setChartsStyle(style);
+        chartsDataInfo.setChartsColumnConfig(chartsColumn);
         String tableName = chartsUtilService.getSqlStr(token, id);
         if ("".equals(tableName)){
             return new RepEntity(RepCode.NoAuthority);
@@ -115,11 +113,17 @@ public class ShowPieService {
         //X轴
         //判断是否为日期类型
         if ("time".equals(xColumnType)){
-            xAxisData = timeConverterUtil.timeConverter(xColumn, tableName, xAxisType, screen);
+            timeReture = timeConverterUtil.timeConverter(xColumn, tableName, xAxisType, screen, 20);
+            xAxisData = timeReture.getValues();
+            chartsDataInfo.setTooMany(timeReture.isOverdose());
             xData = timeConverterUtil.toRespons(xAxisData,xAxisType );
             System.out.println("data:"+xAxisData);
         }else {
-            xAxisData = showChartsMapper.getXAxis(xColumn, tableName, screenStr);
+            int count = showChartsMapper.getNumForX(xColumn, tableName);
+            if (count > 20){
+                chartsDataInfo.setTooMany(true);
+            }
+            xAxisData = showChartsMapper.getXAxis(xColumn, tableName, screenStr, 20);
 
         }
         if ("".equals(xAxisData) || xAxisData == null || xAxisData.size() == 0){

+ 1 - 2
src/main/java/com/server/ShowPopulationService.java

@@ -44,8 +44,7 @@ public class ShowPopulationService {
         }
         String style = chartsColumn.getChartStyle();
         String config = chartsColumn.getChartConfig();
-        popAndIndDataInfo.setChartsConfig(config);
-        popAndIndDataInfo.setChartsStyle(style);
+        popAndIndDataInfo.setChartsColumnConfig(chartsColumn);
 
         String tableName = chartsUtilService.getSqlStr(token, id);
         if ("".equals(tableName)){

+ 15 - 5
src/main/java/com/server/ShowScatterService.java

@@ -39,6 +39,7 @@ public class ShowScatterService {
      */
     public RepEntity showScatter(ScatterConfigInfo scatterConfigInfo, String token){
         ChartsDataInfo chartsDataInfo = new ChartsDataInfo();
+        TimeReture timeReture = new TimeReture();
         if (scatterConfigInfo == null || "".equals(scatterConfigInfo)){
             return new RepEntity(RepCode.Null);
         }
@@ -50,8 +51,7 @@ public class ShowScatterService {
         }
         String style = chartsColumn.getChartStyle();
         String config = chartsColumn.getChartConfig();
-        chartsDataInfo.setChartsConfig(config);
-        chartsDataInfo.setChartsStyle(style);
+        chartsDataInfo.setChartsColumnConfig(chartsColumn);
 
         String tableName = chartsUtilService.getSqlStr(token, id);
         if ("".equals(tableName)){
@@ -117,11 +117,17 @@ public class ShowScatterService {
         //X轴
         //判断是否为日期类型
         if ("time".equals(xColumnType)){
-            xAxisData = timeConverterUtil.timeConverter(xColumn, tableName, xAxisType, screen);
+            timeReture = timeConverterUtil.timeConverter(xColumn, tableName, xAxisType, screen, 50);
+            xAxisData = timeReture.getValues();
+            chartsDataInfo.setTooMany(timeReture.isOverdose());
             xData = timeConverterUtil.toRespons(xAxisData,xAxisType );
             System.out.println("data:"+xAxisData);
         }else {
-            xAxisData = showChartsMapper.getXAxis(xColumn, tableName, screen);
+                int count = showChartsMapper.getNumForX(xColumn, tableName);
+                if (count > 50){
+                    chartsDataInfo.setTooMany(true);
+                }
+            xAxisData = showChartsMapper.getXAxis(xColumn, tableName, screen, 50);
 
         }
 
@@ -169,7 +175,11 @@ public class ShowScatterService {
             //便利分组
             while (itGroup.hasNext()){
                 String groupByName = (String) itGroup.next();
-                List<String> groupsData = showChartsMapper.getGroups(groupByName,tableName, screen); //查询每个分组系列
+                int counts = showChartsMapper.getGroupsCount(groupByName,tableName, screen);
+                if (counts > 50){
+                    chartsDataInfo.setTooMany(true);
+                }
+                List<String> groupsData = showChartsMapper.getGroups(groupByName,tableName, screen, 50); //查询每个分组系列
                 System.out.println("groupdata:"+ groupsData.toString());
                 Iterator itGroupsData = groupsData.iterator();
 

+ 53 - 8
src/main/java/com/server/TimeConverterUtil.java

@@ -1,6 +1,7 @@
 package com.server;
 
 import com.dao.ShowChartsMapper;
+import com.model.bo.TimeReture;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -17,30 +18,74 @@ public class TimeConverterUtil {
     ShowChartsMapper showChartsMapper;
 
     //x轴时间类型
-    public List<String> timeConverter(String xColumnName, String tableName, String timeType, String screen){
+    public TimeReture timeConverter(String xColumnName, String tableName, String timeType, String screen, int counts){
+        TimeReture timeReture = new TimeReture();
         String timeGroup = "'YYYY-MM-DD'";
         List<String> value = new ArrayList<String>();
         if ("year".equals(timeType)){
             timeGroup = "'YYYY'";
-            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen);
+            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen, counts);
+            timeReture.setValues(value);
         }else if ("month".equals(timeType)){
             timeGroup = "'YYYY-MM'";
-            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen);
+            int count = showChartsMapper.getTimeDateConunt(xColumnName, tableName, timeGroup, screen);
+            if (count > counts){
+                timeReture.setOverdose(false);
+            }else {
+                timeReture.setOverdose(true);
+            }
+            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen, counts);
+            timeReture.setValues(value);
         }else if ("day".equals(timeType) || "".equals(timeType)){
-            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen);
+            int count = showChartsMapper.getTimeDateConunt(xColumnName, tableName, timeGroup, screen);
+            if (count > counts){
+                timeReture.setOverdose(false);
+            }else {
+                timeReture.setOverdose(true);
+            }
+            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen, counts);
+            timeReture.setValues(value);
         }else if ("quarter".equals(timeType)){
             timeGroup = "'YYYY-Q'";
-            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen);
+            int count = showChartsMapper.getTimeDateConunt(xColumnName, tableName, timeGroup, screen);
+            if (count > counts){
+                timeReture.setOverdose(false);
+            }else {
+                timeReture.setOverdose(true);
+            }
+            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen, counts);
+            timeReture.setValues(value);
         }else if ("week".equals(timeType)){
             timeGroup = "'YYYY-WW'";
-            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen);
+            int count = showChartsMapper.getTimeDateConunt(xColumnName, tableName, timeGroup, screen);
+            if (count > counts){
+                timeReture.setOverdose(false);
+            }else {
+                timeReture.setOverdose(true);
+            }
+            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen, counts);
+            timeReture.setValues(value);
         }else if ("halfYear".equals(timeType)){
+            int count = showChartsMapper.getTimeDateConunt(xColumnName, tableName, timeGroup, screen);
+            if (count > counts){
+                timeReture.setOverdose(false);
+            }else {
+                timeReture.setOverdose(true);
+            }
             value = showChartsMapper.getTimeYear(xColumnName, tableName, screen);
+            timeReture.setValues(value);
         }else {
             timeGroup = "'YYYY-MM-DD'";
-            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen);
+            int count = showChartsMapper.getTimeDateConunt(xColumnName, tableName, timeGroup, screen);
+            if (count > counts){
+                timeReture.setOverdose(false);
+            }else {
+                timeReture.setOverdose(true);
+            }
+            value = showChartsMapper.getTimeDate(xColumnName, tableName, timeGroup, screen,counts);
+            timeReture.setValues(value);
         }
-        return value;
+        return timeReture;
     }
 
     //x轴时间类型包装

+ 13 - 3
src/main/java/com/server/UserService.java

@@ -121,9 +121,13 @@ public class UserService {
         Iterator isList = userList.iterator();
         while (isList.hasNext()){
             int userId = (int) isList.next();
-            userMapper.setUserInto(userId, userGroupId);
+            int count = userMapper.getUserCountInGroup(userId, userGroupId);
+            if (count > 0){
+                return new RepEntity(RepCode.UserIn);
+            }else {
+                userMapper.setUserInto(userId, userGroupId);
+            }
         }
-//        userMapper.setUserInto(userGroupSetInfo);
         return new RepEntity(RepCode.success);
     }
 
@@ -139,7 +143,13 @@ public class UserService {
     删除用户组下的用户
      */
     public RepEntity delUserInGroup(UserGroupSetInfo userGroupSetInfo){
-        userMapper.delUserInGroup(userGroupSetInfo);
+        List<Integer> list = userGroupSetInfo.getUserList();
+        int userGroupId = userGroupSetInfo.getUserGroupId();
+        Iterator isList = list.iterator();
+        while (isList.hasNext()){
+            int userId = (int) isList.next();
+            userMapper.delUserInGroup(userId, userGroupId);
+        }
         return new RepEntity(RepCode.success);
     }
 }

+ 25 - 0
src/main/java/com/util/CommonConfiguration.java

@@ -0,0 +1,25 @@
+package com.util;
+
+import com.github.pagehelper.PageHelper;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.Properties;
+
+@Configuration
+public class CommonConfiguration {
+
+    @Bean
+    public PageHelper pageHelper() {
+        PageHelper pageHelper = new PageHelper();
+        Properties p = new Properties();
+        p.setProperty("offsetAsPageNum", "true");
+        p.setProperty("rowBoundsWithCount", "true");
+        p.setProperty("reasonable", "true");
+        p.setProperty("dialect", "oracle");
+        p.setProperty("supportMethodsArguments", "false");
+        p.setProperty("pageSizeZero", "true");
+        pageHelper.setProperties(p);
+        return pageHelper;
+    }
+}

+ 3 - 3
src/main/java/com/util/GetTokenData.java

@@ -25,10 +25,10 @@ public class GetTokenData {
             e.printStackTrace();
         }
 
-        try {
+        try{
             jwt = verifier.verify(token);
-        } catch (Exception e) {
-            throw new RuntimeException("登录凭证已过期,请重新登录");
+        }catch (MyException e){
+            throw new MyException(-505, "token过期");
         }
         Map<String, Claim> claimMap = jwt.getClaims();
         Map<String, String> resultMap = Maps.newHashMap();

+ 52 - 42
src/main/java/com/util/GlobalException.java

@@ -1,42 +1,52 @@
-//package com.util;
-//
-//import org.apache.ibatis.binding.BindingException;
-//import org.springframework.web.bind.annotation.ControllerAdvice;
-//import org.springframework.web.bind.annotation.ExceptionHandler;
-//import org.springframework.web.bind.annotation.ResponseBody;
-//
-//import javax.management.OperationsException;
-//import java.util.HashMap;
-//import java.util.Map;
-//
-//@ControllerAdvice
-//public class GlobalException {
-//    @ExceptionHandler(RuntimeException.class)
-//    @ResponseBody
-//    public Map<String, Object> exceptionHandle(){
-//        Map<String, Object> result = new HashMap<String, Object>();
-//        result.put("code" , "502");
-//        result.put("msg" , "系统出错啦");
-//        return result;
-//    }
-//
-//    @ExceptionHandler(OperationsException.class)
-//    @ResponseBody
-//    public Map<String, Object> operationsException(){
-//        Map<String, Object> result = new HashMap<String, Object>();
-//        result.put("code" , "-503");
-//        result.put("msg" , "权限不足");
-//        return result;
-//    }
-//
-//
-//    @ExceptionHandler(BindingException.class)
-//    @ResponseBody
-//    public Map<String, Object> BindingException(){
-//        Map<String, Object> result = new HashMap<String, Object>();
-//        result.put("code" , "-504");
-//        result.put("msg" , "数据为空");
-//        return result;
-//    }
-//
-//}
+package com.util;
+
+import com.auth0.jwt.exceptions.InvalidClaimException;
+import org.apache.ibatis.binding.BindingException;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.management.OperationsException;
+import java.util.HashMap;
+import java.util.Map;
+
+@ControllerAdvice
+public class GlobalException {
+    @ExceptionHandler(RuntimeException.class)
+    @ResponseBody
+    public Map<String, Object> exceptionHandle(){
+        Map<String, Object> result = new HashMap<String, Object>();
+        result.put("code" , "-502");
+        result.put("msg" , "服务器异常");
+        return result;
+    }
+
+    @ExceptionHandler(OperationsException.class)
+    @ResponseBody
+    public Map<String, Object> operationsException(){
+        Map<String, Object> result = new HashMap<String, Object>();
+        result.put("code" , "-503");
+        result.put("msg", "权限不足");
+        return result;
+    }
+
+
+    @ExceptionHandler(BindingException.class)
+    @ResponseBody
+    public Map<String, Object> BindingException(){
+        Map<String, Object> result = new HashMap<String, Object>();
+        result.put("code" , "-504");
+        result.put("msg" , "数据为空");
+        return result;
+    }
+
+    @ExceptionHandler(InvalidClaimException.class)
+    @ResponseBody
+    public Map<String, Object> InvalidClaimException(){
+        Map<String, Object> result = new HashMap<String, Object>();
+        result.put("code" , "-505");
+        result.put("msg" , "token过期");
+        return result;
+    }
+
+}

+ 12 - 5
src/main/java/com/util/JwtTokenUtil.java

@@ -78,20 +78,27 @@ public class JwtTokenUtil {
     //解密
     @Before("CheckToken()")
     @Order(1)
-    public static Map<String, Claim> verifyToken(JoinPoint joinPoint) throws Exception {
+    public static Map<String, Claim> verifyToken(JoinPoint joinPoint) {
         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();
-
+        JWTVerifier verifier = null;
         try {
+            verifier = JWT.require(Algorithm.HMAC256(SECRET)).build();
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        try{
             jwt = verifier.verify(token);
-        } catch (Exception e) {
-            throw new OperationsException("登录凭证已过期,请重新登录");
+        }catch (MyException e){
+            throw new MyException(-505, "token过期");
         }
+
+
+
         return jwt.getClaims();
     }
 }

+ 113 - 0
src/main/java/com/util/MyException.java

@@ -0,0 +1,113 @@
+package com.util;
+
+public class MyException extends RuntimeException{
+    /**
+     * 错误编码
+     * */
+    private int code;
+
+   /**
+    * * 消息是否为属性文件中的Key
+    * */
+   private boolean propertiesKey = true;
+
+    /**
+    * 构造一个基本异常.
+     *
+     * @param msg
+     *            信息描述
+      */
+    public MyException(String msg)
+    {
+        super(msg);
+    }
+
+    /**
+  * 构造一个基本异常.
+ *
+   * @param code
+   *            错误编码
+   * @param msg
+   *            信息描述
+   */
+    public MyException(int code, String msg)
+    {
+      this(code, msg, true);
+    }
+
+  /**
+  * 构造一个基本异常.
+   *
+    * @param code
+    *            错误编码
+   * @param msg
+ *            信息描述
+   */
+  public MyException(int code, String msg, Throwable cause)
+ {
+     this(code, msg, cause, true);
+  }
+
+    /**
+   * 构造一个基本异常.
+ *
+  * @param code
+  *            错误编码
+   * @param msg
+  *            信息描述
+  * @param propertiesKey
+  *            消息是否为属性文件中的Key
+  */
+ public MyException(int code, String msg, boolean propertiesKey)
+{
+      super(msg);
+      this.setCode(code);
+      this.setPropertiesKey(propertiesKey);
+}
+
+   /**
+   * 构造一个基本异常.
+    *
+    * @param code
+    *            错误编码
+   * @param msg
+   *            信息描述
+   */
+  public MyException(int code, String msg, Throwable cause, boolean propertiesKey)
+  {
+      super(msg, cause);
+     this.setCode(code);
+     this.setPropertiesKey(propertiesKey);
+   }
+
+  /**
+  * 构造一个基本异常.
+    *
+    * @param msg
+   *            信息描述
+     * @param cause
+    *            根异常类(可以存入任何异常)
+  */
+  public MyException(String msg, Throwable cause)
+  {
+     super(msg, cause);
+   }
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public boolean isPropertiesKey()
+   {
+      return propertiesKey;
+  }
+
+   public void setPropertiesKey(boolean propertiesKey)
+  {
+       this.propertiesKey = propertiesKey;
+   }
+}

+ 2 - 1
src/main/resources/application.properties

@@ -60,8 +60,9 @@ pagehelper-support-methods-arguments=true
 pagehelper-params=count=countSql
 
 #mybatis.typeAliasesPackage=com.model.po
-##mybatis.configlocations=classpath:config/mybatis-config.xml
+#mybatis.config-locations=classpath:mybatis-config.xml
 #mybatis.mapperLocations=classpath:config/dao/*.xml
+mybatis.configuration.callSettersOnNulls=true
 
 
 server.port=8011

+ 3 - 0
src/main/resources/config/mybatis-config.xml

@@ -8,6 +8,9 @@
         <typeAlias alias="LinkedList" type="java.util.LinkedList" />
     </typeAliases>
 
+    <settings>
+        <setting name="callSettersOnNulls" value="true"/>
+    </settings>
     <!-- mapping 文件路径配置 -->
     <!--<mappers>-->
         <!--<mapper resource="config/dao/DataConnectorMapper.xml" />-->