From 29f715decc3490d5e1c3ad6329743a6c842e891f Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Mon, 25 Sep 2023 02:02:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=AE=AE=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/OrderController.cs | 10 +++++++ BBWYB.Server.Business/Order/OrderBusiness.cs | 27 +++++++++++++++++-- .../Order/CompleteOptimizationRequest.cs | 11 ++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 BBWYB.Server.Model/Dto/Request/Order/CompleteOptimizationRequest.cs diff --git a/BBWYB.Server.API/Controllers/OrderController.cs b/BBWYB.Server.API/Controllers/OrderController.cs index 538d1f8..8a3b6a6 100644 --- a/BBWYB.Server.API/Controllers/OrderController.cs +++ b/BBWYB.Server.API/Controllers/OrderController.cs @@ -163,5 +163,15 @@ namespace BBWYB.Server.API.Controllers { orderBusiness.SetSpecialOrder(request); } + + /// + /// 完成议价,此操作将完成相同SKU的议价标记和待议价任务 + /// + /// + [HttpPost] + public void CompleteOptimization([FromBody]CompleteOptimizationRequest request) + { + orderBusiness.CompleteOptimization(request); + } } } diff --git a/BBWYB.Server.Business/Order/OrderBusiness.cs b/BBWYB.Server.Business/Order/OrderBusiness.cs index 6f7f8d3..ed2bba6 100644 --- a/BBWYB.Server.Business/Order/OrderBusiness.cs +++ b/BBWYB.Server.Business/Order/OrderBusiness.cs @@ -12,9 +12,7 @@ using Newtonsoft.Json; using SDKAdapter; using SDKAdapter.OperationPlatform.Client; using SDKAdapter.OperationPlatform.Models; -using System.Collections.Concurrent; using System.Linq.Expressions; -using System.Security.Cryptography; using Yitter.IdGenerator; namespace BBWYB.Server.Business @@ -854,5 +852,30 @@ namespace BBWYB.Server.Business { fsql.Update(request.OrderId).Set(o => o.IsSpecialOrder, request.IsSpecialOrder).ExecuteAffrows(); } + + /// + /// 完成议价 + /// + /// + public void CompleteOptimization(CompleteOptimizationRequest request) + { + fsql.Transaction(() => + { + fsql.Update().Set(osku => osku.IsOptimizationCompleted, 1) + .Where(osku => osku.ShopId == request.ShopId && + osku.SkuId == request.SkuId && + osku.IsNeedOptimization == 1 && + osku.IsOptimizationCompleted == 0) + .ExecuteAffrows(); + + fsql.Update().Set(t => t.CompletionTime, DateTime.Now) + .Set(t => t.IsTimely == (DateTime.Now < t.ExpirationTime ? true : false)) + .Where(t => t.ShopId == request.ShopId && + t.SkuId == request.SkuId && + t.CompletionTime == null && + t.TaskType == Enums.TimeLimitTaskType.待议价任务) + .ExecuteAffrows(); + }); + } } } diff --git a/BBWYB.Server.Model/Dto/Request/Order/CompleteOptimizationRequest.cs b/BBWYB.Server.Model/Dto/Request/Order/CompleteOptimizationRequest.cs new file mode 100644 index 0000000..d47f383 --- /dev/null +++ b/BBWYB.Server.Model/Dto/Request/Order/CompleteOptimizationRequest.cs @@ -0,0 +1,11 @@ +namespace BBWYB.Server.Model.Dto +{ + public class CompleteOptimizationRequest + { + //public string OrderId { get; set; } + + public long ShopId { get; set; } + + public string SkuId { get; set; } + } +}