/// <summary> /// 得到一个对象实体 /// </summary> public lgk.Model.tb_OrderDetail DataRowToModel(DataRow row) { lgk.Model.tb_OrderDetail model = new lgk.Model.tb_OrderDetail(); if (row != null) { if (row["ID"] != null && row["ID"].ToString() != "") { model.ID = long.Parse(row["ID"].ToString()); } if (row["OrderCode"] != null) { model.OrderCode = row["OrderCode"].ToString(); } if (row["ProcudeID"] != null && row["ProcudeID"].ToString() != "") { model.ProcudeID = long.Parse(row["ProcudeID"].ToString()); } if (row["ProcudeName"] != null) { model.ProcudeName = row["ProcudeName"].ToString(); } if (row["Price"] != null && row["Price"].ToString() != "") { model.Price = decimal.Parse(row["Price"].ToString()); } if (row["PV"] != null && row["PV"].ToString() != "") { model.PV = int.Parse(row["PV"].ToString()); } if (row["OrderSum"] != null && row["OrderSum"].ToString() != "") { model.OrderSum = int.Parse(row["OrderSum"].ToString()); } if (row["OrderTotal"] != null && row["OrderTotal"].ToString() != "") { model.OrderTotal = decimal.Parse(row["OrderTotal"].ToString()); } if (row["PVTotal"] != null && row["PVTotal"].ToString() != "") { model.PVTotal = int.Parse(row["PVTotal"].ToString()); } if (row["OrderDate"] != null && row["OrderDate"].ToString() != "") { model.OrderDate = DateTime.Parse(row["OrderDate"].ToString()); } if (row["gColor"] != null) { model.gColor = row["gColor"].ToString(); } if (row["gSize"] != null) { model.gSize = row["gSize"].ToString(); } } return(model); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(lgk.Model.tb_OrderDetail model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update tb_OrderDetail set "); strSql.Append("OrderCode=@OrderCode,"); strSql.Append("ProcudeID=@ProcudeID,"); strSql.Append("ProcudeName=@ProcudeName,"); strSql.Append("Price=@Price,"); strSql.Append("PV=@PV,"); strSql.Append("OrderSum=@OrderSum,"); strSql.Append("OrderTotal=@OrderTotal,"); strSql.Append("PVTotal=@PVTotal,"); strSql.Append("OrderDate=@OrderDate,"); strSql.Append("gColor=@gColor,"); strSql.Append("gSize=@gSize"); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@OrderCode", SqlDbType.VarChar, 50), new SqlParameter("@ProcudeID", SqlDbType.BigInt, 8), new SqlParameter("@ProcudeName", SqlDbType.VarChar, 150), new SqlParameter("@Price", SqlDbType.Decimal, 9), new SqlParameter("@PV", SqlDbType.Int, 4), new SqlParameter("@OrderSum", SqlDbType.Int, 4), new SqlParameter("@OrderTotal", SqlDbType.Decimal, 9), new SqlParameter("@PVTotal", SqlDbType.Int, 4), new SqlParameter("@OrderDate", SqlDbType.DateTime), new SqlParameter("@gColor", SqlDbType.VarChar, 20), new SqlParameter("@gSize", SqlDbType.VarChar, 20), new SqlParameter("@ID", SqlDbType.BigInt, 8) }; parameters[0].Value = model.OrderCode; parameters[1].Value = model.ProcudeID; parameters[2].Value = model.ProcudeName; parameters[3].Value = model.Price; parameters[4].Value = model.PV; parameters[5].Value = model.OrderSum; parameters[6].Value = model.OrderTotal; parameters[7].Value = model.PVTotal; parameters[8].Value = model.OrderDate; parameters[9].Value = model.gColor; parameters[10].Value = model.gSize; parameters[11].Value = model.ID; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 增加一条数据 /// </summary> public int Add(lgk.Model.tb_OrderDetail model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into tb_OrderDetail("); strSql.Append("OrderCode,ProcudeID,ProcudeName,Price,PV,OrderSum,OrderTotal,PVTotal,OrderDate,gColor,gSize)"); strSql.Append(" values ("); strSql.Append("@OrderCode,@ProcudeID,@ProcudeName,@Price,@PV,@OrderSum,@OrderTotal,@PVTotal,@OrderDate,@gColor,@gSize)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@OrderCode", SqlDbType.VarChar, 50), new SqlParameter("@ProcudeID", SqlDbType.Int, 4), new SqlParameter("@ProcudeName", SqlDbType.VarChar, 50), new SqlParameter("@Price", SqlDbType.Decimal, 9), new SqlParameter("@PV", SqlDbType.Int, 4), new SqlParameter("@OrderSum", SqlDbType.Int, 4), new SqlParameter("@OrderTotal", SqlDbType.Decimal, 9), new SqlParameter("@PVTotal", SqlDbType.Int, 4), new SqlParameter("@OrderDate", SqlDbType.DateTime), new SqlParameter("@gColor", SqlDbType.VarChar), new SqlParameter("@gSize", SqlDbType.VarChar) }; parameters[0].Value = model.OrderCode; parameters[1].Value = model.ProcudeID; parameters[2].Value = model.ProcudeName; parameters[3].Value = model.Price; parameters[4].Value = model.PV; parameters[5].Value = model.OrderSum; parameters[6].Value = model.OrderTotal; parameters[7].Value = model.PVTotal; parameters[8].Value = model.OrderDate; parameters[9].Value = model.gColor; parameters[10].Value = model.gSize; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 得到一个对象实体 /// </summary> public lgk.Model.tb_OrderDetail GetModel(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 ID,OrderCode,ProcudeID,ProcudeName,Price,PV,OrderSum,OrderTotal,PVTotal,OrderDate,gColor,gSize from tb_OrderDetail "); if (!string.IsNullOrEmpty(strWhere.Trim())) { strSql.Append(" where " + strWhere); } lgk.Model.tb_OrderDetail model = new lgk.Model.tb_OrderDetail(); DataSet ds = DbHelperSQL.Query(strSql.ToString()); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
/// <summary> /// 得到一个对象实体 /// </summary> public lgk.Model.tb_OrderDetail GetModel(long ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 ID,OrderCode,ProcudeID,ProcudeName,Price,PV,OrderSum,OrderTotal,PVTotal,OrderDate,gColor,gSize from tb_OrderDetail "); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.BigInt) }; parameters[0].Value = ID; lgk.Model.tb_OrderDetail model = new lgk.Model.tb_OrderDetail(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
/// <summary> /// 得到一个对象实体 /// </summary> public lgk.Model.tb_OrderDetail GetModel(int ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 ID,OrderCode,ProcudeID,ProcudeName,Price,PV,OrderSum,OrderTotal,PVTotal,OrderDate from tb_OrderDetail "); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = ID; lgk.Model.tb_OrderDetail model = new lgk.Model.tb_OrderDetail(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["ID"] != null && ds.Tables[0].Rows[0]["ID"].ToString() != "") { model.ID = int.Parse(ds.Tables[0].Rows[0]["ID"].ToString()); } if (ds.Tables[0].Rows[0]["OrderCode"] != null && ds.Tables[0].Rows[0]["OrderCode"].ToString() != "") { model.OrderCode = ds.Tables[0].Rows[0]["OrderCode"].ToString(); } if (ds.Tables[0].Rows[0]["ProcudeID"] != null && ds.Tables[0].Rows[0]["ProcudeID"].ToString() != "") { model.ProcudeID = int.Parse(ds.Tables[0].Rows[0]["ProcudeID"].ToString()); } if (ds.Tables[0].Rows[0]["ProcudeName"] != null && ds.Tables[0].Rows[0]["ProcudeName"].ToString() != "") { model.ProcudeName = ds.Tables[0].Rows[0]["ProcudeName"].ToString(); } if (ds.Tables[0].Rows[0]["Price"] != null && ds.Tables[0].Rows[0]["Price"].ToString() != "") { model.Price = decimal.Parse(ds.Tables[0].Rows[0]["Price"].ToString()); } if (ds.Tables[0].Rows[0]["PV"] != null && ds.Tables[0].Rows[0]["PV"].ToString() != "") { model.PV = int.Parse(ds.Tables[0].Rows[0]["PV"].ToString()); } if (ds.Tables[0].Rows[0]["OrderSum"] != null && ds.Tables[0].Rows[0]["OrderSum"].ToString() != "") { model.OrderSum = int.Parse(ds.Tables[0].Rows[0]["OrderSum"].ToString()); } if (ds.Tables[0].Rows[0]["OrderTotal"] != null && ds.Tables[0].Rows[0]["OrderTotal"].ToString() != "") { model.OrderTotal = decimal.Parse(ds.Tables[0].Rows[0]["OrderTotal"].ToString()); } if (ds.Tables[0].Rows[0]["PVTotal"] != null && ds.Tables[0].Rows[0]["PVTotal"].ToString() != "") { model.PVTotal = int.Parse(ds.Tables[0].Rows[0]["PVTotal"].ToString()); } if (ds.Tables[0].Rows[0]["OrderDate"] != null && ds.Tables[0].Rows[0]["OrderDate"].ToString() != "") { model.OrderDate = DateTime.Parse(ds.Tables[0].Rows[0]["OrderDate"].ToString()); } return(model); } else { return(null); } }
public bool GoodsCartPay(long userid, int paytype, long addrid, string strcid, string aa, out string msg) { string[] arr = strcid.Split(','); LogHelper.SaveLog(strcid, "GoodsCartPay"); if (arr.Length <= 0) { msg = "传递的ID无数据"; return(false); } Random rand = new Random(); string orderCode = DateTime.Now.ToString("yyyyMMddhhmmss") + rand.Next(10000, 99999); //订单编号 string goodsname = string.Format("订单号{0},", orderCode); decimal totalMoney = 0; int orderSum = 0; int insert = 0; DateTime dtime = DateTime.Now; if (!userBLL.Exists(userid)) { msg = "用户不存在"; return(false); } if (paytype != 1) { msg = "支付类型错误"; return(false); } lgk.Model.tb_Address addrModel = addressBLL.GetModel(addrid); if (addrModel == null) { msg = "请选择收货地址"; return(false); } IList <lgk.Model.tb_goodsCar> listCar = new List <lgk.Model.tb_goodsCar>(); #region 验证商品 string errmsg = ""; foreach (var strID in arr) { long id = 0; long.TryParse(strID, out id); lgk.Model.tb_goodsCar carModel = goodsCarBLL.GetModel(id); if (carModel != null) { lgk.Model.tb_goods goodsModel = goodsBLL.GetModelAndOneName(carModel.GoodsID); //根据发布商品编号找到充值账号密码 if (goodsModel.StateType == 0) //判断是否 审核通过 0未审核 { errmsg = "商品" + goodsModel.GoodsName + "审核未通过,请删除该商品!"; insert = 0; break; } else if (goodsModel.Goods003 == "1") //判断是否 删除 1已经删除 { errmsg = "商品" + goodsModel.GoodsName + "已被删除,请删除该商品!"; insert = 0; break; } else if (goodsModel.Goods001 == 0) //判断是否 0下架 { errmsg = "商品" + goodsModel.GoodsName + "已经下架,请删除该商品!"; insert = 0; break; } else if (goodsModel.Goods002 < carModel.Goods006) //判断库存量 { errmsg = "商品" + goodsModel.GoodsName + "库存不足,请重新修改数量!"; insert = 0; break; } else if (carModel.BuyUser != userid) //判断库存量 { errmsg = "用户不匹配,请刷新购物车再提交!"; insert = 0; break; } listCar.Add(carModel); insert += 1; } else { msg = "购物出为空"; LogHelper.SaveLog(id.ToString() + "," + errmsg, "GoodsCartPay"); return(false); } } if (insert == 0) { msg = errmsg; return(false); } #endregion //总金额 totalMoney += listCar.Sum(s => s.TotalMoney); lgk.Model.tb_user userModel = userBLL.GetModel(userid); //支付方式 string[] aw = aa.Split('-'); //if (!userBLL.Exists(long.Parse(aw[2]))) //{ // msg = "运营中心不存在"; // return false; //} string sql = "select OrderID from tb_Order where UserID=" + userModel.UserID; var mo = userBLL.getData_Chaxun(sql, "").Tables[0]; if (aw[0] == "1") { //if (mo.Rows.Count > 0) //{ // msg = "请选择复投产品"; // return false; //} if (aw[1] == "2") { if (userModel.StockMoney < totalMoney / 2 || userModel.StockAccount < totalMoney / 2) { msg = "报单积分、电子积分余额不足"; return(false); } } else { if (userModel.StockAccount < totalMoney) { msg = "报单积分余额不足"; return(false); } } } else if (aw[0] == "2") { if (userModel.AllBonusAccount < totalMoney) { msg = "种子积分余额不足"; return(false); } } else if (aw[0] == "3") { if (userModel.StockMoney < totalMoney / 2 || userModel.StockAccount < totalMoney / 2) { msg = "报单积分、电子积分余额不足"; return(false); } } else if (aw[0] == "4") { if (userModel.BonusAccount < totalMoney) { msg = "消费积分余额不足"; return(false); } } #region 订单处理 //总订单 lgk.Model.tb_Order orderModel = new lgk.Model.tb_Order(); //订单 orderModel.UserID = userid; //用户 orderModel.OrderCode = orderCode; //订单编号 orderModel.OrderSum = orderSum; //订单数-- orderModel.OrderTotal = totalMoney; //购买总金 orderModel.PVTotal = totalMoney * getParamAmount("hongbao1"); // orderModel.OrderDate = dtime; orderModel.IsSend = 1; orderModel.PayMethod = 1; //-- orderModel.Order5 = ""; //运营中心UserID orderModel.UserAddr = addrModel.Address; //发货地址 orderModel.Order6 = addrModel.PhoneNum; //收货电话 orderModel.Order7 = addrModel.MemberName; //收货姓名 orderModel.OrderType = int.Parse(aw[0]); //1: int fenrun = 0; foreach (var carModel in listCar) { lgk.Model.tb_goods goodsModel = goodsBLL.GetModelAndOneName(carModel.GoodsID); //根据发布商品编号找到充值账号密码 lgk.Model.tb_goods goodsModel1 = goodsBLL.GetModel(carModel.GoodsID); //插入订单详细表 lgk.Model.tb_OrderDetail orderDetailModel = new lgk.Model.tb_OrderDetail(); orderDetailModel.OrderCode = orderCode; orderDetailModel.Price = carModel.RealityPrice; //单价-- orderDetailModel.OrderSum = carModel.Goods006; //数量-- orderDetailModel.OrderTotal = carModel.Goods006 * carModel.RealityPrice; //订单金额 orderDetailModel.PV = 0; // orderDetailModel.PVTotal = 0; orderDetailModel.ProcudeID = carModel.GoodsID; //产品编号-- orderDetailModel.ProcudeName = carModel.GoodsName; //名称-- orderDetailModel.gColor = carModel.gColor; orderDetailModel.gSize = carModel.gSize; orderDetailModel.OrderDate = dtime; // orderDetailBLL.Add(orderDetailModel); //加入订单详情 fenrun += goodsModel1.IsHave * carModel.Goods006; //计算分润单位 //修改库存 goodsModel.Goods002 = goodsModel.Goods002 - carModel.Goods006; //修改库存 goodsModel.SaleNum += carModel.Goods006; goodsBLL.Update(goodsModel); //从购物篮减掉 goodsCarBLL.Delete(carModel.ID); //商品名称 流水表记录用 goodsname += orderDetailModel.ProcudeName + "|"; orderSum += carModel.Goods006; } orderModel.BaodanOrder = fenrun; //if (aw[3]=="1")//自提 //{ // orderModel.Order3 = "自提"; // orderModel.Order4 = "自提"; //} #endregion //if (aw[1]=="2")//种子积分 //{ // orderModel.Order3 = "种子积分购买无发货信息!"; // orderModel.Order4= "种子积分购买无发货信息!"; // orderModel.IsSend = 3; // long iOrderID = orderBLL.Add(orderModel);//加入订单表 //} //else //{ long iOrderID = orderBLL.Add(orderModel);//加入订单表 //} #region 写入到明细表 if (aw[0] == "1") { if (aw[1] == "2") { lgk.Model.tb_journal joModel = new lgk.Model.tb_journal(); joModel.UserID = userModel.UserID; joModel.Remark = goodsname; //名称--; joModel.InAmount = 0; //收入0; joModel.OutAmount = totalMoney / 2; //购买价(支出金币) joModel.JournalDate = DateTime.Now; joModel.Journal01 = userModel.UserID; // joModel.Journal02 = 99; //消费 joModel.Journal03 = orderCode; //订单编号 if (aw[0] == "2") //50%电子积分+50%消费积分 { joModel.JournalType = 2; //币种 joModel.BalanceAmount = userModel.StockMoney - totalMoney / 2; //余额 } journalBLL.Add(joModel); ///--------------------------- joModel.UserID = userModel.UserID; joModel.Remark = goodsname; //名称--; joModel.InAmount = 0; //收入0; joModel.OutAmount = totalMoney / 2; //购买价(支出金币) joModel.JournalDate = DateTime.Now; joModel.Journal01 = userModel.UserID; // joModel.Journal02 = 99; //消费 joModel.Journal03 = orderCode; //订单编号 if (aw[0] == "2") //50%电子积分+50%消费积分 { joModel.JournalType = 5; //币种 joModel.BalanceAmount = userModel.StockAccount - totalMoney / 2; //余额 } journalBLL.Add(joModel); UpdateAccount("StockMoney", userModel.UserID, totalMoney / 2, 0); UpdateAccount("StockAccount", userModel.UserID, totalMoney / 2, 0); } else { lgk.Model.tb_journal joModel = new lgk.Model.tb_journal(); joModel.UserID = userModel.UserID; joModel.Remark = goodsname; //名称--; joModel.InAmount = 0; //收入0; joModel.OutAmount = totalMoney; //购买价(支出金币) joModel.JournalDate = DateTime.Now; joModel.Journal01 = userModel.UserID; // joModel.Journal02 = 99; //消费 joModel.Journal03 = orderCode; //订单编号 joModel.JournalType = 5; //币种 joModel.BalanceAmount = userModel.StockAccount - totalMoney; //余额 journalBLL.Add(joModel); UpdateAccount("StockAccount", userModel.UserID, totalMoney, 0); } } else if (aw[0] == "2") { lgk.Model.tb_journal joModel = new lgk.Model.tb_journal(); joModel.UserID = userModel.UserID; joModel.Remark = goodsname; //名称--; joModel.InAmount = 0; //收入0; joModel.OutAmount = totalMoney; //购买价(支出金币) joModel.JournalDate = DateTime.Now; joModel.Journal01 = userModel.UserID; // joModel.Journal02 = 99; //消费 joModel.Journal03 = orderCode; //订单编号 joModel.JournalType = 4; //币种 joModel.BalanceAmount = userModel.AllBonusAccount - totalMoney; //余额 UpdateAccount("AllBonusAccount", userModel.UserID, totalMoney, 0); journalBLL.Add(joModel); } else if (aw[0] == "3") { lgk.Model.tb_journal joModel = new lgk.Model.tb_journal(); joModel.UserID = userModel.UserID; joModel.Remark = goodsname; //名称--; joModel.InAmount = 0; //收入0; joModel.OutAmount = totalMoney / 2; //购买价(支出金币) joModel.JournalDate = DateTime.Now; joModel.Journal01 = userModel.UserID; // joModel.Journal02 = 99; //消费 joModel.Journal03 = orderCode; //订单编号 joModel.JournalType = 2; //币种子电子积分 joModel.BalanceAmount = userModel.StockMoney - totalMoney / 2; //余额 journalBLL.Add(joModel); ///---------------------------报单积分扣钱 joModel.UserID = userModel.UserID; joModel.Remark = goodsname; //名称--; joModel.InAmount = 0; //收入0; joModel.OutAmount = totalMoney / 2; //购买价(支出金币) joModel.JournalDate = DateTime.Now; joModel.Journal01 = userModel.UserID; // joModel.Journal02 = 99; //消费 joModel.Journal03 = orderCode; //订单编号 joModel.JournalType = 5; //币种 joModel.BalanceAmount = userModel.StockAccount - totalMoney / 2; //余额 journalBLL.Add(joModel); UpdateAccount("StockMoney", userModel.UserID, totalMoney / 2, 0); UpdateAccount("StockAccount", userModel.UserID, totalMoney / 2, 0); } else if (aw[0] == "4") { lgk.Model.tb_journal joModel = new lgk.Model.tb_journal(); joModel.UserID = userModel.UserID; joModel.Remark = goodsname; //名称--; joModel.InAmount = 0; //收入0; joModel.OutAmount = totalMoney; //购买价(支出金币) joModel.JournalDate = DateTime.Now; joModel.Journal01 = userModel.UserID; // joModel.Journal02 = 99; //消费 joModel.Journal03 = orderCode; //订单编号 joModel.JournalType = 3; //币种 joModel.BalanceAmount = userModel.BonusAccount - totalMoney; //余额 UpdateAccount("BonusAccount", userModel.UserID, totalMoney, 0); journalBLL.Add(joModel); } else { msg = "支付失败,支付方式不正确!"; return(false); } //---激活会员 lgk.Model.tb_user user = userBLL.GetModel(orderModel.UserID); if (user.IsOpend != 2) { string a = Luodian(orderModel.UserID); string[] ID = a.Split('-');//ID[0]=UserID ID[1]=Location ID[2]=ParentID ID[3]=ParentCode ID[4]=Layer var l = userBLL.GetModel(int.Parse(ID[2])); //user.RecommendPath = model_1.RecommendPath + "-" + user.UserID.ToString(); user.ParentID = 0; //父节点ID user.ParentCode = ""; //父节点編號 user.UserPath = ""; user.Layer = 0; //属于多少层 user.Location = 0; user.ParentID = int.Parse(ID[2]); //父节点ID user.ParentCode = ID[3]; //父节点編號 user.UserPath = l.UserPath + "-" + user.UserID; user.Layer = int.Parse(ID[4]); //属于多少层 user.Location = int.Parse(ID[1]); user.OpenTime = DateTime.Now; user.IsOpend = 2; userBLL.Update(user); } //开关报单 MySQL(string.Format(" exec proc_Kaiguan " + orderModel.UserID + "," + orderModel.OrderCode + "")); //报单开关 //---激活会员 if (aw[0] != "4") { MySQL(string.Format(" exec proc_YejiUp " + orderModel.UserID + "," + orderModel.OrderTotal + ""));//加业绩 MySQL(string.Format(" exec proc_Fenxiangjiang " + orderModel.UserID + "," + orderModel.OrderTotal + "")); MySQL(string.Format(" exec proc_Xiaocengjiang " + orderModel.UserID + "")); MySQL(string.Format(" exec proc_Xiaoliangjiang " + orderModel.UserID + "")); MySQL(string.Format(" exec proc_Jiandianjiang " + orderModel.UserID + "," + orderModel.OrderTotal + ",1")); //发奖 #region 报单中心(20套)改为4万元 if (orderModel.OrderTotal >= getParamInt("Fuwu2"))//报单中心(20套) { int t = agentBLL.GetIDByIDUser(orderModel.UserID); if (t == 0)//插入用户 { var userModel1 = userBLL.GetModel(orderModel.UserID); lgk.Model.tb_agent model = new lgk.Model.tb_agent(); model.UserID = userModel1.UserID; model.AgentCode = userModel1.UserCode; model.Flag = 1; model.AgentType = 1; model.Agent003 = userModel1.TrueName; model.AppliTime = DateTime.Now; model.JoinMoney = 0; model.Agent004 = ""; model.Agent001 = 0; model.Agent002 = 0; model.PicLink = ""; agentBLL.Add(model); var model1 = userBLL.GetModel(userModel1.UserID); model1.AgentsID = agentBLL.GetIDByIDUser(userModel1.UserID); model1.IsAgent = 1; userBLL.Update(model1); lgk.Model.tb_journal journalInfo = new lgk.Model.tb_journal(); journalInfo.UserID = userModel1.UserID; journalInfo.Remark = "一次性购买 " + getParamInt("Fuwu2") + "元的产品,成为服务网点"; journalInfo.RemarkEn = "Cash withdrawal"; journalInfo.InAmount = 0; journalInfo.OutAmount = 0; journalInfo.BalanceAmount = userBLL.GetMoney(userModel1.UserID, "StockMoney"); journalInfo.JournalDate = DateTime.Now; journalInfo.JournalType = 2; journalInfo.Journal01 = userModel1.UserID; journalBLL.Add(journalInfo); } } userid = orderModel.UserID; totalMoney = orderModel.OrderTotal; #endregion if (getParamInt("Fuwu") == 1) { //报单中心奖 long BD_UserID = userBLL.GetUserID(userBLL.GetModel(orderModel.UserID).User006); decimal BD = getParamAmount("Fuwu1") / 100 * totalMoney; int isLock = userBLL.GetModel(BD_UserID).IsLock; int Ag = userBLL.GetModel(BD_UserID).IsAgent; if (isLock == 0 && Ag == 1) { decimal shouxufei = BD * getParamAmount("PingTai") / 100; BD -= shouxufei; decimal Gongyi = BD * getParamAmount("PingTai1") / 100; BD -= Gongyi; decimal jiangjin = getParamAmount("JJ"); decimal zhongzi = getParamAmount("ZZ"); decimal xiaofei = getParamAmount("XF"); decimal JJ = BD * jiangjin / 100; decimal ZZ = BD * zhongzi / 100; decimal XF = BD * xiaofei / 100; UpdateAccount("Emoney", BD_UserID, JJ, 1); //奖金 UpdateAccount("StockMoney", BD_UserID, ZZ, 1); //电子 UpdateAccount("ShopAccount", BD_UserID, shouxufei, 1); //奖金 UpdateAccount("GLmoney", BD_UserID, Gongyi, 1); //电子 if (XF > 0) { UpdateAccount("BonusAccount", BD_UserID, XF, 1);//消费 lgk.Model.tb_journal journal1 = new lgk.Model.tb_journal(); journal1.UserID = BD_UserID; journal1.Remark = "服务网点获得" + (BD + shouxufei + Gongyi) + ",其中扣除平台手续费" + shouxufei + ",扣除公益基金" + Gongyi + " ,剩余" + xiaofei + "%进入消费积分"; journal1.RemarkEn = ""; journal1.InAmount = XF; journal1.OutAmount = 0; journal1.BalanceAmount = userBLL.GetMoney(BD_UserID, "BonusAccount");; journal1.JournalDate = DateTime.Now; journal1.JournalType = 3; journal1.Journal01 = 0; journalBLL.Add(journal1); } lgk.Model.tb_journal journal = new lgk.Model.tb_journal(); journal.UserID = BD_UserID; journal.Remark = "服务网点获得" + (BD + shouxufei + Gongyi) + ",其中扣除平台手续费" + shouxufei + ",扣除公益基金" + Gongyi + " ,剩余" + jiangjin + "%进入奖金积分"; journal.RemarkEn = ""; journal.InAmount = JJ; journal.OutAmount = 0; journal.BalanceAmount = userBLL.GetMoney(BD_UserID, "Emoney");; journal.JournalDate = DateTime.Now; journal.JournalType = 1; journal.Journal01 = 0; journalBLL.Add(journal); journal.UserID = BD_UserID; journal.Remark = "服务网点获得" + (BD + shouxufei + Gongyi) + ",其中扣除平台手续费" + shouxufei + ",扣除公益基金" + Gongyi + " ,剩余" + zhongzi + "%进入电子积分"; journal.RemarkEn = ""; journal.InAmount = ZZ; journal.OutAmount = 0; journal.BalanceAmount = userBLL.GetMoney(BD_UserID, "StockMoney");; journal.JournalDate = DateTime.Now; journal.JournalType = 2; journal.Journal01 = 0; journalBLL.Add(journal); journal.UserID = BD_UserID; journal.Remark = "服务网点获得" + (BD + shouxufei + Gongyi) + ",其中扣除平台手续费" + shouxufei + ""; journal.RemarkEn = ""; journal.InAmount = shouxufei; journal.OutAmount = 0; journal.BalanceAmount = userBLL.GetMoney(BD_UserID, "ShopAccount");; journal.JournalDate = DateTime.Now; journal.JournalType = 6; journal.Journal01 = 0; journalBLL.Add(journal); journal.UserID = BD_UserID; journal.Remark = "服务网点获得" + (BD + shouxufei + Gongyi) + ",其中扣除公益基金" + Gongyi + ""; journal.RemarkEn = ""; journal.InAmount = Gongyi; journal.OutAmount = 0; journal.BalanceAmount = userBLL.GetMoney(BD_UserID, "GLmoney");; journal.JournalDate = DateTime.Now; journal.JournalType = 7; journal.Journal01 = 0; journalBLL.Add(journal); SqlConnection conn = new SqlConnection(sconn); conn.Open(); string sql_Add = "insert into tb_bonus(UserID,TypeID,Amount,Revenue,sf,AddTime,IsSettled,Source,SourceEn,SttleTime,FromUserID,Bonus005,Bonus006)"; sql_Add += "values (" + BD_UserID + ",5," + (BD + shouxufei + Gongyi) + "," + shouxufei + "," + BD + ",getdate(),1,'" + journal.Remark + "','',getdate()," + userid + "," + jiangjin + "," + zhongzi + ");"; SqlCommand cmd = new SqlCommand(sql_Add, conn); int reInt = cmd.ExecuteNonQuery(); conn.Close(); } } } else { MySQL(string.Format(" exec proc_Jiandianjiang " + orderModel.UserID + "," + orderModel.OrderTotal + ",2")); } msg = "支付成功"; return(true); }
public bool GoodsCartPay(long userid, int paytype, long addrid, string strcid, int shtype, out string msg) { if (paytype != 4) { msg = "请选择正确的支付方式"; return(false); } if (shtype <= 0) { msg = "请选择正确的收货方式"; return(false); } if (!userBLL.Exists(userid)) { msg = "请重新登录再支付"; return(false); } JavaScriptSerializer js = new JavaScriptSerializer(); var list = js.Deserialize <List <GetGoods> >(strcid); LogHelper.SaveLog(strcid, "GoodsCartPay"); if (list.Count <= 0) { msg = "请选择购物车中的商品"; return(false); } Random rand = new Random(); string orderCode = DateTime.Now.ToString("yyyyMMddhhmmss") + rand.Next(10000, 99999); //订单编号 string goodsname = string.Format("订单号{0},", orderCode); decimal totalMoney = 0; int orderSum = 0; int insert = 0; DateTime dtime = DateTime.Now; if (!userBLL.Exists(userid)) { msg = "用户不存在"; } //if (addrid!=1) //{ // lgk.Model.tb_Address addrModel = addressBLL.GetModel(addrid); // if(addrModel == null) // { // msg = "请选择收货地址"; // return false; // } //} IList <lgk.Model.tb_goodsCar> listCar = new List <lgk.Model.tb_goodsCar>(); #region 验证商品 string errmsg = ""; foreach (GetGoods g in list) { lgk.Model.tb_goodsCar carModel = goodsCarBLL.GetModel(g.ID); if (carModel != null) { lgk.Model.tb_goods goodsModel = goodsBLL.GetModelAndOneName(carModel.GoodsID);//根据发布商品编号找到充值账号密码 if (goodsModel == null) { errmsg = "商品" + goodsModel.GoodsName + "不存在!"; insert = 0; break; } if (g.num <= 0) { errmsg = "商品" + goodsModel.GoodsName + "的购买数量必须大于0!"; insert = 0; break; } if (goodsModel.StateType == 0) //判断是否 审核通过 0未审核 { errmsg = "商品" + goodsModel.GoodsName + "审核未通过,请删除该商品!"; insert = 0; break; } else if (goodsModel.Goods003 == "1") //判断是否 删除 1已经删除 { errmsg = "商品" + goodsModel.GoodsName + "已被删除,请删除该商品!"; insert = 0; break; } else if (goodsModel.Goods001 == 0) //判断是否 0下架 { errmsg = "商品" + goodsModel.GoodsName + "已经下架,请删除该商品!"; insert = 0; break; } else if (goodsModel.Goods002 < g.num) //判断库存量 { errmsg = "商品" + goodsModel.GoodsName + "库存不足,请重新修改数量!"; insert = 0; break; } else if (carModel.BuyUser != userid) // { errmsg = "用户不匹配,请刷新购物车再提交!"; insert = 0; break; } carModel.Goods006 = g.num;//以最中传输的数量为准 listCar.Add(carModel); insert += 1; } else { msg = "购物出为空"; LogHelper.SaveLog(g.ID.ToString() + "," + errmsg, "GoodsCartPay"); return(false); } } if (insert == 0) { msg = errmsg; return(false); } #endregion //总金额 totalMoney += listCar.Sum(s => s.TotalMoney); orderSum += listCar.Sum(s => s.Goods006); lgk.Model.tb_user userModel = userBLL.GetModel(userid); //var dt = orderBLL.GetList(" UserID=" + userid ).Tables[0]; //if (pay == 1 && dt.Rows.Count>0) //{ //} sss //else if (pay == 2 && dt.Rows.Count == 0) //{ //} if (paytype == 4 && userModel.GLmoney < totalMoney) { msg = "购物分余额不足"; return(false); } #region 订单处理 //总订单 lgk.Model.tb_Order orderModel = new lgk.Model.tb_Order(); //订单 orderModel.UserID = userid; //用户 orderModel.OrderCode = orderCode; //订单编号 orderModel.OrderSum = orderSum; //订单数-- orderModel.OrderTotal = totalMoney; //购买总金 orderModel.PVTotal = 0; // orderModel.OrderDate = dtime; orderModel.IsSend = 1; orderModel.PayMethod = 3; //--2、复投 1注册激活,3购物分 orderModel.Order5 = ""; //备用电话 orderModel.UserAddr = userModel.Address; //addrModel.Address;//发货地址 orderModel.Order6 = userModel.PhoneNum; //addrModel.PhoneNum;//收货电话 orderModel.Order7 = userModel.NiceName; //addrModel.MemberName;//收货姓名 orderModel.OrderType = paytype; //购物分 orderModel.ReceiveType = shtype; long iOrderID = orderBLL.Add(orderModel); //加入订单表 foreach (var carModel in listCar) { lgk.Model.tb_goods goodsModel = goodsBLL.GetModelAndOneName(carModel.GoodsID);//根据发布商品编号找到充值账号密码 //插入订单详细表 lgk.Model.tb_OrderDetail orderDetailModel = new lgk.Model.tb_OrderDetail(); orderDetailModel.OrderCode = orderCode; orderDetailModel.Price = carModel.RealityPrice; //单价-- orderDetailModel.OrderSum = carModel.Goods006; //数量-- orderDetailModel.OrderTotal = carModel.Goods006 * carModel.RealityPrice; //订单金额 orderDetailModel.PV = 0; // orderDetailModel.PVTotal = 0; orderDetailModel.ProcudeID = carModel.GoodsID; //产品编号-- orderDetailModel.ProcudeName = carModel.GoodsName; //名称-- orderDetailModel.gColor = carModel.gColor; orderDetailModel.gSize = carModel.gSize; orderDetailModel.OrderDate = dtime; // orderDetailBLL.Add(orderDetailModel); //加入订单详情 //修改库存 goodsModel.Goods002 = goodsModel.Goods002 - carModel.Goods006;//修改库存 goodsModel.SaleNum += carModel.Goods006; goodsBLL.Update(goodsModel); //从购物篮减掉 goodsCarBLL.Delete(carModel.ID); //商品名称 流水表记录用 goodsname += orderDetailModel.ProcudeName + "|"; orderSum += carModel.Goods006; } #endregion #region 写入到明细表 lgk.Model.tb_journal joModel = new lgk.Model.tb_journal(); joModel.UserID = userModel.UserID; joModel.Remark = goodsname; //名称--; joModel.InAmount = 0; //收入0; joModel.OutAmount = totalMoney; //购买价(支出金币) joModel.JournalDate = DateTime.Now; joModel.Journal01 = userModel.UserID; // joModel.Journal02 = 99; //消费 joModel.Journal03 = orderCode; //订单编号 if (paytype == 4) //购物分 { joModel.JournalType = 5; //币种 joModel.BalanceAmount = userModel.GLmoney - totalMoney; //余额 journalBLL.Add(joModel); UpdateAccount("GLmoney", userModel.UserID, totalMoney, 0); } //用户账户更新 #endregion //购物积分购买不给分红点 //执行存储过程 //string procmsg = string.Empty; //procmsg = proc_BuyOrder(userid, orderModel.OrderSum, orderCode, 4, totalMoney); //LogHelper.SaveLog("procmsg:" + procmsg, "proc_BuyOrder"); msg = "支付成功"; return(true); }