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; }
+ }
+}