using Infrastructure.Attribute; using Infrastructure.Extensions; using ZR.LiveForum.Model.Liveforum.Dto; using ZR.LiveForum.Model.Liveforum; using ZR.Repository; using ZR.Service.Liveforum.ILiveforumService; namespace ZR.Service.Liveforum { /// /// 主播排行记录Service业务层处理 /// [AppService(ServiceType = typeof(IT_StreamersService), ServiceLifetime = LifeTime.Transient)] public class T_StreamersService : BaseService, IT_StreamersService { /// /// 查询主播排行记录列表 /// /// /// public PagedInfo GetList(T_StreamersQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() //.OrderBy("FlowerCount desc") .Where(predicate.ToExpression()) .ToPage(parm); return response; } /// /// 获取详情 /// /// /// public T_Streamers GetInfo(int Id) { var response = Queryable() .Where(x => x.Id == Id) .First(); return response; } /// /// 添加主播排行记录 /// /// /// public T_Streamers AddT_Streamers(T_Streamers model) { model.CreatedAt = DateTime.Now; model.UpdatedAt = DateTime.Now; model.UserId = 0; model.OnlineCount = 0; model.IsLive = false; model.FlowerCount = 0; return Insertable(model).ExecuteReturnEntity(); } /// /// 修改主播排行记录 /// /// /// public int UpdateT_Streamers(T_Streamers model) { return Update(model, true); } /// /// 查询导出表达式 /// /// /// private static Expressionable QueryExp(T_StreamersQueryDto parm) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.StreamerId), it => it.StreamerId.Contains(parm.StreamerId)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Nickname), it => it.Nickname.Contains(parm.Nickname)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Category), it => it.Category == parm.Category); return predicate; } } }