Browse Source

Merge branch 'master' of http://code.qiyue666.com/pengcong001/bbwy

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
a41c4fa2ce
  1. 2
      BBWY.Server.Business/Extensions/OrderCostExtension.cs
  2. 8
      BBWY.Server.Business/Order/OrderBusiness.cs
  3. 111
      BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs
  4. 26
      BBWY.Server.Business/Sync/OrderSyncBusiness.cs
  5. 12
      BBWY.Server.Business/Sync/ProductSyncBusiness.cs

2
BBWY.Server.Business/Extensions/OrderCostExtension.cs

@ -1,8 +1,6 @@
using BBWY.Server.Model.Db;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BBWY.Server.Business.Extensions
{

8
BBWY.Server.Business/Order/OrderBusiness.cs

@ -1112,14 +1112,16 @@ namespace BBWY.Server.Business
{
var select = fsql.Select<OrderSku, Order, OrderCostDetail, PurchaseOrder, Product>()
.InnerJoin((osku, o, ocd, po, p) => osku.OrderId == o.Id)
.InnerJoin((osku, o, ocd, po, p) => osku.OrderId == ocd.OrderId && osku.SkuId == ocd.SkuId)
.InnerJoin((osku, o, ocd, po, p) => ocd.PurchaseOrderPKId == po.Id)
.LeftJoin((osku, o, ocd, po, p) => osku.OrderId == ocd.OrderId && osku.SkuId == ocd.SkuId)
.LeftJoin((osku, o, ocd, po, p) => ocd.PurchaseOrderPKId == po.Id)
.LeftJoin((osku, o, ocd, po, p) => osku.ProductId == p.Id)
.WhereIf(request.ShopIds != null && request.ShopIds.Count() > 0, (osku, o, ocd, po, p) => request.ShopIds.Contains(o.ShopId))
.WhereIf(request.PurchasePlatform != null, (osku, o, ocd, po, p) => po.PurchasePlatform == request.PurchasePlatform)
.Where((osku, o, ocd, po, p) => o.StartTime >= request.StartTime &&
o.StartTime <= request.EndTime &&
o.OrderState != Enums.OrderState.)
o.OrderState != Enums.OrderState. &&
o.IsGift == false &&
osku.Price > 0)
.OrderByDescending((osku, o, ocd, po, p) => o.StartTime);
return select;
}

111
BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs

@ -58,6 +58,27 @@ namespace BBWY.Server.Business
ShopId = s.ShopId,
RenewalOrderId = s.RenewalOrderId,
ReturnCheckRemark = s.ReturnCheckRemark,
AfterTotalCost = s.AfterTotalCost,
ConsumableAmount = s.ConsumableAmount,
DeliveryExpressFreight = s.DeliveryExpressFreight,
FirstFreight = s.FirstFreight,
InStorageAmount = s.InStorageAmount,
OutStorageAmount = s.OutStorageAmount,
PurchaseOrderPKId = s.PurchaseOrderPKId,
RefundAlipayOrderNo = s.RefundAlipayOrderNo,
RefundAmount = s.RefundAmount,
RefundInStorageAmount = s.RefundInStorageAmount,
RefundPurchaseAmount = s.RefundPurchaseAmount,
ReissueAfterSaleAmount = s.ReissueAfterSaleAmount,
StorageAmount = s.StorageAmount,
SDRefundFreight = s.SDRefundFreight,
RenewalType = s.RenewalType,
RenewalPurchasePlatform = s.RenewalPurchasePlatform,
RenewalPurchaseOrderId = s.RenewalPurchaseOrderId,
ReissueProductAmount = s.ReissueProductAmount,
ReissueFreight = s.ReissueFreight,
RefundTime = s.RefundTime,
RefundMerchantOrderNo = s.RefundMerchantOrderNo,
Title = osku.Title,
ItemTotal = osku.ItemTotal.Value,
@ -81,23 +102,85 @@ namespace BBWY.Server.Business
public void EditServiceOrder(EditQueryServiceOrderRequest request)
{
var dbso = fsql.Select<ServiceOrder>(request.ServicePId).ToOne();
if (dbso == null)
throw new BusinessException("服务端不存在");
dbso.ServiceResult = request.ServiceResult;
dbso.ReturnDirection = request.ReturnDirection;
dbso.RenewalOrderId = request.RenewalOrderId;
dbso.ReturnCheckRemark = request.ReturnCheckRemark;
dbso.RenewalType = request.RenewalType;
dbso.RenewalPurchaseOrderId = request.RenewalPurchaseOrderId;
dbso.RenewalPurchasePlatform = request.RenewalPurchasePlatform;
fsql.Transaction(() =>
dbso.ReissueAfterSaleAmount = request.ReissueAfterSaleAmount;
dbso.ConsumableAmount = 0M;
dbso.DeliveryExpressFreight = 0M;
dbso.FirstFreight = 0M;
dbso.InStorageAmount = 0M;
dbso.OutStorageAmount = 0M;
dbso.RefundInStorageAmount = 0M;
dbso.ReissueFreight = 0M;
dbso.ReissueProductAmount = 0M;
dbso.StorageAmount = 0M;
dbso.AfterTotalCost = 0M;
dbso.SDRefundFreight = 0M;
if (request.ServiceResult == Model.Enums.ServiceResult.退 ||
request.ServiceResult == Model.Enums.ServiceResult. ||
request.ServiceResult == Model.Enums.ServiceResult.线 ||
request.ServiceResult == Model.Enums.ServiceResult.退)
{
//if(request.ReturnDirection == Model.Enums.ReturnDirection.退货仓)
dbso.ReissueAfterSaleAmount = request.ReissueAfterSaleAmount;
}
else if (request.ServiceResult == Model.Enums.ServiceResult.)
{
var dbOrderCostDetail = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == request.OrderId &&
ocd.SkuId == dbso.SkuId &&
ocd.IsEnabled == true).ToOne();
if (dbOrderCostDetail != null)
{
var dbPurchaseOrder = dbOrderCostDetail != null ? fsql.Select<PurchaseOrder>(dbOrderCostDetail.PurchaseOrderPKId).ToOne() : null;
dbso.ConsumableAmount = dbOrderCostDetail.ConsumableAmount;
dbso.DeliveryExpressFreight = dbOrderCostDetail.DeliveryExpressFreight;
dbso.FirstFreight = dbOrderCostDetail.FirstFreight;
dbso.ReissueProductAmount = dbOrderCostDetail.SkuAmount;
dbso.ReissueFreight = dbOrderCostDetail.PurchaseFreight;
dbso.StorageAmount = dbOrderCostDetail.StorageAmount;
dbso.InStorageAmount = dbOrderCostDetail.InStorageAmount;
dbso.OutStorageAmount = dbOrderCostDetail.OutStorageAmount;
}
}
else if (request.ServiceResult == Model.Enums.ServiceResult.)
{
fsql.Update<ServiceOrder>(request.ServicePId).Set(s => s.ServiceResult, request.ServiceResult)
.Set(s => s.SDRefundFreight, request.SDRefundFreight)
.Set(s => s.ReturnDirection, request.ReturnDirection)
.Set(s => s.RenewalOrderId, request.RenewalOrderId)
.Set(s => s.ReissueAfterSaleAmount, request.ReissueAfterSaleAmount)
.Set(s => s.ReturnCheckRemark, request.ReturnCheckRemark)
.Set(s => s.RenewalType, request.RenewalType)
.Set(s => s.RenewalPurchaseOrderId, request.RenewalPurchaseOrderId)
.Set(s => s.RenewalPurchasePlatform, request.RenewalPurchasePlatform)
.Set(s => s.ReissueFreight, request.ReissueFreight)
.Set(s => s.ReissueProductAmount, request.ReissueProductAmount)
.ExecuteAffrows();
});
dbso.ReissueAfterSaleAmount = request.ReissueAfterSaleAmount;
dbso.ReissueProductAmount = request.ReissueProductAmount;
dbso.ReissueFreight = request.ReissueFreight;
}
else if (request.ServiceResult == Model.Enums.ServiceResult.SD退货)
{
dbso.ReissueAfterSaleAmount = 0M;
dbso.SDRefundFreight = request.SDRefundFreight;
}
dbso.AfterTotalCost = dbso.ReissueAfterSaleAmount +
dbso.ReissueFreight.Value +
dbso.ReissueProductAmount.Value +
dbso.ConsumableAmount.Value +
dbso.DeliveryExpressFreight.Value +
dbso.FirstFreight.Value +
dbso.InStorageAmount.Value +
dbso.OutStorageAmount.Value +
dbso.RefundInStorageAmount.Value + //退货入仓操作费 没有计算
dbso.StorageAmount +
dbso.SDRefundFreight;
fsql.Transaction(() =>
{
fsql.Update<ServiceOrder>().SetSource(dbso).ExecuteAffrows();
});
}
}
}

26
BBWY.Server.Business/Sync/OrderSyncBusiness.cs

@ -221,7 +221,9 @@ namespace BBWY.Server.Business
List<OrderSku> insertOrderSkuList = new List<OrderSku>();
List<OrderCoupon> insertOrderCouponList = new List<OrderCoupon>();
IList<IUpdate<Order>> updateOrderList = new List<IUpdate<Order>>();
IList<IUpdate<OrderSku>> updateOrderSkuList = new List<IUpdate<OrderSku>>();
IList<IUpdate<PurchaseOrder>> updatePurchaseOrderList = new List<IUpdate<PurchaseOrder>>();
#endregion
@ -254,6 +256,7 @@ namespace BBWY.Server.Business
var dbOrderConsigneeList = fsql.Select<OrderConsignee>().Where(oc => interfaceOrderIdList.Contains(oc.OrderId)).ToList(); //数据库订单收货信息
var dbOrderCostList = fsql.Select<OrderCost>().Where(oc => interfaceOrderIdList.Contains(oc.OrderId)).ToList(); //数据库订单成本信息
var dbOrderCouponList = fsql.Select<OrderCoupon>().Where(oc => interfaceOrderIdList.Contains(oc.OrderId)).ToList(); //数据库订单优惠信息
var dbOrderSkuList = fsql.Select<OrderSku>().Where(osku => interfaceOrderIdList.Contains(osku.OrderId)).ToList(); //数据库sku信息
List<OrderCostDetail> dbOrderCostDetailList = null; //数据库成本明细
if (interfaceCanceledOrderIdList.Count() > 0 &&
@ -379,6 +382,23 @@ namespace BBWY.Server.Business
{
if (storageType != null && dbOrder.StorageType != storageType)
dbOrder.StorageType = storageType;
var currentDbOrderSkuList = dbOrderSkuList.Where(osku => osku.OrderId == orderId).ToList();
var itemInfoList = orderJToken["itemInfoList"] as JArray;
foreach (var orderSkuJToken in itemInfoList)
{
//var itemTotal = orderSkuJToken.Value<int>("itemTotal");
//var jdPrice = orderSkuJToken.Value<decimal>("jdPrice");
var wareId = orderSkuJToken.Value<string>("wareId");
var skuId = orderSkuJToken.Value<string>("skuId");
var dbOsku = currentDbOrderSkuList.FirstOrDefault(osku => osku.SkuId == skuId);
if (dbOsku != null && dbOsku.ProductId != wareId)
{
updateOrderSkuList.Add(fsql.Update<OrderSku>(dbOsku.Id).Set(osku => osku.ProductId, wareId));
}
}
}
#endregion
@ -693,6 +713,12 @@ namespace BBWY.Server.Business
foreach (var update in updateOrderList)
update.ExecuteAffrows();
}
if (updateOrderSkuList.Count() > 0)
{
foreach (var update in updateOrderSkuList)
update.ExecuteAffrows();
}
});
}

12
BBWY.Server.Business/Sync/ProductSyncBusiness.cs

@ -259,13 +259,14 @@ namespace BBWY.Server.Business.Sync
}
#endregion
#region 找出状态变化的产品
var stateChangeProductList = productList.Where(p => dbProductList.Any(dp => dp.Id == p.Id && dp.State != p.State)).ToList();
#region 找出变化的产品 (状态,标题)
var stateChangeProductList = productList.Where(p => dbProductList.Any(dp => dp.Id == p.Id && (dp.State != p.State || dp.Title != p.Title))).ToList();
if (stateChangeProductList.Count() > 0)
{
foreach (var product in stateChangeProductList)
{
var update = fsql.Update<Product>(product.Id).Set(p => p.State, product.State);
var update = fsql.Update<Product>(product.Id).Set(p => p.State, product.State)
.Set(p => p.Title, product.Title);
updateProductList.Add(update);
}
}
@ -303,12 +304,13 @@ namespace BBWY.Server.Business.Sync
#endregion
#region 找出状态变化的SKU
var stateChangeProductSkuList = productSkuList.Where(p => dbProductSkuList.Any(dp => dp.Id == p.Id && dp.State != p.State)).ToList();
var stateChangeProductSkuList = productSkuList.Where(p => dbProductSkuList.Any(dp => dp.Id == p.Id && (dp.State != p.State || dp.Title != p.Title))).ToList();
if (stateChangeProductSkuList.Count() > 0)
{
foreach (var productSku in stateChangeProductSkuList)
{
var update = fsql.Update<ProductSku>(productSku.Id).Set(p => p.State, productSku.State);
var update = fsql.Update<ProductSku>(productSku.Id).Set(p => p.State, productSku.State)
.Set(p => p.Title, productSku.Title);
updateProductSkuList.Add(update);
}
}

Loading…
Cancel
Save