using LFlow.Base.Default; using LFlow.Base.Utils; using LFlow.VersionManagement.Enums; using LFlow.VersionManagement.Model; using SqlSugar; namespace LFlow.VersionManagement.Repository; public class VersionManagementRepo(ISqlSugarClient db) : DefaultCurdRepo(db) { /// /// 根据条件搜索 /// /// /// public override List Search(VersionModel whereObj) { return db.Queryable() .Where(whereObj.ToWhereExp()) .ToList(); } /// /// 根据条件搜索ID /// /// /// public override List WhereSearchId(VersionModel whereObj) { return db.Queryable() .Where(whereObj.ToWhereExp()) .Where(x => x.ID != null) .Select(x => x.ID) .ToList(); } /// /// 获取最新版本 /// /// /// /// public VersionModel GetLatestVersion(VersionChannel channel, UpgradeTargetType targetType) { return db.Queryable() .Where(mt => channel == mt.VersionChannel && targetType == mt.UpgradeTargetType) .GroupBy(mt => mt.CurrentVersion) .OrderBy(mt => mt.LastPublishTime, OrderByType.Desc) .First(); } }