diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbCode.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbCode.java index 7e80fdc6..de0ab2aa 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbCode.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbCode.java @@ -11,7 +11,7 @@ import lombok.Data; public class GbCode { @Schema(description = "中心编码,由监控中心所在地的行政区划代码确定,符合GB/T2260—2007的要求") - private String civilCode; + private String centerCode; @Schema(description = "行业编码") private String industryCode; @@ -34,7 +34,7 @@ public class GbCode { } code = code.trim(); GbCode gbCode = new GbCode(); - gbCode.setCivilCode(code.substring(0, 8)); + gbCode.setCenterCode(code.substring(0, 8)); gbCode.setIndustryCode(code.substring(9, 10)); gbCode.setTypeCode(code.substring(11, 13)); gbCode.setNetCode(code.substring(14, 15)); @@ -43,6 +43,6 @@ public class GbCode { } public String ecode(){ - return civilCode + industryCode + typeCode + netCode + sn; + return centerCode + industryCode + typeCode + netCode + sn; } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/CommonChannelController.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/CommonChannelController.java index daf97d31..70f7ec44 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/CommonChannelController.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/CommonChannelController.java @@ -94,11 +94,12 @@ public class CommonChannelController { public PageInfo queryList(int page, int count, @RequestParam(required = false) String query, @RequestParam(required = false) Boolean online, - @RequestParam(required = false) Boolean hasCivilCode){ + @RequestParam(required = false) Boolean hasCivilCode, + @RequestParam(required = false) Boolean hasGroup){ if (ObjectUtils.isEmpty(query)){ query = null; } - return channelService.queryList(page, count, query, online, hasCivilCode); + return channelService.queryList(page, count, query, online, hasCivilCode, hasGroup); } @Operation(summary = "通道设置行政区划", security = @SecurityRequirement(name = JwtUtils.HEADER)) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/GroupController.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/GroupController.java index ff93d8bf..d04b3980 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/GroupController.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/GroupController.java @@ -73,21 +73,21 @@ public class GroupController { } } - @Operation(summary = "根据分组Id查询分组") - @Parameter(name = "groupDeviceId", description = "分组节点编号", required = true) - @ResponseBody - @GetMapping("/one") - public Group queryGroupByDeviceId( - @RequestParam(required = true) String deviceId - ){ - Assert.hasLength(deviceId, ""); - return groupService.queryGroupByDeviceId(deviceId); - } +// @Operation(summary = "根据分组Id查询分组") +// @Parameter(name = "groupDeviceId", description = "分组节点编号", required = true) +// @ResponseBody +// @GetMapping("/one") +// public Group queryGroupByDeviceId( +// @RequestParam(required = true) String deviceId +// ){ +// Assert.hasLength(deviceId, ""); +// return groupService.queryGroupByDeviceId(deviceId); +// } - @Operation(summary = "从通道中同步分组") - @ResponseBody - @GetMapping("/sync") - public void sync(){ - groupService.syncFromChannel(); - } +// @Operation(summary = "从通道中同步分组") +// @ResponseBody +// @GetMapping("/sync") +// public void sync(){ +// groupService.syncFromChannel(); +// } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java index b11c8b35..4d70ce54 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/CommonGBChannelMapper.java @@ -305,7 +305,9 @@ public interface CommonGBChannelMapper { CommonGBChannel queryByStreamProxyId(@Param("streamProxyId") Integer streamProxyId); @SelectProvider(type = ChannelProvider.class, method = "queryList") - List queryList(@Param("query") String query, @Param("online") Boolean online, @Param("hasCivilCode") Boolean hasCivilCode); + List queryList(@Param("query") String query, @Param("online") Boolean online, + @Param("hasCivilCode") Boolean hasCivilCode, + @Param("hasGroup") Boolean hasGroup); @Select("") List queryBusinessGroupForTree(String query, Integer platformId); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/provider/ChannelProvider.java b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/provider/ChannelProvider.java index 83704e87..232011ef 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/dao/provider/ChannelProvider.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/dao/provider/ChannelProvider.java @@ -94,6 +94,12 @@ public class ChannelProvider { if (params.get("hasCivilCode") != null && !(Boolean)params.get("hasCivilCode")) { sqlBuild.append(" AND gb_civil_code is null"); } + if (params.get("hasGroup") != null && (Boolean)params.get("hasGroup")) { + sqlBuild.append(" AND gb_business_group_id is not null"); + } + if (params.get("hasGroup") != null && !(Boolean)params.get("hasGroup")) { + sqlBuild.append(" AND gb_business_group_id is null"); + } return sqlBuild.toString(); } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/IGbChannelService.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/IGbChannelService.java index 043d649e..74e6c937 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/IGbChannelService.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/IGbChannelService.java @@ -42,7 +42,7 @@ public interface IGbChannelService { void reset(int id); - PageInfo queryList(int page, int count, String query, Boolean online, Boolean hasCivilCode); + PageInfo queryList(int page, int count, String query, Boolean online, Boolean hasCivilCode, Boolean hasGroup); void removeCivilCode(List allChildren); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java index 0089e01c..275c1428 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelServiceImpl.java @@ -322,9 +322,10 @@ public class GbChannelServiceImpl implements IGbChannelService { } @Override - public PageInfo queryList(int page, int count, String query, Boolean online, Boolean hasCivilCode) { + public PageInfo queryList(int page, int count, String query, Boolean online, Boolean hasCivilCode, + Boolean hasGroup) { PageHelper.startPage(page, count); - List all = commonGBChannelMapper.queryList(query, online, hasCivilCode); + List all = commonGBChannelMapper.queryList(query, online, hasCivilCode, hasGroup); return new PageInfo<>(all); } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GroupServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GroupServiceImpl.java index 3144f027..fe00dd1d 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GroupServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GroupServiceImpl.java @@ -1,14 +1,15 @@ package com.genersoft.iot.vmp.gb28181.service.impl; -import com.genersoft.iot.vmp.common.CivilCodePo; -import com.genersoft.iot.vmp.gb28181.bean.*; +import com.genersoft.iot.vmp.gb28181.bean.CommonGBChannel; +import com.genersoft.iot.vmp.gb28181.bean.GbCode; +import com.genersoft.iot.vmp.gb28181.bean.Group; +import com.genersoft.iot.vmp.gb28181.bean.GroupTree; import com.genersoft.iot.vmp.gb28181.dao.CommonGBChannelMapper; import com.genersoft.iot.vmp.gb28181.dao.GroupMapper; import com.genersoft.iot.vmp.gb28181.event.EventPublisher; import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent; import com.genersoft.iot.vmp.gb28181.service.IGbChannelService; import com.genersoft.iot.vmp.gb28181.service.IGroupService; -import com.genersoft.iot.vmp.utils.CivilCodeUtil; import com.genersoft.iot.vmp.utils.DateUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -17,7 +18,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import org.springframework.util.ObjectUtils; -import java.util.*; +import java.util.List; /** * 区域管理类 @@ -149,45 +150,7 @@ public class GroupServiceImpl implements IGroupService { @Override public void syncFromChannel() { - // 获取未初始化的业务分组 - List civilCodeList = regionMapper.getUninitializedCivilCode(); - if (civilCodeList.isEmpty()) { - return; - } - List regionList = new ArrayList<>(); - // 收集节点的父节点,用于验证哪些节点的父节点不存在,方便一并存入 - Map regionMapForVerification = new HashMap<>(); - civilCodeList.forEach(civilCode->{ - CivilCodePo civilCodePo = CivilCodeUtil.INSTANCE.getCivilCodePo(civilCode); - if (civilCodePo != null) { - Region region = Region.getInstance(civilCodePo); - regionList.add(region); - // 获取全部的父节点 - List civilCodePoList = CivilCodeUtil.INSTANCE.getAllParentCode(civilCode); - if (!civilCodePoList.isEmpty()) { - for (CivilCodePo codePo : civilCodePoList) { - regionMapForVerification.put(codePo.getCode(), Region.getInstance(codePo)); - } - } - } - }); - if (regionList.isEmpty()){ - return; - } - if (!regionMapForVerification.isEmpty()) { - // 查询数据库中已经存在的. - List civilCodesInDb = regionMapper.queryInList(regionMapForVerification.keySet()); - if (!civilCodesInDb.isEmpty()) { - for (String code : civilCodesInDb) { - regionMapForVerification.remove(code); - } - } - } - for (Region region : regionList) { - regionMapForVerification.put(region.getDeviceId(), region); - } - regionMapper.batchAdd(new ArrayList<>(regionMapForVerification.values())); } @Override diff --git a/web_src/src/components/common/GroupTree.vue b/web_src/src/components/common/GroupTree.vue index d735ec4a..8d89c93d 100755 --- a/web_src/src/components/common/GroupTree.vue +++ b/web_src/src/components/common/GroupTree.vue @@ -36,20 +36,20 @@ - + diff --git a/web_src/src/components/group.vue b/web_src/src/components/group.vue index 145b0528..a857b097 100755 --- a/web_src/src/components/group.vue +++ b/web_src/src/components/group.vue @@ -21,7 +21,7 @@ 添加状态: - @@ -64,8 +64,8 @@ @@ -103,7 +103,7 @@ export default { searchSrt: "", channelType: "", online: "", - hasCivilCode: "false", + hasGroup: "false", winHeight: window.innerHeight - 180, currentPage: 1, count: 15, @@ -140,7 +140,7 @@ export default { count: this.count, query: this.searchSrt, online: this.online, - hasCivilCode: this.hasCivilCode + hasGroup: this.hasGroup } }).then((res)=> { if (res.data.code === 0) { diff --git a/web_src/src/router/index.js b/web_src/src/router/index.js index a87d747e..f786c71a 100755 --- a/web_src/src/router/index.js +++ b/web_src/src/router/index.js @@ -24,6 +24,7 @@ import userApiKeyManager from '../components/UserApiKeyManager.vue' import wasmPlayer from '../components/common/jessibuca.vue' import rtcPlayer from '../components/dialog/rtcPlayer.vue' import region from '../components/region.vue' +import group from '../components/group.vue' const originalPush = VueRouter.prototype.push VueRouter.prototype.push = function push(location) { @@ -136,6 +137,11 @@ export default new VueRouter({ path: '/channel/region', name: 'region', component: region, + }, + { + path: '/channel/group', + name: 'group', + component: group, } , ]