# tdengine
**Repository Path**: mallocxw/tdengine
## Basic Information
- **Project Name**: tdengine
- **Description**: 多数据源集成mybatisplus+tdengine
- **Primary Language**: Unknown
- **License**: MulanPSL-2.0
- **Default Branch**: tdengine
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2023-02-25
- **Last Updated**: 2023-02-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 简介
收集开发过程中常用的工具方法,将其整理归纳优化形成通用的工具包
| 模块 | 介绍 |
|-------------------|--------------------|
| general-hik | 封装海康综合安防平台接口对接方法 |
| general-netty | 简化TCP/UDP连接,快速读写数据 |
| general-tree(已废弃) | 构建树形结构对象 |
| general-zlm | 基于ZLMediakit,封装视频流读取 |
## 安装
### maven
在项目中新建lib文件夹,将`general-utils-xx.jar`放入lib目录下。 在pom中引入lib目录下的jar包。
```xml
xxxx
xxxx
system
${pom.basedir}/lib/general-utils-xxxx.jar
xxxx
```
### GAV
pom文件中引入远程仓库地址
```xml
aliyun-repos
http://www.yzsd.ltd:8081/repository/maven-public/
true
false
```
```xml
org.yzsd
general-utils
1.2.2-SNAPSHOTS
```
## 模块使用
### BaseController
```
.
├── BaseGooditsController.java
├── Condition.java 查询条件枚举
├── Query.java 查询对象
├── QueryEntity.java 查询对象实现类
└── QueryPlus.java 查询条件注解
```
#### 实现方法
1. 分页查询:查询对象需要实现Query接口或者继承QueryEntity
2. 新增:
3. 编辑:
4. 删除:
#### 使用方式
1、自定义查询类,继承QueryEntity,传入对应的DO对象 例:
```java
@Data
@EqualsAndHashCode(callSuper = true)
public class HisUserQuery extends QueryEntity {
@ApiModelProperty(value = "工号")
@QueryPlus(DBField = "hisEmpCode", condition = Condition.Like)
private String jobNo;
@ApiModelProperty(value = "姓名")
@QueryPlus(DBField = "hisEmpName", condition = Condition.Like)
private String name;
@Override
public void check() throws Exception {
//检查方法,在通用控制器分页方法中会默认调用一次该方法用于校验参数有效性。
}
}
```
2、创建Controller继承BaseGooditsController 例: BaseGooditsController
泛型参数解释:
1. HisUserService:MBP的Service实现类
2. HisUserDO:数据表DO对象
3. HisUserQuery:Query接口的实现类,分页查询条件
```java
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/open_api/user/test/now")
@Api(value = "用户测试", tags = "用户测试")
public class HisUserTestNowController extends BaseGooditsController {
//由于各框架默认返回前端的数据格式不一致,所以抽象该方法,实现一下即可
@Override
public Object returnResult(Object o) {
return ResultUtil.data(o);
}
}
```
### BACnet
```json
.
├── BAPoint.java #BA点位数据
└── BacnetScan.java #BA扫描工具
```
#### 请求方式
BacnetScan.scan(本地IP,广播IP,最小ID,最大ID)#HashMap>
#### 模块返回数据例子
```json
{
"dev_24002": {
"AnalogValue303": {
"presentValue": "0.0",
"eventState": "normal",
"objectName": "h2_1ow_t_1",
"objectIdentifier": "AnalogValue303",
"objectType": "AnalogValue"
},
"BinaryValue276": {
"presentValue": "Active",
"eventState": "normal",
"objectName": "light5_sta_6",
"objectIdentifier": "BinaryValue276",
"objectType": "BinaryValue"
}
}
}
```
### general-hik
```
├── hik
├── back
│ ├── ArrayBack.java
│ ├── Check.java
│ ├── ListParamsBack.java
│ └── ParamsBack.java
├── config 配置
│ └── HikConfig.java
├── entity 海康数据返回对象实体
├── enums 常用枚举定义
│ ├── AccessAuthTypeEnum.java 门禁权限枚举
│ ├── HikCardTypesEnum.java 人员信息中卡片数据枚举
│ ├── OperatorTypeEnum.java 操作方式枚举
│ └── AccessResourceTypeEnum.java 门禁相关资源类型枚举
├── exception
│ └── HikException.java Hik模块异常管理对象
├── service
│ ├── HikCameraService.java 监控服务
│ ├── HikOrgService.java 组织服务
│ ├── HikResourceService.java 资源服务
│ ├── HikSecurityAreaService.java 安保区域服务
│ ├── HikUserService.java 用户服务
│ └── access 门禁相关服务
│ ├── HikAccessService.java 门禁服务
│ ├── HikAuthService.java 权限服务
│ ├── HikCardService.java 卡片服务
│ ├── HikSysAccDeviceService.java 门禁设备服务
│ ├── HikSysAccDoorService.java 门禁点服务
│ └── HikSysAccReaderService.java 门禁读卡器服务
└── utils
│ ├── HikDataParseUtils.java ISO8601时间转换工具
│ ├── HikRequestUtils.java 接口请求工具
│ ├── LambdaUtils.java
│ └── SFunction.java
```
### general-netty
### general-zlm
```
.
├── build
│ ├── AbstractBuildStream.java 视频流构建抽象类
│ ├── FFmpeg.java FFmpeg方式构建视频流
│ ├── Stream.java Stream方式构建视频流
│ └── StreamBuildModel.java 视频流构建模板
├── common
│ ├── Volatile.java 校验基类
│ └── ZLMConfig.java zlm配置类
├── entity
│ ├── CameraDevice.java 监控设备对象
│ └── PlayVO.java 播放对象
├── enums
│ ├── CreationType.java 视频流创建中的状态
│ ├── TemplateBackUrl.java 视频流创建完成后返回URL模板
│ ├── TemplateRtspUrl.java RTSP视频流模板
│ └── ZlmRestfulApiEnum.java ZLM接口API
├── exception
│ └── ZlmException.java ZLM异常
├── job
│ ├── AbstractStreamJob.java 抽象视频流创建任务
│ ├── CloseStreamJob.java 关闭视频流任务
│ ├── CreateFFmpegJob.java FFmpeg方式创建视频流
│ ├── CreateStreamJob.java Stream方式创建视频流
│ └── BaseStreamJob.java 视频流创建接口
└── utils
├── BuildStreamThreadPool.java 多线程构建视频流
├── ZlmHttpUtils.java 请求接口
└── ZlmManager.java
```