feat(tenant): 租户-项目两级架构 Phase 2 — IoT + Ops 业务迁移
DO 迁移 (15个 TenantBaseDO → ProjectBaseDO): - IoT: IotDeviceDO - Ops 核心: OpsOrderDO, OpsOrderEventDO, OpsOrderDispatchDO, OpsOrderQueueDO, OpsBusAreaDO, OpsAreaDeviceRelationDO, OpsDeviceTrajectoryDO - Ops 保洁: OpsOrderCleanExtDO, OpsCleanerStatusDO, OpsCleanerPerformanceMonthlyDO, OpsInspectionRecordDO, OpsInspectionRecordItemDO - Ops 安保: OpsOrderSecurityExtDO, OpsAreaSecurityUserDO IoT 适配: - IotDeviceRespDTO 新增 projectId 字段 - IotDeviceMessage 新增 projectId 字段 - IotDeviceMessageServiceImpl.appendDeviceMessage() 设置 projectId - IotCleanRuleMessageHandler 嵌套 ProjectUtils.execute() 设置项目上下文 缓存改造: - ProjectRedisCacheManager extends TenantRedisCacheManager,追加 :projectId 后缀 - ViewshTenantAutoConfiguration 替换为 ProjectRedisCacheManager SQL 迁移脚本 (sql/mysql/project/): - 01-create-tables.sql: system_project + system_user_project 建表 - 02-default-data.sql: 默认项目 + 用户关联回填 - 03-alter-business-tables.sql: 15 张表添加 project_id (NULL → 回填 → NOT NULL → 索引) - 04-index-audit.sql: 现有索引审计 + project_id 补充建议 - 99-rollback.sql: 完整回滚方案 附带修复: - fix(ops): UserDispatchStatusServiceImpl 添加缺失的 KEY_PREFIX 常量 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package com.viewsh.module.ops.environment.dal.dataobject.cleaner;
|
||||
|
||||
import com.viewsh.framework.tenant.core.db.TenantBaseDO;
|
||||
import com.viewsh.framework.tenant.core.db.ProjectBaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@@ -21,7 +21,7 @@ import java.math.BigDecimal;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OpsCleanerPerformanceMonthlyDO extends TenantBaseDO {
|
||||
public class OpsCleanerPerformanceMonthlyDO extends ProjectBaseDO {
|
||||
|
||||
/**
|
||||
* 汇总ID
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.viewsh.framework.tenant.core.db.TenantBaseDO;
|
||||
import com.viewsh.framework.tenant.core.db.ProjectBaseDO;
|
||||
import com.viewsh.module.ops.enums.CleanerStatusEnum;
|
||||
import lombok.*;
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.time.LocalDateTime;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OpsCleanerStatusDO extends TenantBaseDO {
|
||||
public class OpsCleanerStatusDO extends ProjectBaseDO {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.viewsh.module.ops.environment.dal.dataobject.inspection;
|
||||
|
||||
import com.viewsh.framework.tenant.core.db.TenantBaseDO;
|
||||
import com.viewsh.framework.tenant.core.db.ProjectBaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@@ -21,7 +21,7 @@ import java.util.List;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OpsInspectionRecordDO extends TenantBaseDO {
|
||||
public class OpsInspectionRecordDO extends ProjectBaseDO {
|
||||
|
||||
/**
|
||||
* 巡检记录ID
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.viewsh.module.ops.environment.dal.dataobject.inspection;
|
||||
|
||||
import com.viewsh.framework.tenant.core.db.TenantBaseDO;
|
||||
import com.viewsh.framework.tenant.core.db.ProjectBaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@@ -21,7 +21,7 @@ import java.util.List;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OpsInspectionRecordItemDO extends TenantBaseDO {
|
||||
public class OpsInspectionRecordItemDO extends ProjectBaseDO {
|
||||
|
||||
/**
|
||||
* 明细ID
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.viewsh.module.ops.environment.dal.dataobject.workorder;
|
||||
|
||||
import com.viewsh.framework.tenant.core.db.TenantBaseDO;
|
||||
import com.viewsh.framework.tenant.core.db.ProjectBaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.*;
|
||||
@@ -19,7 +19,7 @@ import java.time.LocalDateTime;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OpsOrderCleanExtDO extends TenantBaseDO {
|
||||
public class OpsOrderCleanExtDO extends ProjectBaseDO {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
|
||||
Reference in New Issue
Block a user