/// <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); }
/// <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, "")); } }
/// <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, "保存成功")); } }
/// <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)); } }
/// <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, "操作成功")); } }
/// <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, "")); } }