فهرست منبع

数据源分组接口调整

chenw 6 سال پیش
والد
کامیت
0665b70b78

+ 14 - 0
bi-server/src/main/java/com/usoftchina/bi/server/controller/dataSource/DataConnectorController.java

@@ -130,6 +130,20 @@ public class DataConnectorController {
         return dataConnectorService.setDataConnectorGroup(body);
     }
 
+    /**
+     * 批量更新数据源分组
+     * @param token
+     * @param groupInfoList
+     * @return
+     */
+    @ApiOperation(value = "批量更新数据源分组", notes = "批量更新数据源分组", response = RepEntity.class)
+    @CheckToken
+    @PostMapping("/batchUpdateConnectorGroup")
+    @Auth(user = "admin")
+    public RepEntity saveConnectorGroups(@RequestHeader String token, @RequestBody List<GroupInfo> groupInfoList){
+        return dataConnectorService.saveConnectorGroups(groupInfoList);
+    }
+
     /*
     更新数据源分组
      */

+ 45 - 0
bi-server/src/main/java/com/usoftchina/bi/server/dao/dataSource/DataConnectorMapper.java

@@ -240,6 +240,51 @@ public interface DataConnectorMapper {
     @Delete("delete from bi_base_group_by where bb_id = #{id}")
     void delConnectorGroup(Long id);
 
+    @Insert("<script>"
+            + "INSERT INTO BI_BASE_GROUP_BY(BB_ID, BB_GROUP_NAME, BB_INDEX, BB_FATHER_ID, CREATE_DATE)"
+            + "("
+            + "<foreach collection=\"list\" item=\"item\" index=\"index\" separator=\"union all\">"
+            +   "SELECT "
+            +   "BI_BASE_GROUP_BY_SEQUENCE.NEXTVAL,"
+            +   "#{item.groupName, jdbcType=VARCHAR},"
+            +   "#{item.groupIndex, jdbcType=INTEGER},"
+            +   "#{item.fatherId, jdbcType=INTEGER},"
+            +   "SYSDATE "
+            +   "FROM DUAL"
+            + "</foreach>"
+            + ")"
+            + "</script>")
+    void batchInsertDataConnector(@Param("list") List<GroupInfo> groupInfoList);
+
+    @Update(" <script>"
+            + "BEGIN"
+            +   "<foreach collection=\"list\" item=\"item\" index=\"index\" separator=\";\">"
+            +       "UPDATE BI_BASE_GROUP_BY "
+            +       "<set>"
+            +       "<if test=\"item.groupName != null\">"
+            +           "BB_GROUP_NAME = #{item.groupName, jdbcType=VARCHAR},"
+            +       "</if>"
+            +       "<if test=\"item.groupIndex != null\">"
+            +           "BB_INDEX = #{item.groupIndex, jdbcType=VARCHAR},"
+            +       "</if>"
+            +       "<if test=\"item.fatherId != null\">"
+            +           "BB_FATHER_ID = #{item.fatherId, jdbcType=INTEGER},"
+            +       "</if>"
+            +       "UPDATA_DATE = SYSDATE"
+            +       "</set>"
+            +       "WHERE BB_ID = #{item.id, jdbcType=INTEGER}"
+            +   "</foreach>"
+            + ";END;"
+            + "</script>")
+    void batchUpdateDataConnector(@Param("list") List<GroupInfo> groupInfoList);
+
+    @Delete(" <script>"
+            + "DELETE FROM BI_BASE_GROUP_BY WHERE BB_ID IN"
+            + "<foreach collection=\"list\" item=\"item\" index=\"index\" open=\"(\" close=\")\" separator=\",\">"
+            +   "#{item.id, jdbcType=INTEGER}"
+            + "</foreach>"
+            + "</script>")
+    void batchDeleteDataConnector(@Param("list") List<GroupInfo> groupInfoList);
     /*
     查询分组是否有子分组
      */

+ 12 - 0
bi-server/src/main/java/com/usoftchina/bi/server/model/vo/configVo/GroupInfo.java

@@ -14,6 +14,18 @@ public class GroupInfo {
     private String createBy;
     private Date createDate;
     private Date updataDate;
+    /**
+     * 操作类型: add   delete  update
+     */
+    private String operate;
+
+    public String getOperate() {
+        return operate;
+    }
+
+    public void setOperate(String operate) {
+        this.operate = operate;
+    }
 
     public int getId() {
         return id;

+ 0 - 2
bi-server/src/main/java/com/usoftchina/bi/server/service/dataSource/DataBasesService.java

@@ -109,9 +109,7 @@ public class DataBasesService {
         //更新
         dataConnectorMapper.updatabases(databases);
         DatabasesInfo databasesInfo1 = dataConnectorMapper.getDatabases(databasesInfo.getId());
-        LOGGER.info("执行完更新和查询");
         addDataSource(databasesInfo1);
-        LOGGER.info("方法执行完毕,返回给前端RepEntity");
         return new RepEntity(RepCode.success);
     }
 

+ 32 - 0
bi-server/src/main/java/com/usoftchina/bi/server/service/dataSource/DataConnectorService.java

@@ -33,6 +33,7 @@ import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.dao.DataAccessException;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -246,6 +247,37 @@ public class DataConnectorService {
         return new RepEntity(RepCode.success, id);
     }
 
+    /**
+     * 批量更新数据源分组
+     * @param groupInfoList
+     * @return
+     */
+    @Transactional
+    public RepEntity saveConnectorGroups(List<GroupInfo> groupInfoList) {
+        List<GroupInfo> addGroupInfoList = new ArrayList<>();
+        List<GroupInfo> deleteGroupInfoList = new ArrayList<>();
+        List<GroupInfo> updateGroupInfoList = new ArrayList<>();
+        groupInfoList.forEach(groupInfo -> {
+            if ("add".equals(groupInfo.getOperate())) {
+                addGroupInfoList.add(groupInfo);
+            }else if ("delete".equals(groupInfo.getOperate())) {
+                deleteGroupInfoList.add(groupInfo);
+            }else if ("update".equals(groupInfo.getOperate())) {
+                updateGroupInfoList.add(groupInfo);
+            }
+        });
+        if (addGroupInfoList.size() > 0) {
+            dataConnectorMapper.batchInsertDataConnector(addGroupInfoList);
+        }
+        if (updateGroupInfoList.size() > 0) {
+            dataConnectorMapper.batchUpdateDataConnector(updateGroupInfoList);
+        }
+        if (deleteGroupInfoList.size() > 0) {
+            dataConnectorMapper.batchDeleteDataConnector(deleteGroupInfoList);
+        }
+        return new RepEntity(RepCode.success);
+    }
+
     /*
     更新数据源分组
      */