//-------------------------------------------------------------------- // 此代码由liquid模板自动生成 byzhouhang 20240909 // 生成时间 2025-10-20 06:17:11Z // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 //-------------------------------------------------------------------- using IRaCIS.Core.Domain.Models; using Microsoft.AspNetCore.Mvc; using IRaCIS.Core.Infrastructure.Extention; using System.Threading.Tasks; using IRaCIS.Core.Infra.EFCore; using IRaCIS.Core.Application.Service.Interface; using IRaCIS.Core.Application.Service.DTO; namespace IRaCIS.Core.Application.Service; /// /// 用户协议和隐私采集服务 /// /// /// /// /// [ApiExplorerSettings(GroupName = "FileRecord")] public class UserAgreementService(IRepository _userAgreementRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer): BaseService, IUserAgreementService { /// /// 获取用户协议和隐私采集列表 /// /// /// [HttpPost] public async Task> GetUserAgreementList(UserAgreementQuery inQuery) { var userAgreementQueryable =_userAgreementRepository .WhereIf(inQuery.StartEffectiveDate.HasValue, t => t.EffectiveDate >= inQuery.StartEffectiveDate.Value) .WhereIf(inQuery.EndEffectiveDate.HasValue, t => t.EffectiveDate <= inQuery.EndEffectiveDate.Value) .WhereIf(inQuery.FileContent != null, t => t.FileContent.Contains(inQuery.FileContent)) .WhereIf(inQuery.FileName != null, t => t.FileName.Contains(inQuery.FileName)) .WhereIf(inQuery.FileVersion != null, t => t.FileVersion.Contains(inQuery.FileVersion)) .WhereIf(inQuery.IsCurrentVersion != null, t => t.IsCurrentVersion==inQuery.IsCurrentVersion) .WhereIf(inQuery.UserAgreementTypeEnum != null, t => t.UserAgreementTypeEnum == inQuery.UserAgreementTypeEnum) .WhereIf(inQuery.StartUpdateDate.HasValue, t => t.UpdateDate >= inQuery.StartUpdateDate.Value) .WhereIf(inQuery.EndUpdateDate.HasValue, t => t.UpdateDate <= inQuery.EndUpdateDate.Value) .ProjectTo(_mapper.ConfigurationProvider); var pageList= await userAgreementQueryable.ToPagedListAsync(inQuery); return pageList; } /// /// 设置为当前版本 /// /// /// [HttpPost] public async Task SetCurrentVersion(SetUserAgreementCurrentVersionInDto inDto) { var userAgreement=await _userAgreementRepository.Where(x=>x.Id==inDto.Id).FirstNotNullAsync(); await _userAgreementRepository.UpdatePartialFromQueryAsync( x => x.UserAgreementTypeEnum== userAgreement.UserAgreementTypeEnum&&x.IsCurrentVersion, x => new UserAgreement { IsCurrentVersion = false },true); await _userAgreementRepository.UpdatePartialFromQueryAsync( inDto.Id, x => new UserAgreement { IsCurrentVersion = true },true); return ResponseOutput.Ok(); } /// /// 新增或者修改用户协议和隐私采集 /// /// /// [HttpPost] public async Task AddOrUpdateUserAgreement(UserAgreementAddOrEdit addOrEditUserAgreement) { var entity = await _userAgreementRepository.InsertOrUpdateAsync(addOrEditUserAgreement, true); return ResponseOutput.Ok(entity.Id.ToString()); } /// /// 删除用户协议和隐私采集 /// /// /// [HttpDelete("{userAgreementId:guid}")] public async Task DeleteUserAgreement(Guid userAgreementId) { var success = await _userAgreementRepository.DeleteFromQueryAsync(t => t.Id == userAgreementId,true); return ResponseOutput.Ok(); } }