支持从第三方同步分组信息

This commit is contained in:
lin
2025-09-27 21:03:20 +08:00
parent 4280a1d08e
commit 77594dae3d
15 changed files with 576 additions and 20 deletions

View File

@@ -58,12 +58,19 @@ public class Group implements Comparable<Group>{
*/
@Schema(description = "更新时间")
private String updateTime;
/**
* 行政区划
*/
@Schema(description = "行政区划")
private String civilCode;
/**
* 别名
*/
@Schema(description = "别名, 此别名为唯一值可以对接第三方是存储对方的ID")
private String alias;
public static Group getInstance(DeviceChannel channel) {
GbCode gbCode = GbCode.decode(channel.getDeviceId());
if (gbCode == null || (!gbCode.getTypeCode().equals("215") && !gbCode.getTypeCode().equals("216"))) {

View File

@@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.gb28181.bean;
import com.alibaba.fastjson2.JSON;
import lombok.Data;
@Data
@@ -36,13 +35,33 @@ public class RedisGroupMessage {
*/
private String parentGAlias;
/**
* 分组所属业务分组国标ID
*/
private String topGroupGbId;
public static void main(String[] args) {
RedisGroupMessage redisGroupMessage = new RedisGroupMessage();
redisGroupMessage.setGroupAlias("100000001");
redisGroupMessage.setGroupName("消防大队");
System.out.println(JSON.toJSONString(redisGroupMessage));
/**
* 分组所属业务分组别名
*/
private String topGroupGAlias;
/**
* 分组变化消息中的消息类型,取值为 add update delete
*/
private String messageType;
@Override
public String toString() {
return "RedisGroupMessage{" +
"groupGbId='" + groupGbId + '\'' +
", groupAlias='" + groupAlias + '\'' +
", groupName='" + groupName + '\'' +
", groupCivilCode='" + groupCivilCode + '\'' +
", parentGroupGbId='" + parentGroupGbId + '\'' +
", parentGAlias='" + parentGAlias + '\'' +
", topGroupGbId='" + topGroupGbId + '\'' +
", topGroupGAlias='" + topGroupGAlias + '\'' +
'}';
}
}

View File

@@ -286,4 +286,7 @@ public interface GroupMapper {
@Delete("DELETE FROM wvp_platform_group WHERE group_id = #{groupId}")
void deletePlatformGroup(@Param("groupId") int groupId);
@Select("SELECT * from wvp_common_group WHERE alias = #{alias} ")
Group queryGroupByAlias(@Param("alias") String alias);
}

View File

@@ -17,8 +17,6 @@ public interface IGroupService {
List<GroupTree> queryForTree(String query, Integer parent, Boolean hasChannel);
void syncFromChannel();
boolean delete(int id);
boolean batchAdd(List<Group> groupList);
@@ -26,4 +24,6 @@ public interface IGroupService {
List<Group> getPath(String deviceId, String businessGroup);
PageInfo<Group> queryList(Integer page, Integer count, String query);
Group queryGroupByAlias(String groupAlias);
}

View File

@@ -186,11 +186,6 @@ public class GroupServiceImpl implements IGroupService {
return groupTrees;
}
@Override
public void syncFromChannel() {
}
@Override
@Transactional
public boolean delete(int id) {
@@ -307,4 +302,9 @@ public class GroupServiceImpl implements IGroupService {
List<Group> all = groupManager.query(query, null, null);
return new PageInfo<>(all);
}
@Override
public Group queryGroupByAlias(String groupAlias) {
return groupManager.queryGroupByAlias(groupAlias);
}
}