|
@@ -1,11 +1,14 @@
|
|
|
using Hotline.Application.Knowledge;
|
|
|
using Hotline.KnowledgeBase;
|
|
|
using Hotline.Permissions;
|
|
|
+using Hotline.Repository.SqlSugar.Extensions;
|
|
|
using Hotline.Share.Dtos;
|
|
|
using Hotline.Share.Dtos.Knowledge;
|
|
|
using Hotline.Share.Enums.KnowledgeBase;
|
|
|
+using Hotline.Share.Requests;
|
|
|
using MapsterMapper;
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
+using System.Threading;
|
|
|
using XF.Domain.Authentications;
|
|
|
using XF.Domain.Exceptions;
|
|
|
|
|
@@ -70,18 +73,21 @@ namespace Hotline.Api.Controllers
|
|
|
/// <summary>
|
|
|
///知识申请-信息办理
|
|
|
/// </summary>
|
|
|
- /// <param name="Id"></param>
|
|
|
+ /// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.KnowApplyHandle)]
|
|
|
[HttpPut("apply-handle")]
|
|
|
- public async Task ApplyHandle(string Id)
|
|
|
+ public async Task ApplyHandle([FromBody] KnowledgeApplyHandleDto dto)
|
|
|
{
|
|
|
//查询申请信息
|
|
|
- var handle = await _knowledgeApplyRepository.GetAsync(Id, HttpContext.RequestAborted);
|
|
|
+ var handle = await _knowledgeApplyRepository.GetAsync(dto.Id, HttpContext.RequestAborted);
|
|
|
|
|
|
if (handle is null)
|
|
|
throw UserFriendlyException.SameMessage("办理失败");
|
|
|
handle.Status = EKnowledgeApplyStatus.Succeed;
|
|
|
+ handle.HandleTime = DateTime.Now;
|
|
|
+ handle.KnowledgeId = dto.KnowledgeId;
|
|
|
+ handle.Opinion = dto.Opinion;
|
|
|
//修改办理信息
|
|
|
await _knowledgeApplyRepository.UpdateAsync(handle, HttpContext.RequestAborted);
|
|
|
}
|
|
@@ -116,6 +122,7 @@ namespace Hotline.Api.Controllers
|
|
|
if (handle is null)
|
|
|
throw UserFriendlyException.SameMessage("退回失败");
|
|
|
handle.Status = EKnowledgeApplyStatus.Failed;
|
|
|
+ handle.ReturnTime = DateTime.Now;
|
|
|
await _knowledgeApplyRepository.UpdateAsync(handle, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
@@ -148,7 +155,7 @@ namespace Hotline.Api.Controllers
|
|
|
DataKnowledgeApplyDto dataKnowledgeApplyDto = new();
|
|
|
_mapper.Map(handle, dataKnowledgeApplyDto);
|
|
|
|
|
|
- var knowledge = await _knowledgeRepository.GetAsync(p => p.Applies.Contains(Id), HttpContext.RequestAborted);
|
|
|
+ var knowledge = await _knowledgeRepository.GetAsync(p => p.Id == handle.KnowledgeId, HttpContext.RequestAborted);
|
|
|
if (knowledge != null)
|
|
|
{
|
|
|
dataKnowledgeApplyDto.KBID = knowledge.Id;
|
|
@@ -158,6 +165,23 @@ namespace Hotline.Api.Controllers
|
|
|
return dataKnowledgeApplyDto;
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 查询知识申请-新增知识申请
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="pagedDto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("addapply")]
|
|
|
+ public async Task<PagedDto<DataAddApplyDto>> GetAddApply([FromQuery] PagedRequest pagedDto)
|
|
|
+ {
|
|
|
+ var (total, items) = await _knowledgeApplyRepository
|
|
|
+ .Queryable()
|
|
|
+ .Where(d => d.CreatorId == _sessionContext.RequiredUserId&&d.KnowledgeApplyType== EKnowledgeApplyType.Add&&d.Status== EKnowledgeApplyStatus.Handling)
|
|
|
+ .OrderByDescending(p => p.CreationTime)
|
|
|
+ .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ return new PagedDto<DataAddApplyDto>(total, _mapper.Map<IReadOnlyList<DataAddApplyDto>>(items));
|
|
|
+ }
|
|
|
+
|
|
|
#region 我的知识申请
|
|
|
/// <summary>
|
|
|
/// 我的知识申请--全部
|