重新分组redis同步功能
This commit is contained in:
@@ -5,10 +5,6 @@ import lombok.Data;
|
||||
@Data
|
||||
public class RedisGroupMessage {
|
||||
|
||||
/**
|
||||
* 分组国标ID
|
||||
*/
|
||||
private String groupGbId;
|
||||
|
||||
/**
|
||||
* 分组别名
|
||||
@@ -20,26 +16,12 @@ public class RedisGroupMessage {
|
||||
*/
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 分组所属的行政区划
|
||||
*/
|
||||
private String groupCivilCode;
|
||||
|
||||
/**
|
||||
* 分组所属父分组国标ID
|
||||
*/
|
||||
private String parentGroupGbId;
|
||||
|
||||
/**
|
||||
* 分组所属父分组别名
|
||||
*/
|
||||
private String parentGAlias;
|
||||
|
||||
/**
|
||||
* 分组所属业务分组国标ID
|
||||
*/
|
||||
private String topGroupGbId;
|
||||
|
||||
/**
|
||||
* 分组所属业务分组别名
|
||||
*/
|
||||
@@ -54,13 +36,9 @@ public class RedisGroupMessage {
|
||||
@Override
|
||||
public String toString() {
|
||||
return "RedisGroupMessage{" +
|
||||
"groupGbId='" + groupGbId + '\'' +
|
||||
", groupAlias='" + groupAlias + '\'' +
|
||||
", groupName='" + groupName + '\'' +
|
||||
", groupCivilCode='" + groupCivilCode + '\'' +
|
||||
", parentGroupGbId='" + parentGroupGbId + '\'' +
|
||||
", parentGAlias='" + parentGAlias + '\'' +
|
||||
", topGroupGbId='" + topGroupGbId + '\'' +
|
||||
", topGroupGAlias='" + topGroupGAlias + '\'' +
|
||||
'}';
|
||||
}
|
||||
|
||||
@@ -320,4 +320,19 @@ public interface GroupMapper {
|
||||
" GROUP BY coalesce(wdc.gb_parent_id, wdc.parent_id)" +
|
||||
"</script>")
|
||||
List<CameraCount> queryCountWithChild(List<CameraGroup> groupList);
|
||||
|
||||
@Select("SELECT * from wvp_common_group where alias is not null")
|
||||
@MapKey("alias")
|
||||
Map<String, Group> queryGroupByAliasMap();
|
||||
|
||||
@Delete("DELETE FROM wvp_common_group where alias is not null")
|
||||
void deleteHasAlias();
|
||||
|
||||
@Update(" UPDATE wvp_common_group g1" +
|
||||
" JOIN wvp_common_group g2" +
|
||||
" ON g1.parent_device_id = g2.device_id" +
|
||||
" SET g1.parent_id = g2.id" +
|
||||
" WHERE g1.alias IS NOT NULL;")
|
||||
void fixParentId();
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,9 @@ import com.genersoft.iot.vmp.gb28181.bean.Group;
|
||||
import com.genersoft.iot.vmp.gb28181.bean.GroupTree;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
public interface IGroupService {
|
||||
@@ -31,4 +33,7 @@ public interface IGroupService {
|
||||
|
||||
void sync();
|
||||
|
||||
Map<String, Group> queryGroupByAliasMap();
|
||||
|
||||
void saveByAlias(Collection<Group> groups);
|
||||
}
|
||||
|
||||
@@ -331,4 +331,20 @@ public class GroupServiceImpl implements IGroupService, CommandLineRunner {
|
||||
throw new ControllerException(ErrorCode.ERROR100.getCode(), "同步失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Group> queryGroupByAliasMap() {
|
||||
return groupManager.queryGroupByAliasMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void saveByAlias(Collection<Group> groups) {
|
||||
// 清空别名数据
|
||||
groupManager.deleteHasAlias();
|
||||
// 写入新数据
|
||||
groupManager.batchAdd(new ArrayList<>(groups));
|
||||
// 修复数据丢失的parentID
|
||||
groupManager.fixParentId();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user