コード例 #1
0
        public string Submit([FromBody] QueryCreateOrder query)
        {
            query.Ssid = query.Ssid.Substring(1, query.Ssid.Length - 2);
            var json = new OrderBll().SubimtOrder(query);

            return(JsonConvert.SerializeObject(json));
        }
コード例 #2
0
        public ResultSubmitOrder SubimtOrder(QueryCreateOrder query)
        {
            var result = new ResultSubmitOrder {
                Exception = new MyException()
            };

            try
            {
                result.Exception.Success = false;
                if (!ValidateUserSsid(query.Ssid) || !ValidateCheckCode(new EncryDecryPhone().Md5Encrypt(query.Phone), query.CheckCode))
                {
                    return(result);
                }

                var userSsid    = GetRealSsid(query.Ssid);
                var orderId     = GetOrderId(query.Phone);
                var session     = GetSession(userSsid);
                var userRegName = session.Length == 3 ? $"{session.GetValue(2)}" : userSsid;
                using (var ts = new TransactionScope())
                {
                    try
                    {
                        //更新cartgo
                        _userCartgo.SubmitOrder(userRegName, orderId);
                        //插入订单表
                        var order = new Tb_Order
                        {
                            Address     = query.Address,
                            CreateTime  = DateTime.Now,
                            PhoneNumber = query.Phone,
                            OrderId     = orderId,
                            AreaId      = int.Parse(query.AreaId)
                        };

                        order.UserId = userRegName;
                        _userCartgo.AddOrder(order);
                        result.OrderId           = orderId;
                        result.Exception.Success = true;
                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
            }
            catch (Exception ex)
            {
                result.Exception.Success = false;
                result.Exception.Exmsg   = ex.Message;
            }
            return(result);
        }