//-------------------------------------------------------------------- // 此代码由T4模板自动生成 byzhouhang 20210918 // 生成时间 2024-07-02 09:26:59 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 //-------------------------------------------------------------------- using IRaCIS.Core.Domain.Models; using Microsoft.AspNetCore.Mvc; using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.ViewModel; using Microsoft.AspNetCore.Authorization; namespace IRaCIS.Core.Application.Service { /// /// ExploreRecommendService /// [ApiExplorerSettings(GroupName = "Common")] public class ExploreRecommendService : BaseService, IExploreRecommendService { private readonly IRepository _exploreRecommendRepository; public ExploreRecommendService(IRepository exploreRecommendRepository) { _exploreRecommendRepository = exploreRecommendRepository; } [HttpPost] public async Task> GetExploreRecommendList(ExploreRecommendQuery inQuery) { var exploreRecommendQueryable = _exploreRecommendRepository.Where().IgnoreQueryFilters() .WhereIf(string.IsNullOrEmpty(inQuery.Title), t => t.Title.Contains(inQuery.Title)) .WhereIf(string.IsNullOrEmpty(inQuery.FileName), t => t.Title.Contains(inQuery.FileName)) .WhereIf(string.IsNullOrEmpty(inQuery.DownloadUrl), t => t.Title.Contains(inQuery.DownloadUrl)) .WhereIf(string.IsNullOrEmpty(inQuery.Version), t => t.Title.Contains(inQuery.Version)) .WhereIf(inQuery.IsDeleted != null, t => t.IsDeleted == t.IsDeleted) .ProjectTo(_mapper.ConfigurationProvider); var pageList = await exploreRecommendQueryable .ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(ExploreRecommendView.Id) : inQuery.SortField, inQuery.Asc); return pageList; } public async Task AddOrUpdateExploreRecommend(ExploreRecommendAddOrEdit addOrEditExploreRecommend) { var verifyExp2 = new EntityVerifyExp() { VerifyExp = u => u.IsDeleted == addOrEditExploreRecommend.IsDeleted, VerifyMsg = "当前启用版本只允许有一个", IsVerify = addOrEditExploreRecommend.IsDeleted == false }; var entity = await _exploreRecommendRepository.InsertOrUpdateAsync(addOrEditExploreRecommend, true, verifyExp2); return ResponseOutput.Ok(entity.Id.ToString()); } [HttpDelete("{exploreRecommendId:guid}")] public async Task DeleteExploreRecommend(Guid exploreRecommendId) { var success = await _exploreRecommendRepository.DeleteFromQueryAsync(t => t.Id == exploreRecommendId, true); return ResponseOutput.Ok(); } [AllowAnonymous] public async Task GetExploreRecommentInfo() { var result = await _exploreRecommendRepository.Where(t => t.IsDeleted == false).ProjectTo(_mapper.ConfigurationProvider).FirstOrDefaultAsync(); if (result == null) { throw new QueryBusinessObjectNotExistException("系统浏览器版本推荐未维护,请联系维护人员"); } return result; } } }