feat(t14-s1s2): 数据迁移基础设施 + 用户迁移
T14 数据迁移工具 S1/S2 阶段: S1 基础设施: - source_app/migrate_task 建表 + 实体 + Mapper - TencentImClient 双密钥 callApiAs(老应用拉取,不走主应用限流,审计记 migrate) - 后台「老应用配置」页(CRUD + 测试连通) S2 用户迁移: - batchImport(multiaccount_import,每批≤100) - MigrateService.migrateUsers(前缀转换+导入+映射+校验,幂等) - 后台「数据迁移」页(上传清单文件/粘贴列表 + 任务记录) 联调通过:3用户清单→加sa前缀→腾讯导入OK→user_mapping→校验3/3/3。 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package com.imutil.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
/**
|
||||
* 老应用配置实体(数据迁移源)
|
||||
* <p>
|
||||
* 每个老应用对应主应用一个租户(决定 UserID 前缀)。迁移时用本应用的 sdkAppId/secretKey
|
||||
* 调腾讯 API 拉取存量数据,加前缀后导入主应用。
|
||||
* <p>
|
||||
* 密钥仅本工具持有,禁止下发到业务系统。
|
||||
*
|
||||
* @author imutil
|
||||
*/
|
||||
@Data
|
||||
@TableName("source_app")
|
||||
public class SourceApp {
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/** 老应用名称 */
|
||||
private String appName;
|
||||
|
||||
/** 老应用 SDKAppID */
|
||||
private String sdkAppId;
|
||||
|
||||
/** 老应用密钥(迁移拉取用) */
|
||||
private String secretKey;
|
||||
|
||||
/** 对应主应用租户(决定 UserID 前缀),关联 tenant.tenant_id */
|
||||
private String tenantId;
|
||||
|
||||
/** 1=启用 0=停用 */
|
||||
private Integer status;
|
||||
|
||||
private String remark;
|
||||
|
||||
private OffsetDateTime createdAt;
|
||||
}
|
||||
Reference in New Issue
Block a user