/// <summary> /// 保存商品 如果id为0 则添加新纪录 /// </summary> /// <param name="orders"></param> /// <returns>返回新插入的id,或者是否插入成功</returns> public static int SaveOrders(Orders orders) { var cmdText = string.Empty; List <MySqlParameter> parameters = new List <MySqlParameter>(); if (orders.Id > 0) { cmdText = @"UPDATE Orders SET UserId = ?UserId , Gids = ?Gids , Imgs = ?Imgs , Nums = ?Nums , Titles = ?Titles , Contents = ?Contents , NowPrices = ?NowPrices , OriginalPrices = ?OriginalPrices, TotalPrice = ?TotalPrice , StotalPrice = ?StotalPrice , Pid = ?Pid , OrderTime = ?OrderTime , OrderType = ?OrderType , OrderPeople = ?OrderPeople , CouponId = ?CouponId , CtotalPrice = ?CtotalPrice , Address = ?Address , LinkMan = ?LinkMan , Mobile = ?Mobile , Remark = ?Remark , Status = ?Status , SellerId = ?SellerId , Ccontent = ?Ccontent , CreateTime = ?CreateTime , Boxno = ?Boxno , CouponTitle = ?CouponTitle , SendPrice = ?SendPrice , FreeSendPrice = ?FreeSendPrice , HasDelivery = ?HasDelivery WHERE Id = ?Id"; parameters.Add(new MySqlParameter("?Id", orders.Id)); parameters.Add(new MySqlParameter("?UserId", orders.UserId)); parameters.Add(new MySqlParameter("?Gids", Utility.GetString(orders.GidList))); parameters.Add(new MySqlParameter("?Imgs", Utility.GetString(orders.ImgList))); parameters.Add(new MySqlParameter("?Nums", Utility.GetString(orders.NumList))); parameters.Add(new MySqlParameter("?Titles", Utility.GetString(orders.TitleList))); parameters.Add(new MySqlParameter("?Contents", Utility.GetString(orders.ContentList))); parameters.Add(new MySqlParameter("?NowPrices", Utility.GetString(orders.NowPriceList))); parameters.Add(new MySqlParameter("?OriginalPrices", Utility.GetString(orders.OriginalPriceList))); parameters.Add(new MySqlParameter("?TotalPrice", orders.TotalPrice)); parameters.Add(new MySqlParameter("?StotalPrice", orders.StotalPrice)); parameters.Add(new MySqlParameter("?Pid", orders.Pid)); parameters.Add(new MySqlParameter("?OrderTime", orders.OrderTime)); parameters.Add(new MySqlParameter("?OrderType", orders.OrderType)); parameters.Add(new MySqlParameter("?OrderPeople", orders.OrderPeople)); parameters.Add(new MySqlParameter("?CouponId", orders.CouponId)); parameters.Add(new MySqlParameter("?CtotalPrice", orders.CtotalPrice)); parameters.Add(new MySqlParameter("?Address", orders.Address)); parameters.Add(new MySqlParameter("?LinkMan", orders.LinkMan)); parameters.Add(new MySqlParameter("?Mobile", orders.Mobile)); parameters.Add(new MySqlParameter("?Remark", orders.Remark)); parameters.Add(new MySqlParameter("?Status", (int)orders.Status)); parameters.Add(new MySqlParameter("?CreateTime", orders.CreateTime)); parameters.Add(new MySqlParameter("?SellerId", orders.SellerId)); parameters.Add(new MySqlParameter("?Ccontent", orders.Ccontent)); parameters.Add(new MySqlParameter("?Boxno", orders.Boxno)); parameters.Add(new MySqlParameter("?CouponTitle", orders.CouponTitle)); parameters.Add(new MySqlParameter("?SendPrice", orders.SendPrice)); parameters.Add(new MySqlParameter("?FreeSendPrice", orders.FreeSendPrice)); parameters.Add(new MySqlParameter("?HasDelivery", orders.HasDelivery)); if (orders.Status == OrderStatus.Pay) { var merchant = MerchantHelper.GetMerchant(orders.SellerId); if (merchant.HasPrint == 1) { //云打印 Utility.SendOrdersMsgToPrint(orders); } if (Utility._msg_opensend == "1") { if (merchant != null) { //订单付款 通知商户 有两个地方有 SendMsgClass3 jsobject = new SendMsgClass3(); jsobject.param1 = string.IsNullOrEmpty(merchant.Name) ? "商户名称为空" : merchant.Name; jsobject.param2 = orders.Id.ToString(); jsobject.param3 = Utility._domainurl + "/view/dev/Index.aspx"; if (Utility.SendMsg(merchant.ManagerPhone, MsgTempleId.OrdersRemindMerchant, jsobject) != "发送成功") { logger.InfoFormat("短信模板:{0},Phone:{3},发送失败OrdersId:{1},SellerId:{2}", (int)MsgTempleId.OrdersRemindMerchant, orders.Id, orders.SellerId, merchant.ManagerPhone); } //通知会员 var user = AccountHelper.GetUser(orders.UserId); if (user != null) { SendMsgClass4 jsobject2 = new SendMsgClass4(); jsobject2.param1 = string.IsNullOrEmpty(user.UserName) ? user.Phone : user.UserName; jsobject2.param2 = orders.Id.ToString(); jsobject2.param3 = orders.TotalPrice.ToString(); jsobject2.param4 = string.IsNullOrEmpty(merchant.Name) ? "商户名称为空" : merchant.Name; if (Utility.SendMsg(user.Phone, MsgTempleId.OrdersFinish, jsobject2) != "发送成功") { logger.InfoFormat("短信模板:{0},Phone:{3},发送失败OrdersId:{1},SellerId:{2}", (int)MsgTempleId.OrdersFinish, orders.Id, orders.SellerId, user.Phone); } } else { logger.InfoFormat("订单查找用户失败OrdersId:{0},UserId:{1}", orders.Id, orders.UserId); } } else { logger.InfoFormat("订单查找商户失败OrdersId:{0},SellerId:{1}", orders.Id, orders.SellerId); } } } } else { cmdText = @"insert into Orders ( UserId , Gids , Imgs , Nums , Titles , Contents , NowPrices , OriginalPrices, TotalPrice , StotalPrice , Pid , OrderTime , OrderType , OrderPeople , CouponId , CtotalPrice , Address , LinkMan , Mobile , Remark , Status , SellerId , Ccontent , CreateTime , CouponTitle , SendPrice , FreeSendPrice , HasDelivery ) values ( ?UserId , ?Gids , ?Imgs , ?Nums , ?Titles , ?Contents , ?NowPrices , ?OriginalPrices, ?TotalPrice , ?StotalPrice , ?Pid , ?OrderTime , ?OrderType , ?OrderPeople , ?CouponId , ?CtotalPrice , ?Address , ?LinkMan , ?Mobile , ?Remark , ?Status , ?SellerId , ?Ccontent , ?CreateTime , ?CouponTitle , ?SendPrice , ?FreeSendPrice , ?HasDelivery )"; parameters.Add(new MySqlParameter("?UserId", orders.UserId)); parameters.Add(new MySqlParameter("?Gids", Utility.GetString(orders.GidList))); parameters.Add(new MySqlParameter("?Imgs", Utility.GetString(orders.ImgList))); parameters.Add(new MySqlParameter("?Nums", Utility.GetString(orders.NumList))); parameters.Add(new MySqlParameter("?Titles", Utility.GetString(orders.TitleList))); parameters.Add(new MySqlParameter("?Contents", Utility.GetString(orders.ContentList))); parameters.Add(new MySqlParameter("?NowPrices", Utility.GetString(orders.NowPriceList))); parameters.Add(new MySqlParameter("?OriginalPrices", Utility.GetString(orders.OriginalPriceList))); parameters.Add(new MySqlParameter("?TotalPrice", orders.TotalPrice)); parameters.Add(new MySqlParameter("?StotalPrice", orders.StotalPrice)); parameters.Add(new MySqlParameter("?Pid", orders.Pid)); parameters.Add(new MySqlParameter("?OrderTime", orders.OrderTime)); parameters.Add(new MySqlParameter("?OrderType", orders.OrderType)); parameters.Add(new MySqlParameter("?OrderPeople", orders.OrderPeople)); parameters.Add(new MySqlParameter("?CouponId", orders.CouponId)); parameters.Add(new MySqlParameter("?CtotalPrice", orders.CtotalPrice)); parameters.Add(new MySqlParameter("?Address", orders.Address)); parameters.Add(new MySqlParameter("?LinkMan", orders.LinkMan)); parameters.Add(new MySqlParameter("?Mobile", orders.Mobile)); parameters.Add(new MySqlParameter("?Remark", orders.Remark)); parameters.Add(new MySqlParameter("?Status", (int)orders.Status)); parameters.Add(new MySqlParameter("?CreateTime", orders.CreateTime)); parameters.Add(new MySqlParameter("?SellerId", orders.SellerId)); parameters.Add(new MySqlParameter("?Ccontent", orders.Ccontent)); parameters.Add(new MySqlParameter("?CouponTitle", orders.CouponTitle)); parameters.Add(new MySqlParameter("?SendPrice", orders.SendPrice)); parameters.Add(new MySqlParameter("?FreeSendPrice", orders.FreeSendPrice)); parameters.Add(new MySqlParameter("?HasDelivery", orders.HasDelivery)); } try { using (var conn = Utility.ObtainConn(Utility._gameDbConn)) { var num = MySqlHelper.ExecuteNonQuery(conn, CommandType.Text, cmdText, parameters.ToArray()); if (orders.Id == 0) {//插入 获得新id //LAST_INSERT_ID是基于Connection的,只要每个线程都使用独立的Connection对象,LAST_INSERT_ID函数将 //返回该Connection对AUTO_INCREMENT列最新的insert or update*作生成的第一个record的ID。这个值不能 //被其它客户端(Connection)影响,保证了你能够找回自己的 ID 而不用担心其它客户端的活动,而且不需 //要加锁。 cmdText = @"select LAST_INSERT_ID();"; var reader = MySqlHelper.ExecuteReader(conn, CommandType.Text, cmdText); if (reader.HasRows) { if (reader.Read()) { num = reader.GetInt32(0); } } } return(num); } } catch (System.Exception ex) { throw; } }
private void Withdraw() { var item = new ExtractMoney(); item.SellerId = GetInt("sellerId"); item.Money = GetFloat("money"); item.Bank = GetString("bank"); item.CardNumber = GetLong("cardnumber"); item.AccountName = GetString("accountname"); item.CreateTime = DateTime.Now; var user = AccountHelper.GetUser(item.SellerId); if (user == null) { throw new ArgumentNullException("user为空:" + item.SellerId); } if (item.CardNumber <= 0 || item.Bank.Length < 1 || item.AccountName.Length < 1) { ReturnErrorMsg("提现失败,卡号、开户行、开户名等信息是必填项,请填写正确"); } //目前商户的用户信息分三张表存储 //提现确认打款后才扣钱 //user.Money -= item.Money; //AccountHelper.SaveAccount(user); //商家更新 var seller = MerchantHelper.GetMerchant(item.SellerId); seller.CardNumber = item.CardNumber; seller.Bank = item.Bank; seller.AccountName = item.AccountName; float fee = ParamHelper.PlatformCfgData.SignList.FirstOrDefault(s => s.Id == seller.Sid).Prec *item.Money / 100; item.Fee = fee; if (seller.Money < (item.Money + item.Fee)) { ReturnErrorMsg(string.Format("提现失败,没有这么多的资金可以提现,提现金额:{0},手续费:{1}", item.Money, item.Fee)); return; } seller.Money = seller.Money - item.Money - item.Fee; MerchantHelper.SaveMerchant(seller); //提现表更新 item.Balance = seller.Money; item.UserAccount = user.UserName;//存储商户账户 ExtractMoneyHelper.Create(item); ReturnCorrectMsg(string.Format("提现{0}申请成功,手续费:{1},请耐心等待后台人员处理", item.Money, item.Fee)); //发短信 if (Utility._msg_opensend == "1") //Utility.SendMsg(verificationCode.Code, verificationCode.Phone, Utility._modifyphone_message); { SendMsgClass4 jsobject = new SendMsgClass4(); jsobject.param1 = string.IsNullOrEmpty(seller.Name) ? "商户名称为空" : seller.Name; jsobject.param2 = item.Money.ToString(); jsobject.param3 = "3~5"; jsobject.param4 = Utility._3vurl; if (Utility.SendMsg(seller.Phone, MsgTempleId.MerchantWithdraw, jsobject) != "发送成功") { logger.InfoFormat("短信模板:{0},Phone:{3},发送失败merchantId:{1},Name:{2}", (int)MsgTempleId.MerchantWithdraw, seller.Id, seller.Name, seller.Phone); //ReturnErrorMsg("短信发送失败"); //return; } } ReturnCorrectMsg(string.Format("提现{0}申请成功,手续费:{1},请耐心等待后台人员处理", item.Money, item.Fee)); }