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(request.OrderId).ToOne(); if (order == null) { var bbwyPurchaseOrder = mfsql.BBWYCfsql.Ado.QuerySingle($"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 GetOrderMessageList(string orderId) { return fsql.Select().Where(om => om.OrderId == orderId).ToList(); } public IList GetOrderMessageList(string[] orderIds) { return fsql.Select().Where(om => orderIds.Contains(om.OrderId)).ToList(); } } }