namespace Admin.NET.Plugin.AiDOP;
using Yitter.IdGenerator;
///
/// S8 业务角色的 SysRole 侧种子(与 S8RolePermissionSeedData 配套,双写系统角色表)。
/// 与 AdoS8RolePermissionConfig 通过 Code 字段关联,非 Id。
///
[IncreSeed]
public class S8SysRoleSeedData : ISqlSugarEntitySeedData
{
public IEnumerable HasData()
{
var ct = DateTime.Parse("2026-04-18 00:00:00");
// S8-CFG-NOTIFY-NONDEFAULT-ROLE-OPTIONS-FIX-1:改引用 canonical 单一来源(内容未变)。
// 原先此处与 AidopTenantInitService 各存一份逐字相同的字面量,靠人工同步。
return Array.ConvertAll(
Admin.NET.Plugin.AiDOP.Infrastructure.S8.S8CanonicalRole.BusinessRoles,
r => R(r.Code, r.Name, r.OrderNo, ct));
}
private static SysRole R(string code, string name, int orderNo, DateTime ct) =>
new()
{
Id = YitIdHelper.NextId(),
TenantId = SqlSugarConst.DefaultTenantId,
Name = name,
Code = code,
OrderNo = orderNo,
DataScope = DataScopeEnum.Self,
Status = StatusEnum.Enable,
Remark = "S8 业务角色(异常协同承接)",
CreateTime = ct,
};
}