Пример #1
0
        public static CreateOrderResult CreateOrder(decimal price, string pid, string name, Guid vipUserId,
                                                    int num, string remark)
        {
            var vipUser     = BaoYangExternalService.GetCompanyUserInfo(vipUserId);
            var companyId   = vipUser.CompanyId == 0 ? (int?)null : vipUser.CompanyId;
            var companyName = string.Empty;

            if (companyId != null && vipUser.CompanyInfo != null)
            {
                if (vipUser.CompanyInfo.Id == companyId.Value)
                {
                    companyName = vipUser.CompanyInfo.Name;
                }
                else if (vipUser.CompanyInfo.ChildCompany != null)
                {
                    companyName = vipUser.CompanyInfo.ChildCompany.FirstOrDefault(c => c.Id == companyId.Value)?.Name;
                }
            }
            var createOrderRequest = new CreateOrderRequest
            {
                OrderChannel = "f大客户保养套餐",
                OrderType    = "44大客户保养2B保批",
                Status       = OrderEnum.OrderStatus.New,
                Customer     = new OrderCustomer
                {
                    UserId   = vipUser.UserId,
                    UserName = vipUser.UserName,
                    UserTel  = vipUser.UserMobile,
                },
                Delivery = new OrderDelivery
                {
                    DeliveryStatus = OrderEnum.DeliveryStatus.Signed,
                    DeliveryType   = OrderEnum.DeliveryType.NoDelivery,
                    InstallType    = OrderEnum.InstallType.ShopInstall,
                },
                Payment = new OrderPayment
                {
                    PayStatus   = OrderEnum.PayStatus.Waiting,
                    PayMothed   = OrderEnum.PayMethod.MonthPay,
                    PaymentType = "5Special",
                },
                Money = new OrderMoney
                {
                    SumMoney       = price * num,
                    SumMarkedMoney = price * num,
                },
                Items = new List <OrderItem>()
                {
                    new OrderItem()
                    {
                        Price    = price,
                        Pid      = pid,
                        Num      = num,
                        Name     = name,
                        Category = "BXGSDCBY"
                    }
                },
                SumNum = num,
                Remark = remark,
                BigCustomerCompanyId   = companyId,
                BigCustomerCompanyName = companyName,
            };
            CreateOrderResult result = null;

            try
            {
                result = BaoYangExternalService.CreateOrder(createOrderRequest);
            }
            catch (Exception ex)
            {
                Logger.Error($"创建订单失败, request:{{{JsonConvert.SerializeObject(createOrderRequest)}}}", ex);
            }
            return(result);
        }