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