//-------------------------------------------------------------------- // 此代码由T4模板自动生成 byzhouhang 20210918 // 生成时间 2023-06-27 15:47:06 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 //-------------------------------------------------------------------- using IRaCIS.Core.Domain.Models; using Microsoft.AspNetCore.Mvc; using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Application.Contracts; using Microsoft.AspNetCore.Authorization; namespace IRaCIS.Core.Application.Service { /// /// PublishLogService /// [ApiExplorerSettings(GroupName = "Common")] public class PublishLogService : BaseService, IPublishLogService { private readonly IRepository _publishLogRepository; public PublishLogService(IRepository publishLogRepository) { _publishLogRepository = publishLogRepository; } [HttpPost] public async Task> GetPublishLogList(PublishLogQuery inQuery) { var publishLogQueryable = _publishLogRepository .WhereIf(!string.IsNullOrEmpty(inQuery.Version), t => t.Version.Contains(inQuery.Version)) .WhereIf(!string.IsNullOrEmpty(inQuery.UpdateContent), t => t.UpdateContent.Contains(inQuery.UpdateContent)) .WhereIf(inQuery.State != null, t => t.State == inQuery.State) .ProjectTo(_mapper.ConfigurationProvider); var pageList = await publishLogQueryable .ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField, inQuery.Asc); return pageList; } public async Task AddOrUpdatePublishLog(PublishLogAddOrEdit addOrEditPublishLog) { Version version; if (!Version.TryParse(addOrEditPublishLog.Version, out version)) { return ResponseOutput.NotOk("版本号不符合要求"); } var verifyExp1 = new EntityVerifyExp() { VerifyExp = u => u.Version == addOrEditPublishLog.Version, VerifyMsg = "发布编号不能重复" }; var entity = await _publishLogRepository.InsertOrUpdateAsync(addOrEditPublishLog, true, verifyExp1); return ResponseOutput.Ok(entity.Id.ToString()); } [HttpDelete("{publishLogId:guid}")] public async Task DeletePublishLog(Guid publishLogId) { var success = await _publishLogRepository.DeleteFromQueryAsync(t => t.Id == publishLogId, true); return ResponseOutput.Ok(); } [AllowAnonymous] public async Task GetCurrentPublishInfo() { var result = await _publishLogRepository.Where(t => t.IsCurrentVersion == true).ProjectTo(_mapper.ConfigurationProvider).FirstOrDefaultAsync(); if (result == null) { //系统当前版本未标记,请联系维护人员 throw new QueryBusinessObjectNotExistException("系统当前版本未标记,请联系维护人员"); } return result; } public async Task> GetPublishVersionSelect() { return await _publishLogRepository.ProjectTo(_mapper.ConfigurationProvider).OrderByDescending(t => t.State).ToListAsync(); } } }