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.1 KiB
83 lines
3.1 KiB
using BBWYB.Common.Log;
|
|
using BBWYB.Common.Models;
|
|
using BBWYB.Server.Business.Sync;
|
|
using BBWYB.Server.Model.Db;
|
|
using BBWYB.Server.Model.Dto;
|
|
using Yitter.IdGenerator;
|
|
|
|
namespace BBWYB.Server.Business
|
|
{
|
|
public class OrderMessageBusiness : BaseBusiness, IDenpendency
|
|
{
|
|
private MDSBusiness mdsBusiness;
|
|
private OrderSyncBusiness orderSyncBusiness;
|
|
private FreeSqlMultiDBManager mfsql;
|
|
|
|
public OrderMessageBusiness(IFreeSql fsql,
|
|
NLogManager nLogManager,
|
|
IIdGenerator idGenerator,
|
|
MDSBusiness mdsBusiness,
|
|
OrderSyncBusiness orderSyncBusiness,
|
|
FreeSqlMultiDBManager mfsql) : base(fsql, nLogManager, idGenerator)
|
|
{
|
|
this.mdsBusiness = mdsBusiness;
|
|
this.orderSyncBusiness = orderSyncBusiness;
|
|
this.mfsql = mfsql;
|
|
}
|
|
|
|
public void AddOrderMessage(AddOrderMessageRequest request, string token, string clientCode)
|
|
{
|
|
if (string.IsNullOrEmpty(request.Message) ||
|
|
string.IsNullOrEmpty(request.OrderId))
|
|
throw new BusinessException("留言信息不完整");
|
|
if (string.IsNullOrEmpty(clientCode))
|
|
throw new BusinessException("缺少客户端标识");
|
|
|
|
string orderSn = string.Empty;
|
|
long? shopId = null;
|
|
var order = fsql.Select<Order>(request.OrderId).ToOne();
|
|
if (order == null)
|
|
{
|
|
var bbwyPurchaseOrder = mfsql.BBWYCfsql.Ado.QuerySingle<Model.Db.BBWY.PurchaseOrderV2>($"select * from purchaseorderv2 where Id='{request.OrderId}'");
|
|
if (bbwyPurchaseOrder == null)
|
|
throw new BusinessException("订单不存在");
|
|
else
|
|
{
|
|
orderSn = bbwyPurchaseOrder.OrderSn;
|
|
shopId = bbwyPurchaseOrder.ShopId;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
orderSn = order.OrderSn;
|
|
shopId = order.ShopId;
|
|
}
|
|
|
|
|
|
var user = mdsBusiness.GetUserInfo(token);
|
|
var om = new OrderMessage()
|
|
{
|
|
Id = idGenerator.NewLong(),
|
|
CreateTime = DateTime.Now,
|
|
CreatorId = user.Id,
|
|
CreatorName = user.UserName,
|
|
Message = request.Message,
|
|
OrderId = request.OrderId,
|
|
OrderSn = orderSn,
|
|
ShopId = shopId,
|
|
From = clientCode
|
|
};
|
|
fsql.Insert(om).ExecuteAffrows();
|
|
}
|
|
|
|
public IList<OrderMessageResponse> GetOrderMessageList(string orderId)
|
|
{
|
|
return fsql.Select<OrderMessage>().Where(om => om.OrderId == orderId).ToList<OrderMessageResponse>();
|
|
}
|
|
|
|
public IList<OrderMessageResponse> GetOrderMessageList(string[] orderIds)
|
|
{
|
|
return fsql.Select<OrderMessage>().Where(om => orderIds.Contains(om.OrderId)).ToList<OrderMessageResponse>();
|
|
}
|
|
}
|
|
}
|
|
|