feat(ops): 安保模块构建配置与枚举扩展

- security-biz pom 新增 ops-biz、iot-api 依赖
- ops-server pom 引入 security-biz 模块
- 新增 SECURITY_GUARD 操作人类型、ALARM 来源类型
- 新增安保相关错误码
- dev/local 配置新增安保数据源

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
lzh
2026-03-11 17:33:55 +08:00
parent 2e4432e51b
commit 4a7128321e
7 changed files with 44 additions and 13 deletions

View File

@@ -16,6 +16,12 @@ public interface ErrorCodeConstants {
ErrorCode AREA_PARENT_LOOP = new ErrorCode(1_020_001_003, "不能将父级设置为自己或子孙节点");
ErrorCode AREA_CODE_EXISTS = new ErrorCode(1_020_001_004, "区域编码已存在");
// ========== 安保工单 1-020-003-000 ============
ErrorCode SECURITY_ORDER_NOT_FOUND = new ErrorCode(1_020_003_000, "工单不存在");
ErrorCode SECURITY_ORDER_TYPE_MISMATCH = new ErrorCode(1_020_003_001, "工单类型不匹配,期望安保工单");
ErrorCode SECURITY_AREA_USER_DUPLICATE = new ErrorCode(1_020_003_002, "该安保人员已绑定到此区域");
ErrorCode SECURITY_AREA_USER_NOT_FOUND = new ErrorCode(1_020_003_003, "绑定记录不存在");
// ========== 区域设备关联 1-020-002-000 ============
ErrorCode DEVICE_NOT_FOUND = new ErrorCode(1_020_002_000, "设备不存在");
ErrorCode DEVICE_ALREADY_BOUND = new ErrorCode(1_020_002_001, "该工牌已绑定至此区域");

View File

@@ -18,7 +18,8 @@ public enum OperatorTypeEnum implements ArrayValuable<String> {
SYSTEM("SYSTEM", "系统"),
CLEANER("CLEANER", "保洁员"),
INSPECTOR("INSPECTOR", "巡检员"),
ADMIN("ADMIN", "管理员");
ADMIN("ADMIN", "管理员"),
SECURITY_GUARD("SECURITY_GUARD", "安保员");
public static final String[] ARRAYS = Arrays.stream(values()).map(OperatorTypeEnum::getType).toArray(String[]::new);

View File

@@ -18,7 +18,8 @@ public enum SourceTypeEnum implements ArrayValuable<String> {
TRAFFIC("TRAFFIC", "系统触发"),
INSPECTION("INSPECTION", "巡检发现"),
MANUAL("MANUAL", "手动创建"),
SCHEDULE("SCHEDULE", "定时排班");
SCHEDULE("SCHEDULE", "定时排班"),
ALARM("ALARM", "告警触发");
public static final String[] ARRAYS = Arrays.stream(values()).map(SourceTypeEnum::getType).toArray(String[]::new);

View File

@@ -91,6 +91,12 @@
<artifactId>viewsh-spring-boot-starter-security</artifactId>
</dependency>
<!-- 服务保护(限流、幂等、签名验证) -->
<dependency>
<groupId>com.viewsh</groupId>
<artifactId>viewsh-spring-boot-starter-protection</artifactId>
</dependency>
<!-- DB 相关 -->
<dependency>
<groupId>com.viewsh</groupId>
@@ -126,17 +132,17 @@
<artifactId>viewsh-spring-boot-starter-job</artifactId>
</dependency>
<!-- 消息队列相关 -->
<dependency>
<groupId>com.viewsh</groupId>
<artifactId>viewsh-spring-boot-starter-mq</artifactId>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
<!-- Test 测试相关 -->
<!-- 消息队列相关 -->
<dependency>
<groupId>com.viewsh</groupId>
<artifactId>viewsh-spring-boot-starter-mq</artifactId>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
<!-- Test 测试相关 -->
<dependency>
<groupId>com.viewsh</groupId>
<artifactId>viewsh-spring-boot-starter-test</artifactId>

View File

@@ -164,6 +164,11 @@ wx:
# 芋道配置项,设置当前项目所有自定义的配置
viewsh:
demo: true # 开启演示模式
# API 签名配置:外部系统调用开放接口时使用(如安保工单的告警系统)
signature:
apps:
# 告警系统 - 用于安保工单的创建和自动完单接口
alarm-system: "tQ3v5q1z2ZLu7hrU1yseaHwg1wJUcmF1"
justauth:
enabled: true

View File

@@ -152,3 +152,8 @@ viewsh:
mock-enable: true
access-log: # 访问日志的配置项
enable: false
# API 签名配置:外部系统调用开放接口时使用(如安保工单的告警系统)
signature:
apps:
# 告警系统 - 用于安保工单的创建和自动完单接口
alarm-system: "tQ3v5q1z2ZLu7hrU1yseaHwg1wJUcmF1"

View File

@@ -48,5 +48,12 @@
<groupId>com.viewsh</groupId>
<artifactId>viewsh-spring-boot-starter-biz-tenant</artifactId>
</dependency>
<!-- Test 测试相关 -->
<dependency>
<groupId>com.viewsh</groupId>
<artifactId>viewsh-spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>