You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.8 KiB
C#
54 lines
1.8 KiB
C#
using Infrastructure;
|
|
using OpenAuth.App.BaseApp.Base;
|
|
using OpenAuth.App.Interface;
|
|
using OpenAuth.App.Request;
|
|
using OpenAuth.Repository;
|
|
using OpenAuth.Repository.Domain;
|
|
using SqlSugar;
|
|
|
|
namespace OpenAuth.App.ServiceApp.AI;
|
|
|
|
public class AiAchievementServiceApp : SqlSugarBaseApp<LasaAiAchievement, SugarDbContext>
|
|
{
|
|
public AiAchievementServiceApp(ISugarUnitOfWork<SugarDbContext> unitWork,
|
|
ISimpleClient<LasaAiAchievement> repository, IAuth auth) : base(unitWork, repository, auth)
|
|
{
|
|
}
|
|
|
|
public async Task<Response<PageInfo<List<LasaAiAchievement>>>> GetAiAchievementList(PageReq req)
|
|
{
|
|
RefAsync<int> total = 0;
|
|
var page = await Repository.AsQueryable()
|
|
.WhereIF(!string.IsNullOrEmpty(req.key), x => x.Title.Contains(req.key))
|
|
.WhereIF(req.startTime != null, x => x.CreateTime >= req.startTime && x.CreateTime <= req.endTime)
|
|
.OrderByDescending(x => x.CreateTime)
|
|
.ToPageListAsync(req.page, req.limit, total);
|
|
return new Response<PageInfo<List<LasaAiAchievement>>>()
|
|
{
|
|
Result = new PageInfo<List<LasaAiAchievement>>()
|
|
{
|
|
Items = page,
|
|
Total = total.Value
|
|
}
|
|
};
|
|
}
|
|
|
|
public async Task<Response<LasaAiAchievement>> GetAiAchievement(string id)
|
|
{
|
|
var result = await Repository.GetByIdAsync(id);
|
|
if (result != null)
|
|
{
|
|
var images = await Repository
|
|
.ChangeRepository<SugarRepositiry<LasaAiAchievementDetail>>()
|
|
.AsQueryable()
|
|
.Where(x => x.AiAchievementId == id)
|
|
.ToListAsync();
|
|
result.AiAchievementDetailList = images;
|
|
}
|
|
|
|
return new Response<LasaAiAchievement>()
|
|
{
|
|
Result = result
|
|
};
|
|
}
|
|
} |