From 6f2383c6636f7c9303b42e19cd697bc2e806ace8 Mon Sep 17 00:00:00 2001 From: cheche <717840555@qq.com> Date: Fri, 15 Mar 2024 18:47:33 +0800 Subject: [PATCH] fix api --- .../IBusinessPlacePermissionsApi.cs | 18 +++++++ .../SaveBusinessPlacePermissionRequest.cs | 23 +++++++++ .../BusinessPlacePermissionsController.cs | 48 +++++++++++++++++++ .../SaveBusinessPlacePermissionRequest.cs | 19 ++++++++ .../IBusinessPlacePermissionsService.cs | 11 +++++ .../BusinessPlacePermissionsService.cs | 45 +++++++++++++++++ 6 files changed, 164 insertions(+) create mode 100644 Src/Dlhis.Basic.Api/IBusinessPlacePermissionsApi.cs create mode 100644 Src/Dlhis.Basic.Api/Request/SaveBusinessPlacePermissionRequest.cs create mode 100644 Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacePermissionsController.cs create mode 100644 Src/Dlhis.Basic/BusinessPlace/Request/SaveBusinessPlacePermissionRequest.cs create mode 100644 Src/Dlhis.Basic/BusinessPlace/Services/IBusinessPlacePermissionsService.cs create mode 100644 Src/Dlhis.Basic/BusinessPlace/Services/Implements/BusinessPlacePermissionsService.cs diff --git a/Src/Dlhis.Basic.Api/IBusinessPlacePermissionsApi.cs b/Src/Dlhis.Basic.Api/IBusinessPlacePermissionsApi.cs new file mode 100644 index 00000000..e9f31c56 --- /dev/null +++ b/Src/Dlhis.Basic.Api/IBusinessPlacePermissionsApi.cs @@ -0,0 +1,18 @@ +using Dlhis.Basic.Api.Request; +using Kurisu.Core.Result; +using Kurisu.RemoteCall.Attributes; + +namespace Dlhis.Basic.Api +{ + [EnableRemoteClient(Name = "basic-service", BaseUrl = "${InternalRequest:BasicRequestUrl}")] + public interface IBusinessPlacePermissionsApi + { + [Auth] + [Get("/api/businessplacepermissions/getPlaces")] + Task>> GetPlaceByUserIdAsync(int userId); + + [Auth] + [Post("/api/businessplacepermissions/savePlace")] + Task SaveBusinessPlacePermissionAsync(SaveBusinessPlacePermissionRequest request); + } +} diff --git a/Src/Dlhis.Basic.Api/Request/SaveBusinessPlacePermissionRequest.cs b/Src/Dlhis.Basic.Api/Request/SaveBusinessPlacePermissionRequest.cs new file mode 100644 index 00000000..f1f62866 --- /dev/null +++ b/Src/Dlhis.Basic.Api/Request/SaveBusinessPlacePermissionRequest.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Dlhis.Basic.Api.Request +{ + public class SaveBusinessPlacePermissionRequest + { + public long? Id { get; set; } + + /// + /// 管理人员 + /// + public int ManagerUserId { get; set; } + + /// + /// 营业点 + /// + public Guid BusinessPlaceCode { get; set; } + } +} diff --git a/Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacePermissionsController.cs b/Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacePermissionsController.cs new file mode 100644 index 00000000..8a34f65f --- /dev/null +++ b/Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacePermissionsController.cs @@ -0,0 +1,48 @@ +using Dlhis.Basic.BusinessPlace.Request; +using Dlhis.Basic.BusinessPlace.Services; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Org.BouncyCastle.Asn1.Ocsp; + +namespace Dlhis.Basic.BusinessPlace.Controllers +{ + /// + /// 营业点管理 + /// + [Authorize] + [Route("api/[controller]")] + [ApiController] + public class BusinessPlacePermissionsController + { + private readonly IBusinessPlacePermissionsService _businessPlacePermissionsService; + + public BusinessPlacePermissionsController(IBusinessPlacePermissionsService businessPlacePermissionsService) + { + _businessPlacePermissionsService = businessPlacePermissionsService; + } + + + /// + /// 根据用户获取管理点 + /// + /// + /// + [HttpGet("getPlaces")] + public async Task> GetPlaceByUserIdAsync(int userId) + { + return await _businessPlacePermissionsService.GetPlaceByUserIdAsync(userId); + } + + + /// + /// 保存营业点 + /// + /// + /// + [HttpPost("savePlace")] + public async Task SaveBusinessPlacePermissionAsync(SaveBusinessPlacePermissionRequest request) + { + await _businessPlacePermissionsService.SaveBusinessPlacePermissionAsync(request); + } + } +} diff --git a/Src/Dlhis.Basic/BusinessPlace/Request/SaveBusinessPlacePermissionRequest.cs b/Src/Dlhis.Basic/BusinessPlace/Request/SaveBusinessPlacePermissionRequest.cs new file mode 100644 index 00000000..d5b7d7ed --- /dev/null +++ b/Src/Dlhis.Basic/BusinessPlace/Request/SaveBusinessPlacePermissionRequest.cs @@ -0,0 +1,19 @@ +using SqlSugar; + +namespace Dlhis.Basic.BusinessPlace.Request +{ + public class SaveBusinessPlacePermissionRequest + { + public long? Id { get; set; } + + /// + /// 管理人员 + /// + public int ManagerUserId { get; set; } + + /// + /// 营业点 + /// + public Guid BusinessPlaceCode { get; set; } + } +} diff --git a/Src/Dlhis.Basic/BusinessPlace/Services/IBusinessPlacePermissionsService.cs b/Src/Dlhis.Basic/BusinessPlace/Services/IBusinessPlacePermissionsService.cs new file mode 100644 index 00000000..cdc7d5d6 --- /dev/null +++ b/Src/Dlhis.Basic/BusinessPlace/Services/IBusinessPlacePermissionsService.cs @@ -0,0 +1,11 @@ +using Dlhis.Basic.BusinessPlace.Request; + +namespace Dlhis.Basic.BusinessPlace.Services +{ + public interface IBusinessPlacePermissionsService : IScopeDependency + { + Task SaveBusinessPlacePermissionAsync(SaveBusinessPlacePermissionRequest request); + + Task> GetPlaceByUserIdAsync(int userId); + } +} diff --git a/Src/Dlhis.Basic/BusinessPlace/Services/Implements/BusinessPlacePermissionsService.cs b/Src/Dlhis.Basic/BusinessPlace/Services/Implements/BusinessPlacePermissionsService.cs new file mode 100644 index 00000000..44f100ae --- /dev/null +++ b/Src/Dlhis.Basic/BusinessPlace/Services/Implements/BusinessPlacePermissionsService.cs @@ -0,0 +1,45 @@ +using Dlhis.Basic.BusinessPlace.Request; +using Dlhis.Entity.Basic.Entity; +using Kurisu.SqlSugar.Services; +using Mapster; + +namespace Dlhis.Basic.BusinessPlace.Services.Implements +{ + public class BusinessPlacePermissionsService : IBusinessPlacePermissionsService + { + private readonly IDbContext _dbContext; + private readonly IBusinessPlaceService _businessPlaceService; + + public BusinessPlacePermissionsService(IDbContext dbContext, IBusinessPlaceService businessPlaceService) + { + _dbContext = dbContext; + _businessPlaceService = businessPlaceService; + } + + public async Task> GetPlaceByUserIdAsync(int userId) + { + return await _dbContext.Queryable() + .Where(x => x.ManagerUserId == userId) + .Select(x => x.BusinessPlaceCode) + .ToListAsync(); + } + + public async Task SaveBusinessPlacePermissionAsync(SaveBusinessPlacePermissionRequest request) + { + if(request.Id.HasValue) + { + var entity =await _dbContext.Queryable() + .Where(x => x.Id == request.Id).FirstAsync(); + request.Adapt(entity); + await _dbContext.UpdateAsync(entity); + } + else + { + var entity = request.Adapt(); + await _dbContext.InsertAsync(entity); + } + } + + + } +}