fix 营业点权限调整
This commit is contained in:
@@ -1,18 +1,12 @@
|
||||
using Dlhis.Basic.Api.Request;
|
||||
using Kurisu.Core.Result;
|
||||
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<DefaultApiResult<List<Guid>>> GetPlaceByUserIdAsync();
|
||||
namespace Dlhis.Basic.Api;
|
||||
|
||||
[Auth]
|
||||
[Post("/api/businessplacepermissions/savePlace")]
|
||||
Task SaveBusinessPlacePermissionAsync(SaveBusinessPlacePermissionRequest request);
|
||||
}
|
||||
[EnableRemoteClient(Name = "basic-service", BaseUrl = "${InternalRequest:BasicRequestUrl}")]
|
||||
public interface IBusinessPlacePermissionsApi
|
||||
{
|
||||
[Auth]
|
||||
[Get("/api/businessplacepermissions/my")]
|
||||
Task<DefaultApiResult<List<Guid>>> GetMyBussinessPlacesAsync();
|
||||
}
|
||||
|
||||
@@ -1,48 +1,57 @@
|
||||
using Dlhis.Basic.BusinessPlace.Request;
|
||||
using Dlhis.Basic.BusinessPlace.Response;
|
||||
using Dlhis.Basic.BusinessPlace.Services;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Org.BouncyCastle.Asn1.Ocsp;
|
||||
|
||||
namespace Dlhis.Basic.BusinessPlace.Controllers
|
||||
namespace Dlhis.Basic.BusinessPlace.Controllers;
|
||||
|
||||
/// <summary>
|
||||
/// 营业点管理
|
||||
/// </summary>
|
||||
[Authorize(Roles = "admin")]
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class BusinessPlacePermissionsController
|
||||
{
|
||||
/// <summary>
|
||||
/// 营业点管理
|
||||
/// </summary>
|
||||
[Authorize]
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class BusinessPlacePermissionsController
|
||||
private readonly IBusinessPlacePermissionsService _businessPlacePermissionsService;
|
||||
|
||||
public BusinessPlacePermissionsController(IBusinessPlacePermissionsService businessPlacePermissionsService)
|
||||
{
|
||||
private readonly IBusinessPlacePermissionsService _businessPlacePermissionsService;
|
||||
_businessPlacePermissionsService = businessPlacePermissionsService;
|
||||
}
|
||||
|
||||
public BusinessPlacePermissionsController(IBusinessPlacePermissionsService businessPlacePermissionsService)
|
||||
{
|
||||
_businessPlacePermissionsService = businessPlacePermissionsService;
|
||||
}
|
||||
/// <summary>
|
||||
/// 分页
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("page")]
|
||||
public async Task<Pagination<BusinessPlacePermissionPageResponse>> GetPageAsync([FromQuery] BusinessPlacePermissionPageRequest request)
|
||||
{
|
||||
return await _businessPlacePermissionsService.GetPageAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取我的营业点
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet("my")]
|
||||
public async Task<List<Guid>> GetMy()
|
||||
{
|
||||
return await _businessPlacePermissionsService.GetMyAsync();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 根据用户获取管理点
|
||||
/// </summary>
|
||||
/// <param name=""></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("getPlaces")]
|
||||
public async Task<List<Guid>> GetPlaceByUserIdAsync()
|
||||
{
|
||||
return await _businessPlacePermissionsService.GetPlaceByUserIdAsync();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 保存营业点
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("savePlace")]
|
||||
public async Task SaveBusinessPlacePermissionAsync(SaveBusinessPlacePermissionRequest request)
|
||||
{
|
||||
await _businessPlacePermissionsService.SaveBusinessPlacePermissionAsync(request);
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存营业点
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("save")]
|
||||
public async Task SaveBusinessPlacePermissionAsync(SaveBusinessPlacePermissionRequest request)
|
||||
{
|
||||
await _businessPlacePermissionsService.SaveBusinessPlacePermissionAsync(request);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
|
||||
namespace Dlhis.Basic.BusinessPlace.Request;
|
||||
|
||||
public class BusinessPlacePermissionPageRequest : PageDto
|
||||
{
|
||||
}
|
||||
@@ -1,14 +1,18 @@
|
||||
using SqlSugar;
|
||||
|
||||
namespace Dlhis.Basic.BusinessPlace.Request
|
||||
{
|
||||
public class SaveBusinessPlacePermissionRequest
|
||||
{
|
||||
public long? Id { get; set; }
|
||||
namespace Dlhis.Basic.BusinessPlace.Request;
|
||||
|
||||
/// <summary>
|
||||
/// 营业点
|
||||
/// </summary>
|
||||
public Guid BusinessPlaceCode { get; set; }
|
||||
}
|
||||
public class SaveBusinessPlacePermissionRequest
|
||||
{
|
||||
public long? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 管理人员userId
|
||||
/// </summary>
|
||||
public int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 营业点
|
||||
/// </summary>
|
||||
public Guid BusinessPlaceCode { get; set; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
namespace Dlhis.Basic.BusinessPlace.Response;
|
||||
|
||||
public class BusinessPlacePermissionPageResponse
|
||||
{
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户id
|
||||
/// </summary>
|
||||
public string UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户name
|
||||
/// </summary>
|
||||
public string UserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 营业点code
|
||||
/// </summary>
|
||||
public Guid BusinessPlaceCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 营业点名称
|
||||
/// </summary>
|
||||
public string BusinessPlaceName { get; set; }
|
||||
}
|
||||
@@ -1,11 +1,14 @@
|
||||
using Dlhis.Basic.BusinessPlace.Request;
|
||||
using Dlhis.Basic.BusinessPlace.Response;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
|
||||
namespace Dlhis.Basic.BusinessPlace.Services
|
||||
namespace Dlhis.Basic.BusinessPlace.Services;
|
||||
|
||||
public interface IBusinessPlacePermissionsService : IScopeDependency
|
||||
{
|
||||
public interface IBusinessPlacePermissionsService : IScopeDependency
|
||||
{
|
||||
Task SaveBusinessPlacePermissionAsync(SaveBusinessPlacePermissionRequest request);
|
||||
Task<Pagination<BusinessPlacePermissionPageResponse>> GetPageAsync(BusinessPlacePermissionPageRequest request);
|
||||
|
||||
Task<List<Guid>> GetPlaceByUserIdAsync();
|
||||
}
|
||||
Task SaveBusinessPlacePermissionAsync(SaveBusinessPlacePermissionRequest request);
|
||||
|
||||
Task<List<Guid>> GetMyAsync();
|
||||
}
|
||||
|
||||
@@ -1,48 +1,55 @@
|
||||
using Dlhis.Basic.BusinessPlace.Request;
|
||||
using Dlhis.Basic.BusinessPlace.Response;
|
||||
using Dlhis.Entity.Basic.Entity;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
using Kurisu.Core.User.Abstractions;
|
||||
using Kurisu.SqlSugar.Services;
|
||||
using Mapster;
|
||||
|
||||
namespace Dlhis.Basic.BusinessPlace.Services.Implements
|
||||
namespace Dlhis.Basic.BusinessPlace.Services.Implements;
|
||||
|
||||
public class BusinessPlacePermissionsService : IBusinessPlacePermissionsService
|
||||
{
|
||||
public class BusinessPlacePermissionsService : IBusinessPlacePermissionsService
|
||||
private readonly IDbContext _dbContext;
|
||||
private readonly ICurrentUser _currentUser;
|
||||
|
||||
public BusinessPlacePermissionsService(IDbContext dbContext)
|
||||
{
|
||||
private readonly IDbContext _dbContext;
|
||||
private readonly IBusinessPlaceService _businessPlaceService;
|
||||
private readonly ICurrentUser _currentUser;
|
||||
_dbContext = dbContext;
|
||||
}
|
||||
|
||||
public BusinessPlacePermissionsService(IDbContext dbContext, IBusinessPlaceService businessPlaceService)
|
||||
public async Task<Pagination<BusinessPlacePermissionPageResponse>> GetPageAsync(BusinessPlacePermissionPageRequest request)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public async Task<List<Guid>> GetMyAsync()
|
||||
{
|
||||
var userId = _currentUser.GetIntSubjectId();
|
||||
|
||||
return await _dbContext.Queryable<BusinessPlaceManagerRelationshipEntity>()
|
||||
.Where(x => x.ManagerUserId == userId)
|
||||
.Select(x => x.BusinessPlaceCode)
|
||||
.Distinct()
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task SaveBusinessPlacePermissionAsync(SaveBusinessPlacePermissionRequest request)
|
||||
{
|
||||
var userId = _currentUser.GetIntSubjectId();
|
||||
if (request.Id.HasValue)
|
||||
{
|
||||
_dbContext = dbContext;
|
||||
_businessPlaceService = businessPlaceService;
|
||||
var entity = await _dbContext.Queryable<BusinessPlaceManagerRelationshipEntity>()
|
||||
.Where(x => x.Id == request.Id).FirstAsync();
|
||||
|
||||
request.Adapt(entity);
|
||||
await _dbContext.UpdateAsync(entity);
|
||||
}
|
||||
|
||||
public async Task<List<Guid>> GetPlaceByUserIdAsync()
|
||||
else
|
||||
{
|
||||
var userId = _currentUser.GetIntSubjectId();
|
||||
return await _dbContext.Queryable<BusinessPlaceManagerRelationshipEntity>()
|
||||
.Where(x => x.ManagerUserId == userId)
|
||||
.Select(x => x.BusinessPlaceCode)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task SaveBusinessPlacePermissionAsync(SaveBusinessPlacePermissionRequest request)
|
||||
{
|
||||
var userId = _currentUser.GetIntSubjectId();
|
||||
if (request.Id.HasValue)
|
||||
{
|
||||
var entity =await _dbContext.Queryable<BusinessPlaceManagerRelationshipEntity>()
|
||||
.Where(x => x.Id == request.Id).FirstAsync();
|
||||
request.Adapt(entity);
|
||||
await _dbContext.UpdateAsync(entity);
|
||||
}
|
||||
else
|
||||
{
|
||||
var entity = request.Adapt<BusinessPlaceManagerRelationshipEntity>();
|
||||
entity.ManagerUserId = userId;
|
||||
await _dbContext.InsertAsync(entity);
|
||||
}
|
||||
var entity = request.Adapt<BusinessPlaceManagerRelationshipEntity>();
|
||||
entity.ManagerUserId = userId;
|
||||
await _dbContext.InsertAsync(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Kurisu.SqlSugar;
|
||||
using Mapster;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Dlhis.Entity.Basic.Entity;
|
||||
@@ -12,6 +13,7 @@ public class BusinessPlaceManagerRelationshipEntity : SugarBaseEntity
|
||||
/// <summary>
|
||||
/// 管理人员
|
||||
/// </summary>
|
||||
[AdaptIgnore(MemberSide.Destination)]
|
||||
[SugarColumn(ColumnDescription = "管理人员", IsNullable = false)]
|
||||
public int ManagerUserId { get; set; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user