86 lines
3.5 KiB
C#
86 lines
3.5 KiB
C#
//--------------------------------------------------------------------
|
|
// 此代码由T4模板自动生成 byzhouhang 20210918
|
|
// 生成时间 2024-07-02 09:26:59
|
|
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
|
//--------------------------------------------------------------------
|
|
|
|
using IRaCIS.Core.Application.Interfaces;
|
|
using IRaCIS.Core.Application.ViewModel;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
namespace IRaCIS.Core.Application.Service
|
|
{
|
|
/// <summary>
|
|
/// ExploreRecommendService
|
|
/// </summary>
|
|
[ApiExplorerSettings(GroupName = "Common")]
|
|
public class ExploreRecommendService(IRepository<ExploreRecommend> _exploreRecommendRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IExploreRecommendService
|
|
{
|
|
|
|
|
|
[HttpPost]
|
|
public async Task<PageOutput<ExploreRecommendView>> 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<ExploreRecommendView>(_mapper.ConfigurationProvider);
|
|
|
|
var pageList = await exploreRecommendQueryable
|
|
.ToPagedListAsync(inQuery);
|
|
|
|
return pageList;
|
|
}
|
|
|
|
|
|
public async Task<IResponseOutput> AddOrUpdateExploreRecommend(ExploreRecommendAddOrEdit addOrEditExploreRecommend)
|
|
{
|
|
var verifyExp2 = new EntityVerifyExp<ExploreRecommend>()
|
|
{
|
|
VerifyExp = u => u.IsDeleted == addOrEditExploreRecommend.IsDeleted && u.ExploreType == addOrEditExploreRecommend.ExploreType,
|
|
|
|
// "当前类型浏览器启用版本只允许有一个"
|
|
VerifyMsg = _localizer["ExploreRecommend_OnlyOneTypePerType"],
|
|
|
|
IsVerify = addOrEditExploreRecommend.IsDeleted == false
|
|
};
|
|
|
|
var entity = await _exploreRecommendRepository.InsertOrUpdateAsync(addOrEditExploreRecommend, true, verifyExp2);
|
|
|
|
return ResponseOutput.Ok(entity.Id.ToString());
|
|
|
|
}
|
|
|
|
|
|
[HttpDelete("{exploreRecommendId:guid}")]
|
|
public async Task<IResponseOutput> DeleteExploreRecommend(Guid exploreRecommendId)
|
|
{
|
|
var success = await _exploreRecommendRepository.DeleteFromQueryAsync(t => t.Id == exploreRecommendId, true, true);
|
|
return ResponseOutput.Ok();
|
|
}
|
|
|
|
[AllowAnonymous]
|
|
public async Task<List<ExploreRecommendView>> GetExploreRecommentInfo()
|
|
{
|
|
|
|
|
|
var result = await _exploreRecommendRepository.Where(t => t.IsDeleted == false).ProjectTo<ExploreRecommendView>(_mapper.ConfigurationProvider).ToListAsync();
|
|
|
|
if (result.Count == 0)
|
|
{ //"系统浏览器版本推荐未维护,请联系维护人员"
|
|
throw new QueryBusinessObjectNotExistException(_localizer["ExploreRecommend_NoExporeRecord"]);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
}
|
|
}
|