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.

56 lines
2.0 KiB

using BBWYB.Common.Log;
using BBWYB.Common.Models;
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;
public OrderMessageBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, MDSBusiness mdsBusiness) : base(fsql, nLogManager, idGenerator)
{
this.mdsBusiness = mdsBusiness;
}
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("缺少客户端标识");
var order = fsql.Select<Order>(request.OrderId).ToOne();
if (order == null)
throw new BusinessException("订单不存在");
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 = order.OrderSn,
ShopId = order.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>();
}
}
}