123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- using System.Threading.Tasks;
- using System.Collections.Generic;
- using MongoDB.Driver;
- using VitalService.Entities;
- using WingServerCommon.Mapper;
- using VitalService.Request;
- using WingInterfaceLibrary.Interface.DBVitalInterface;
- using WingInterfaceLibrary.Request.DBVitalRequest;
- using WingInterfaceLibrary.DTO.Vital;
- using WingInterfaceLibrary.Request;
- using WingInterfaceLibrary.Enum.VitalEnum;
- namespace VitalService.Service
- {
- /// <summary>
- /// 团队区域数据服务
- /// </summary>
- public partial class VitalDatabaseService : IVitalTeamRegionDBService
- {
- /// <summary>
- /// 创建团队区域数据
- /// </summary>
- /// <param name="request">创建请求</param>
- /// <returns></returns>
- public async Task<string> CreateTeamRegionAsync(CreateTeamRegionDBRequest request)
- {
- var entity = request.MappingTo<TeamRegionEntity>();
- await SetRequestCreatedFrom(entity, request.OperationDoctor, true);
- return await _teamRegionDBRepository.InsertOneAsync(entity);
- }
- /// <summary>
- /// 根据编码获取团队区域数据
- /// </summary>
- /// <param name="request">获取请求</param>
- /// <returns></returns>
- public async Task<TeamRegionDTO> GetTeamRegionDetailAsync(GetTeamRegionDBRequest request)
- {
- var filter = Builders<TeamRegionEntity>.Filter.Eq(x => x.Code, request.Code);
- filter = await AddPermissionFilter(filter, request.OperationDoctor);
- var result = await _teamRegionDBRepository.FindOneAsync(filter);
- return result.MappingTo<TeamRegionDTO>();
- }
- /// <summary>
- /// 根据关键字段获取团队区域数据
- /// </summary>
- /// <param name="request">获取请求</param>
- /// <returns></returns>
- public async Task<TeamRegionDTO> GetTeamRegionDetailByKeyAsync(GetTeamRegionByKeyDBRequest request)
- {
- var filter = Builders<TeamRegionEntity>.Filter.Eq(request.Key, request.Value);
- filter = await AddPermissionFilter(filter, request.OperationDoctor);
- var result = await _teamRegionDBRepository.FindOneAsync(filter);
- return result.MappingTo<TeamRegionDTO>();
- }
- /// <summary>
- /// 获取团队区域数据分页
- /// </summary>
- /// <param name="request">分页请求</param>
- /// <returns></returns>
- public async Task<PageCollection<TeamRegionDTO>> GetTeamRegionPageAsync(DBPageRequest request)
- {
- var filter = await _teamRegionDBRepository.GetPageFilter(request);
- filter = await AddPermissionFilter(filter, request.OperationDoctor);
- var pageFilter = new DBPageRequest<TeamRegionEntity>
- {
- PageIndex = request.PageIndex,
- PageSize = request.PageSize,
- Filter = filter,
- Sort = Builders<TeamRegionEntity>.Sort.Descending(x => x.CreateTime)
- };
- var result = await _teamRegionDBRepository.GetPages(pageFilter);
- return result.MappingTo<PageCollection<TeamRegionDTO>>();
- }
- /// <summary>
- /// 删除团队区域数据
- /// </summary>
- /// <param name="request">删除请求</param>
- /// <returns></returns>
- public async Task<bool> RemoveTeamRegionAsync(RemoveTeamRegionDBRequest request)
- {
- return await _teamRegionDBRepository.DeleteOneAsync("Code", request.Code);
- }
- /// <summary>
- /// 删除多个团队区域数据
- /// </summary>
- /// <param name="request">删除请求</param>
- /// <returns></returns>
- public async Task<long> RemoveTeamRegionListAsync(RemoveTeamRegionListDBRequest request)
- {
- var filter = new List<(string key, string val)>();
- foreach(var code in request.Codes)
- {
- filter.Add(("Code", code));
- }
- return await _teamRegionDBRepository.DeleteAllAsync(filter);
- }
- /// <summary>
- /// 获取团队区域数据列表
- /// </summary>
- /// <param name="request">列表请求</param>
- /// <returns></returns>
- public async Task<List<TeamRegionDTO>> GetTeamRegionListAsync(GetTeamRegionListDBRequest request)
- {
- var filter = Builders<TeamRegionEntity>.Filter.In(f=>f.Code, request.Codes);
- filter = await AddPermissionFilter(filter, request.OperationDoctor);
- var result = await _teamRegionDBRepository.FindAllAsync(filter);
- return result.MappingTo<List<TeamRegionDTO>>();
- }
- /// <summary>
- /// 根据关键字段获取团队区域数据列表
- /// </summary>
- /// <param name="request">列表请求</param>
- /// <returns></returns>
- public async Task<List<TeamRegionDTO>> GetTeamRegionListByKeyAsync(GetTeamRegionListByKeyDBRequest request)
- {
- var filter = Builders<TeamRegionEntity>.Filter.Eq(request.Key, request.Value);
- filter = await AddPermissionFilter(filter, request.OperationDoctor);
- var result = await _teamRegionDBRepository.FindAllAsync(filter);
- return result.MappingTo<List<TeamRegionDTO>>();
- }
- /// <summary>
- /// 更新团队区域数据
- /// </summary>
- /// <param name="request">更新请求</param>
- /// <returns></returns>
- public async Task<bool> UpdateTeamRegionAsync(UpdateTeamRegionDBRequest request)
- {
- var filter = Builders<TeamRegionEntity>.Filter.Eq(f => f.Code, request.Code);
- var update = Builders<TeamRegionEntity>.Update
- .Set(f => f.TeamCode, request.TeamCode)
- .Set(f => f.FullName, request.FullName)
- .Set(f => f.RegionCode, request.RegionCode);
- return await _teamRegionDBRepository.UpdateOneAsync(filter, update) > 0;
- }
- }
- }
|