1.同步大华平台设备 组织架构信息
parent
00de04fd98
commit
81740090b4
|
|
@ -8,6 +8,8 @@ import com.zcloud.primeport.domain.model.DaHuaCarPageCmd;
|
|||
import com.zcloud.primeport.domain.model.DaHuaPersonSyncCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaCarDeleteCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaPersonDeleteCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaResourceSyncCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.DaHuaResourceSyncResultCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -15,6 +17,7 @@ import org.springframework.validation.annotation.Validated;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@Api(tags = "大华平台对接")
|
||||
@RequestMapping("/${application.gateway}/dahua")
|
||||
|
|
@ -105,4 +108,14 @@ public class DaHuaController {
|
|||
}
|
||||
return daHuaService.deletePerson(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation("同步大华部门、企业映射和门口设备")
|
||||
@PostMapping("/resource/sync")
|
||||
public SingleResponse<DaHuaResourceSyncResultCO> syncResources(
|
||||
@Valid @RequestBody(required = false) DaHuaResourceSyncCmd cmd) {
|
||||
if (daHuaService == null) {
|
||||
throw new RuntimeException("大华服务未配置");
|
||||
}
|
||||
return daHuaService.syncResources(cmd);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,9 +7,13 @@ import com.zcloud.primeport.domain.model.DaHuaAccessRecordCmd;
|
|||
import com.zcloud.primeport.domain.model.DaHuaCarAddCmd;
|
||||
import com.zcloud.primeport.domain.model.DaHuaCarPageCmd;
|
||||
import com.zcloud.primeport.domain.model.DaHuaPersonSyncCmd;
|
||||
import com.zcloud.primeport.domain.model.DaHuaResourceSyncResultE;
|
||||
import com.zcloud.primeport.dto.DaHuaCarDeleteCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaPersonDeleteCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaResourceSyncCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.DaHuaResourceSyncResultCO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
|
|
@ -20,6 +24,9 @@ public class DaHuaServiceImpl implements DaHuaServiceI {
|
|||
@Autowired
|
||||
private DaHuaGateway daHuaGateway;
|
||||
|
||||
@Autowired
|
||||
private DaHuaResourceSyncApplicationService daHuaResourceSyncApplicationService;
|
||||
|
||||
@Override
|
||||
public SingleResponse<Long> generatePersonId() {
|
||||
Long id = daHuaGateway.generatePersonId();
|
||||
|
|
@ -196,4 +203,16 @@ public class DaHuaServiceImpl implements DaHuaServiceI {
|
|||
System.out.println("大华门禁事件查询最终返回 - success:" + resp.isSuccess() + ", errCode:" + resp.getErrCode() + ", errMessage:" + resp.getErrMessage() + ", data:" + (dhData != null ? "已返回数据" : "null"));
|
||||
return resp;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<DaHuaResourceSyncResultCO> syncResources(DaHuaResourceSyncCmd cmd) {
|
||||
DaHuaResourceSyncCmd actualCmd = cmd == null ? new DaHuaResourceSyncCmd() : cmd;
|
||||
int pageSize = actualCmd.getPageSize() == null ? 200 : actualCmd.getPageSize();
|
||||
boolean autoMatchByName = actualCmd.getAutoMatchByName() == null || actualCmd.getAutoMatchByName();
|
||||
DaHuaResourceSyncResultE result = daHuaResourceSyncApplicationService.sync(
|
||||
pageSize, actualCmd.getSubsystem(), autoMatchByName);
|
||||
DaHuaResourceSyncResultCO data = new DaHuaResourceSyncResultCO();
|
||||
BeanUtils.copyProperties(result, data);
|
||||
return SingleResponse.of(data);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ import com.zcloud.primeport.domain.model.DaHuaCarPageCmd;
|
|||
import com.zcloud.primeport.domain.model.DaHuaPersonSyncCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaCarDeleteCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaPersonDeleteCmd;
|
||||
import com.zcloud.primeport.dto.DaHuaResourceSyncCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.DaHuaResourceSyncResultCO;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -30,4 +32,6 @@ public interface DaHuaServiceI {
|
|||
SingleResponse<Boolean> deleteCar(DaHuaCarDeleteCmd cmd);
|
||||
|
||||
SingleResponse<Map<String, Object>> queryAccessRecord(DaHuaAccessRecordCmd cmd);
|
||||
}
|
||||
|
||||
SingleResponse<DaHuaResourceSyncResultCO> syncResources(DaHuaResourceSyncCmd cmd);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import org.springframework.context.annotation.Bean;
|
|||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
@EnableConfigurationProperties(DaHuaProperties.class)
|
||||
@EnableConfigurationProperties({DaHuaProperties.class, DaHuaResourceProperties.class})
|
||||
public class DaHuaAutoConfig {
|
||||
|
||||
@Bean("dahuaApiOauthConfig")
|
||||
|
|
@ -41,4 +41,4 @@ public class DaHuaAutoConfig {
|
|||
}
|
||||
return new DaHuaApiClient(oauthConfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -327,4 +327,74 @@ CREATE TABLE `video` (
|
|||
`update_id` bigint DEFAULT NULL COMMENT '修改人id',
|
||||
`env` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='摄像头表';
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='摄像头表';
|
||||
|
||||
CREATE TABLE `dahua_department_corp_mapping` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`dahua_department_id` bigint NOT NULL COMMENT '大华部门ID',
|
||||
`dahua_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '大华组织编码',
|
||||
`dahua_department_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '大华部门名称快照',
|
||||
`corp_id` bigint NOT NULL COMMENT '本平台企业ID,对应corp_info.id',
|
||||
`corp_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '本平台企业名称快照',
|
||||
`match_type` smallint NOT NULL DEFAULT '1' COMMENT '匹配方式:1-名称匹配,2-人工绑定',
|
||||
`bind_status` smallint NOT NULL DEFAULT '1' COMMENT '绑定状态:1-有效,0-停用',
|
||||
`last_sync_time` datetime DEFAULT NULL COMMENT '最近同步时间',
|
||||
`delete_enum` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'FALSE' COMMENT '删除标识',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`create_id` bigint DEFAULT NULL COMMENT '创建人ID',
|
||||
`update_id` bigint DEFAULT NULL COMMENT '更新人ID',
|
||||
`env` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'PROD' COMMENT '环境标识',
|
||||
`create_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人姓名',
|
||||
`update_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人姓名',
|
||||
`tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
|
||||
`org_id` bigint DEFAULT NULL COMMENT '组织ID',
|
||||
`version` int NOT NULL DEFAULT '0' COMMENT '版本号',
|
||||
`remarks` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_dahua_department_corp_mapping_department` (`dahua_department_id`),
|
||||
UNIQUE KEY `uk_dahua_department_corp_mapping_org_code` (`dahua_org_code`),
|
||||
UNIQUE KEY `uk_dahua_department_corp_mapping_corp` (`corp_id`),
|
||||
KEY `idx_dahua_department_corp_mapping_status` (`bind_status`, `delete_enum`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='大华部门与本平台企业映射表';
|
||||
|
||||
CREATE TABLE `dahua_device` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`device_code` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '大华设备编码',
|
||||
`device_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '大华设备名称',
|
||||
`device_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '设备类型',
|
||||
`device_category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '设备类别',
|
||||
`device_manufacturer` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '设备厂商',
|
||||
`device_model` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '设备型号',
|
||||
`is_online` smallint DEFAULT NULL COMMENT '在线状态:1-在线,0-离线',
|
||||
`offline_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '离线原因',
|
||||
`sub_system` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '所属大华子系统',
|
||||
`device_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '设备IP',
|
||||
`device_port` int DEFAULT NULL COMMENT '设备端口',
|
||||
`dahua_department_id` bigint DEFAULT NULL COMMENT '大华所属部门ID',
|
||||
`dahua_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '大华所属组织编码',
|
||||
`dahua_org_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '大华所属组织名称',
|
||||
`corp_id` bigint DEFAULT NULL COMMENT '本平台企业ID,对应corp_info.id',
|
||||
`corp_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '本平台企业名称快照',
|
||||
`match_status` smallint NOT NULL DEFAULT '0' COMMENT '企业匹配状态:1-已匹配,0-未匹配',
|
||||
`raw_data` json DEFAULT NULL COMMENT '大华原始设备数据',
|
||||
`last_sync_time` datetime DEFAULT NULL COMMENT '最近同步时间',
|
||||
`delete_enum` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'FALSE' COMMENT '删除标识',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`create_id` bigint DEFAULT NULL COMMENT '创建人ID',
|
||||
`update_id` bigint DEFAULT NULL COMMENT '更新人ID',
|
||||
`env` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'PROD' COMMENT '环境标识',
|
||||
`create_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人姓名',
|
||||
`update_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人姓名',
|
||||
`tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
|
||||
`org_id` bigint DEFAULT NULL COMMENT '组织ID',
|
||||
`version` int NOT NULL DEFAULT '0' COMMENT '版本号',
|
||||
`remarks` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_dahua_device_code` (`device_code`),
|
||||
KEY `idx_dahua_device_department` (`dahua_department_id`),
|
||||
KEY `idx_dahua_device_org_code` (`dahua_org_code`),
|
||||
KEY `idx_dahua_device_corp` (`corp_id`),
|
||||
KEY `idx_dahua_device_match_status` (`match_status`, `delete_enum`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='大华门口设备同步表';
|
||||
|
|
|
|||
Loading…
Reference in New Issue