using Infrastructure.Attribute; using Microsoft.AspNetCore.Http; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Infrastructure; using ARW.Model; using ARW.Repository; using ARW.Repository.Business.Advertisement.Notices; using ARW.Service.Business.IBusinessService.Advertisement.Notices; using ARW.Model.Dto.Business.Advertisement.Notices; using ARW.Model.Models.Business.Advertisement.Notices; using ARW.Model.Vo.Business.Advertisement.Notices; namespace ARW.Service.Business.BusinessService.Advertisement.Notices { /// /// 公告接口实现类 /// /// @author lwh /// @date 2023-10-09 /// [AppService(ServiceType = typeof(INoticeService), ServiceLifetime = LifeTime.Transient)] public class NoticeServiceImpl : BaseService, INoticeService { private readonly NoticeRepository _NoticeRepository; public NoticeServiceImpl(NoticeRepository NoticeRepository) { this._NoticeRepository = NoticeRepository; } #region 业务逻辑代码 /// /// 查询公告分页列表 /// public async Task> GetNoticeList(NoticeQueryDto parm) { //开始拼装查询条件d var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.NoticeTitle), s => s.NoticeTitle.Contains(parm.NoticeTitle)); var query = _NoticeRepository .Queryable() .Where(predicate.ToExpression()) .OrderBy(s => s.NoticeSort,OrderByType.Asc) .Select(s => new NoticeVo { NoticeId = s.NoticeId, NoticeGuid = s.NoticeGuid, NoticeTitle = s.NoticeTitle, NoticeContent = s.NoticeContent, NoticeSort = s.NoticeSort, }); return await query.ToPageAsync(parm); } /// /// 添加或修改公告 /// public async Task AddOrUpdateNotice(Notice model) { if (model.NoticeId != 0) { var response = await _NoticeRepository.UpdateAsync(model); return "修改成功!"; } else { var response = await _NoticeRepository.InsertReturnSnowflakeIdAsync(model); return "添加成功!"; } } #region Excel处理 #endregion #endregion } }