You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
3.0 KiB

using BBWYB.Server.Business;
using BBWYB.Server.Model.Dto;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace BBWYB.Server.API.Controllers
{
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public class SkuOptimizationController : BaseApiController
{
private OptimizationBusiness optimizationBusiness;
public SkuOptimizationController(IHttpContextAccessor httpContextAccessor, OptimizationBusiness optimizationBusiness) : base(httpContextAccessor)
{
this.optimizationBusiness = optimizationBusiness;
}
/// <summary>
/// 良库预警通知
/// </summary>
/// <param name="request"></param>
[HttpPost]
public void LKInventoryAlertNotification([FromBody] BatchLKInventoryAlertRequest request)
{
optimizationBusiness.LKInventoryAlertNotification(request);
}
/// <summary>
/// 完成待优化任务(当所有议价组的子任务优化完成, 所属待优化任务才会完成)
/// </summary>
/// <param name="taskId">待优化任务Id</param>
[HttpPost("{taskId}")]
public void CompleteOptimization([FromRoute] long taskId)
{
var userId = GetUserId();
optimizationBusiness.CompleteOptimization(taskId, userId);
}
/// <summary>
/// 更新报价
/// </summary>
/// <param name="request"></param>
[HttpPost]
public void BatchUpdateCompetitiveTenderQuotation([FromBody] BatchUpdateCompetitiveTenderQuotationRequest request)
{
optimizationBusiness.BatchUpdateCompetitiveTenderQuotation(request, GetUserId());
}
/// <summary>
/// 查询待议价任务列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public ListResponse<SpuOptimizationTaskResponse> GetNoCompletionSkuOptimizationTask([FromBody] QueryNoCompletionOptimizationTaskRequest request)
{
var userId = GetUserId();
return optimizationBusiness.GetNoCompletionSkuOptimizationTask(request, userId);
}
/// <summary>
/// 删除采购方案分组(包括采购方案和竞标关系)
/// </summary>
/// <param name="request"></param>
[HttpPost]
public void DeleteSchemeGroup(DeleteSchemeGroupFromSpuOptimizationTaskRequest request)
{
var userId = GetUserId();
optimizationBusiness.DeleteSchemeGroup(request, userId);
}
/// <summary>
/// 获取未完成spu优化任务数量
/// </summary>
/// <returns></returns>
[HttpGet]
public long GetNoCompletedSpuOptimizationTaskCount()
{
return optimizationBusiness.GetNoCompletedSpuOptimizationTaskCount();
}
}
}