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>
46 lines
1.1 KiB
Java
46 lines
1.1 KiB
Java
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;
|
|
}
|