Esempio n. 1
0
        /// <summary>
        /// 获取收货地址
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        internal static Tb_User_Address GetAddressModel(string Id)
        {
            IDbConnection   con = new SqlConnection(PubConstant.GetConnectionString("BusinessContionString"));
            Tb_User_Address m   = con.Query <Tb_User_Address>("select * from Tb_User_Address where Id=@Id", new { Id = Id }).SingleOrDefault <Tb_User_Address>();

            return(m);
        }
Esempio n. 2
0
        /// <summary>
        /// 修改收货地址信息  UpdateUserAddressInfo
        /// </summary>
        /// <param name="row"></param>
        /// Id          Id【必填】
        /// UserName    收货人名称【必填】
        /// Address     配送地址【必填】
        /// Mobile      联系方式【必填】
        /// 返回:
        ///     true:""
        ///     false:错误信息
        /// <returns></returns>
        private string UpdateUserAddressInfo(DataRow row)
        {
            if (!row.Table.Columns.Contains("Id") || string.IsNullOrEmpty(row["Id"].ToString()))
            {
                return(JSONHelper.FromString(false, "地址编码不能为空"));
            }
            if (!row.Table.Columns.Contains("UserName") || string.IsNullOrEmpty(row["UserName"].ToString()))
            {
                return(JSONHelper.FromString(false, "收货人不能为空"));
            }
            if (!row.Table.Columns.Contains("Address") || string.IsNullOrEmpty(row["Address"].ToString()))
            {
                return(JSONHelper.FromString(false, "配送地址不能为空"));
            }
            if (!row.Table.Columns.Contains("Mobile") || string.IsNullOrEmpty(row["Mobile"].ToString()))
            {
                return(JSONHelper.FromString(false, "电话不能为空"));
            }

            IDbConnection con = new SqlConnection(PubConstant.GetConnectionString("BusinessContionString"));
            string        str = "";

            try
            {
                Tb_User_Address Address = new Tb_User_Address();
                Address = con.Query <Tb_User_Address>("select * from Tb_User_Address where Id=@Id", new { Id = row["Id"].ToString() }).SingleOrDefault <Tb_User_Address>();
                if (Address == null || Address.Id == "")
                {
                    return(JSONHelper.FromString(false, "该地址不存在"));
                }
                if (true)
                {
                }
                Address.UserName   = row["UserName"].ToString();
                Address.Address    = row["Address"].ToString();
                Address.Mobile     = row["Mobile"].ToString();
                Address.UpdataTime = DateTime.Now;
                con.Update <Tb_User_Address>(Address);
            }
            catch (Exception ex)
            {
                str = ex.Message;
            }
            if (str != "")
            {
                return(JSONHelper.FromString(false, "操作失败"));
            }
            else
            {
                return(JSONHelper.FromString(true, ""));
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 添加收货地址  SetUserAddress
        ///
        /// </summary>
        /// <param name="row"></param>
        /// Mobile          联系方式【必填】
        /// UserId          用户编码【必填】
        /// UserName        收货人【必填】
        /// Address         配送地址【必填】
        /// BussId          商家编号【选填】
        /// 返回:
        ///     true:""
        ///     false:操作失败
        /// <returns></returns>
        private string SetUserAddress(DataRow row)
        {
            if (!row.Table.Columns.Contains("Mobile") || string.IsNullOrEmpty(row["Mobile"].ToString()))
            {
                return(JSONHelper.FromString(false, "联系方式不能为空"));
            }
            if (!row.Table.Columns.Contains("UserId") || string.IsNullOrEmpty(row["UserId"].ToString()))
            {
                return(JSONHelper.FromString(false, "用户编码不能为空"));
            }
            if (!row.Table.Columns.Contains("UserName") || string.IsNullOrEmpty(row["UserName"].ToString()))
            {
                return(JSONHelper.FromString(false, "收货人不能为空"));
            }
            if (!row.Table.Columns.Contains("Address") || string.IsNullOrEmpty(row["Address"].ToString()))
            {
                return(JSONHelper.FromString(false, "配送地址不能为空"));
            }

            using (var conn = new SqlConnection(PubConstant.BusinessContionString))
            {
                var Address = new Tb_User_Address();
                Address.Id         = Guid.NewGuid().ToString();
                Address.Mobile     = row["Mobile"].ToString();
                Address.UserId     = row["UserId"].ToString();
                Address.UpdataTime = DateTime.Now;
                Address.IsDefault  = 0;
                Address.Address    = row["Address"].ToString();
                Address.UserName   = row["UserName"].ToString();

                if (row.Table.Columns.Contains("BussId") && string.IsNullOrEmpty(row["BussId"].ToString()))
                {
                    Address.BussId = AppGlobal.StrToInt(row["BussId"].ToString());
                }

                conn.Insert <Tb_User_Address>(Address);

                var sql = @"IF (SELECT count(1) FROM Tb_User_Address 
                                WHERE UserId=@UserId And isnull(IsDefault,0)=0 AND isnull(IsDelete,0)=0)=0
                                BEGIN
                                    UPDATE Tb_User_Address SET IsDefault=1 WHERE Id=@Id
                                END;";

                conn.Query(sql, new { UserId = Address.UserId, Id = Address.Id });

                return(JSONHelper.FromString(true, "保存成功"));
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 删除地址        DelUserAddress
        /// 删除时,该地址为默认,则随机指定一个地址为默认
        /// </summary>
        /// <param name="row"></param>
        /// Id          Id【必填】
        /// 返回:
        ///     true:""
        ///     false:错误信息
        /// <returns></returns>
        private string DelUserAddress(DataRow row)
        {
            if (!row.Table.Columns.Contains("Id") || string.IsNullOrEmpty(row["Id"].ToString()))
            {
                return(JSONHelper.FromString(false, "地址编码不能为空"));
            }
            IDbConnection con = new SqlConnection(PubConstant.GetConnectionString("BusinessContionString"));
            string        str = "";
            string        id  = "";

            try
            {
                Tb_User_Address Address = new Tb_User_Address();
                Address = con.Query <Tb_User_Address>("select * from Tb_User_Address where Id=@Id", new { Id = row["Id"].ToString() }).SingleOrDefault <Tb_User_Address>();
                if (Address == null || Address.Id == "")
                {
                    return(JSONHelper.FromString(false, "该地址不存在"));
                }

                if (Address.IsDefault == 1)//如果当前数据为默认
                {
                    DataSet ds = con.ExecuteReader("select * from Tb_User_Address where UserId = '" + Address.UserId + "' and Id<>'" + row["Id"].ToString() + "'").ToDataSet();
                    con = new SqlConnection(PubConstant.GetConnectionString("BusinessContionString"));
                    if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                    {
                        con.ExecuteScalar(" update Tb_User_Address set IsDefault=1 where Id='" + ds.Tables[0].Rows[0]["Id"].ToString() + "'");
                        id = ds.Tables[0].Rows[0]["Id"].ToString();
                    }
                }
                con = new SqlConnection(PubConstant.GetConnectionString("BusinessContionString"));
                con.Delete <Tb_User_Address>(Address);
            }
            catch (Exception ex)
            {
                str = ex.Message;
            }
            if (str != "")
            {
                return(JSONHelper.FromString(false, "操作失败"));
            }
            else
            {
                return(JSONHelper.FromString(true, id));
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 修改默认收货地址    UpdateUserAddressIsDefault
        /// 备注:0 不默认,1默认
        /// </summary>
        /// <param name="row"></param>
        /// Id          地址编码【必填】
        /// 返回:
        ///     true:""
        ///     false:错误信息
        /// <returns></returns>
        private string UpdateUserAddressIsDefault(DataRow row)
        {
            if (!row.Table.Columns.Contains("Id") || string.IsNullOrEmpty(row["Id"].ToString()))
            {
                return(JSONHelper.FromString(false, "地址编码不能为空"));
            }

            IDbConnection con = new SqlConnection(PubConstant.GetConnectionString("BusinessContionString"));
            string        str = "";

            try
            {
                var Address = new Tb_User_Address();

                var sql = @"SELECT * FROM Tb_User_Address where Id=@Id";
                Address = con.QueryFirstOrDefault <Tb_User_Address>(sql, new { Id = row["Id"].ToString() });
                if (Address == null || Address.Id == "")
                {
                    return(JSONHelper.FromString(false, "该地址不存在"));
                }

                Address.IsDefault  = 1;
                Address.UpdataTime = DateTime.Now;
                //修改该地址为 默认状态
                con.Update <Tb_User_Address>(Address);

                //修改其它地址为 不默认状态
                con.ExecuteScalar(" update Tb_User_Address set IsDefault=0 where Id<>@Id and UserId=@UserId", new { Id = row["Id"].ToString(), Address.UserId }, null, null, CommandType.Text);
            }
            catch (Exception ex)
            {
                str = ex.Message;
            }
            if (str != "")
            {
                return(JSONHelper.FromString(false, "操作失败"));
            }
            else
            {
                return(JSONHelper.FromString(true, "操作成功"));
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 生成订单        SetOrder
        /// </summary>
        /// <param name="row"></param>
        /// ShoppingDetailed            购物车明细编号【必填】
        /// UserAddressId               收货地址编号【必填】
        /// UserId                      用户编号【必填】
        /// 返回:
        ///     true:""
        ///     false:errmessage
        /// <returns></returns>
        private string SetOrder(DataRow row)
        {
            if (!row.Table.Columns.Contains("ShoppingDetailed") || string.IsNullOrEmpty(row["ShoppingDetailed"].ToString()))
            {
                return(JSONHelper.FromString(false, "购物车明细编号不能为空"));
            }
            if (!row.Table.Columns.Contains("UserAddressId") || string.IsNullOrEmpty(row["UserAddressId"].ToString()))
            {
                return(JSONHelper.FromString(false, "收货地址编号不能为空"));
            }
            if (!row.Table.Columns.Contains("UserId") || string.IsNullOrEmpty(row["UserId"].ToString()))
            {
                return(JSONHelper.FromString(false, "用户编号不能为空"));
            }

            IDbConnection con = new SqlConnection(PubConstant.GetConnectionString("BusinessContionString"));
            string        str = "";

            try
            {
                //获取收货地址
                Tb_User_Address UserAddress = BussinessCommon.GetAddressModel(row["UserAddressId"].ToString());

                //获取购物明细
                DataTable Dt_ShoppingDetailed = BussinessCommon.GetShoppingDetailedView(" Id in (" + BussinessCommon.GetShoppingDetailedIdS(row["ShoppingDetailed"].ToString()) + ")");

                if (Dt_ShoppingDetailed == null || Dt_ShoppingDetailed.Rows.Count <= 0)
                {
                    return(JSONHelper.FromString(false, "生成订单失败:未找到购物明细"));
                }


                Tb_Charge_Receipt Order = new Tb_Charge_Receipt();

                //根据商家ID分组
                var query = from t in Dt_ShoppingDetailed.AsEnumerable()
                            group t by new { t1 = t.Field <string>("BussId") } into m
                    select new
                {
                    BussId = m.Key.t1
                };
                if (query.ToList().Count > 0)
                {
                    query.ToList().ForEach(q =>
                    {
                        //生成订单
                        Order             = new Tb_Charge_Receipt();
                        Order.Id          = Guid.NewGuid().ToString();
                        Order.BussId      = q.BussId;
                        Order.OrderId     = Guid.NewGuid().ToString();
                        Order.ReceiptSign = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(1000, 9999).ToString();
                        Order.UserId      = row["UserId"].ToString();
                        if (UserAddress != null)
                        {
                            if (UserAddress.Address != "" && UserAddress.Address.Split(',').Length > 0)
                            {
                                Order.Name           = UserAddress.Address.Split(',')[0];
                                Order.DeliverAddress = UserAddress.Address.Split(',')[1];
                            }
                            Order.Mobile = UserAddress.Mobile;
                        }
                        else
                        {
                            throw new Exception("该收货地址不存在");
                        }
                        Order.ReceiptDate = DateTime.Now;
                        Order.IsReceive   = "未收货";
                        Order.IsDeliver   = "未发货";
                        Order.IsPay       = "未付款";
                        Order.IsDelete    = 0;
                        //查询此商家的所有购物车明细
                        DataRow[] dr = Dt_ShoppingDetailed.Select("BussId=" + q.BussId);
                        //生成订单明细
                        foreach (DataRow item in dr)
                        {
                            Tb_Charge_ReceiptDetail OrderDetail = new Tb_Charge_ReceiptDetail();
                            OrderDetail.RpdCode       = Guid.NewGuid().ToString();
                            OrderDetail.ReceiptCode   = Order.Id;
                            OrderDetail.ResourcesID   = item["ResourcesID"].ToString();
                            OrderDetail.Quantity      = AppGlobal.StrToInt(item["Number"].ToString());
                            OrderDetail.SalesPrice    = AppGlobal.StrToDec(item["ResourcesSalePrice"].ToString());
                            OrderDetail.DiscountPrice = AppGlobal.StrToDec(item["ResourcesDisCountPrice"].ToString());
                            OrderDetail.GroupPrice    = AppGlobal.StrToDec(item["GroupBuyPrice"].ToString());
                            OrderDetail.DetailAmount  = AppGlobal.StrToDec(item["SubtotalMoney"].ToString());;
                            OrderDetail.RpdMemo       = "";
                            OrderDetail.RpdIsDelete   = 0;
                            //累计订单金额【取销售价格】
                            Order.Amount += AppGlobal.StrToDec(OrderDetail.SalesPrice.ToString()) * AppGlobal.StrToDec(OrderDetail.Quantity.ToString());
                            //生成订单明细
                            con.Insert <Tb_Charge_ReceiptDetail>(OrderDetail);
                        }
                        //生成订单
                        con.Insert <Tb_Charge_Receipt>(Order);
                        //判断此商家中是否存在该客户
                        string sqlStr      = "select BussId from Tb_Customer_List where BussId='" + q.BussId + "' and UserId='" + row["UserId"] + "' and Mobile='" + UserAddress.Mobile + "'";
                        List <string> list = con.Query <string>(sqlStr, null, null, true, null, CommandType.Text).ToList <string>();
                        //如果不存在,将此客户添加至此商家的客户资料中
                        if (list.Count <= 0)
                        {
                            Tb_Customer_List cust = new Tb_Customer_List();
                            cust.Id       = Guid.NewGuid().ToString();
                            cust.BussId   = q.BussId;
                            cust.UserId   = row["UserId"].ToString();
                            cust.Mobile   = UserAddress.Mobile;
                            cust.CustName = "";
                            con.Insert <Tb_Customer_List>(cust);
                        }
                    });
                }
            }
            catch (Exception ex)
            {
                str = ex.Message;
            }
            if (str != "")
            {
                return(JSONHelper.FromString(false, str));
            }
            else
            {
                return(JSONHelper.FromString(true, ""));
            }
        }