/// <summary> /// 物流发货 /// </summary> /// <param name="orderId"></param> /// <param name="logisticsType"></param> /// <param name="logisticsNo"></param> /// <param name="deliverName"></param> /// <param name="deliverAddress"></param> /// <param name="receiverName"></param> /// <param name="receiverAddress"></param> /// <param name="deliveTime"></param> public void Deliver(Guid orderId, LogisticsType logisticsType, string logisticsNo, string deliverName, string deliverAddress, Guid deliverUserId, string receiverName, string receiverAddress, DateTime?deliveTime) { OrderId = orderId; LogisticsType = logisticsType; LogisticsNo = logisticsNo; if (string.IsNullOrEmpty(deliverName)) { throw new DomainException("发货人无效!"); } if (string.IsNullOrEmpty(deliverAddress)) { throw new DomainException("发货地址未填写!"); } DeliverUserId = deliverUserId; DeliverName = deliverName; DeliverAddress = deliverAddress; ReceiverName = receiverName; ReceiverAddress = receiverAddress; if (deliveTime != null && deliveTime.Value >= DateTime.Now) { throw new DomainException("发货时间不能晚于现在!"); } DeliveTime = deliveTime ?? DateTime.Now; LogisticsState = LogisticsState.DeliverGoods; }
/// <summary> /// 物流收货 /// </summary> /// <param name="receiveTime"></param> public void Receive(Guid receiverUserId, DateTime?receiveTime) { if (LogisticsState == LogisticsState.DeliverGoods) { LogisticsState = LogisticsState.ReceivingGoods; ReceiverUserId = receiverUserId; if (receiveTime != null && receiveTime.Value >= DateTime.Now) { throw new DomainException("确认收货时间不能晚于现在!"); } ReceiveTime = receiveTime ?? DateTime.Now; } else { throw new DomainException("当前状态无法进行收货操作"); } }