public bool LockOrder(LockSellStonesOrder lockOrder, CustomerMySqlTransaction trans) { //1.修改订单状态; //2.添加锁定信息记录。 MySqlCommand mycmd = null; try { string textDel = "delete from locksellstonesorder where OrderNumber = @OrderNumber;"; string textA = "update sellstonesorder set OrderState = @OrderState where OrderNumber = @OrderNumber;"; string textB = "insert into locksellstonesorder " + "(`OrderNumber`, `PayUrl`, `LockedByUserName`, `LockedTime` ) " + " values " + "(@OrderNumber, @PayUrl, @LockedByUserName, @LockedTime); "; mycmd = trans.CreateCommand(); mycmd.CommandText = textDel + textA + textB; mycmd.Parameters.AddWithValue("@OrderState", (int)SellOrderState.Lock); mycmd.Parameters.AddWithValue("@OrderNumber", lockOrder.StonesOrder.OrderNumber); mycmd.Parameters.AddWithValue("@PayUrl", lockOrder.PayUrl); mycmd.Parameters.AddWithValue("@LockedByUserName", DESEncrypt.EncryptDES(lockOrder.LockedByUserName)); mycmd.Parameters.AddWithValue("@LockedTime", lockOrder.LockedTime); mycmd.ExecuteNonQuery(); return(true); } finally { mycmd.Dispose(); } }
public LockSellStonesOrder Lock(string playerUserName) { lock (this._lock) { CustomerMySqlTransaction trans = null; try { if (this._lockOrderObject != null && !CheckOrderLockedTimeOut()) { return(this._lockOrderObject); } if (trans == null) { trans = MyDBHelper.Instance.CreateTrans(); } this._lockOrderObject = new LockSellStonesOrder() { StonesOrder = this._sellOrder, PayUrl = OrderController.Instance.CreateAlipayLink(playerUserName, this.OrderNumber, "迅灵矿石", this.ValueRMB, GlobalConfig.GameConfig.Stones_RMB + "矿石 = 1 灵币 = " + 1 / GlobalConfig.GameConfig.Yuan_RMB + "元人民币"), LockedByUserName = playerUserName, LockedTime = DateTime.Now, OrderLockedTimeSpan = 0 }; this._sellOrder.OrderState = SellOrderState.Lock; DBProvider.StoneOrderDBProvider.LockOrder(this._lockOrderObject, trans); trans.Commit(); return(this._lockOrderObject); } catch (Exception exc) { if (trans != null) { trans.Rollback(); } this._sellOrder.OrderState = SellOrderState.Wait; this._lockOrderObject = null; LogHelper.Instance.AddErrorLog("Lock Order[" + this._sellOrder.OrderNumber + "] by User[" + playerUserName + "] Error", exc); return(null); } finally { if (trans != null) { trans.Dispose(); } } } }
public LockSellStonesOrder GetLockedOrderByUserName(string userName) { lock (_lockListSellOrders) { LockSellStonesOrder order = null; foreach (var item in dicSellOrders.Values) { if (item.CheckBuyerName(userName)) { if (!item.CheckOrderLockedTimeOut()) { order = item.LockedOrder; } } } return(order); } }
/// <summary> /// 如果订单状态为异常时,不取消锁定 /// </summary> /// <returns></returns> public bool ReleaseLock() { lock (this._lock) { if (this._sellOrder.OrderState == SellOrderState.Exception) { return(false); } CustomerMySqlTransaction trans = null; try { trans = MyDBHelper.Instance.CreateTrans(); DBProvider.StoneOrderDBProvider.ReleaseOrderLock(this._sellOrder.OrderNumber, trans); trans.Commit(); this._sellOrder.OrderState = SellOrderState.Wait; this._lockOrderObject = null; return(true); } catch (Exception exc) { if (trans != null) { trans.Rollback(); } LogHelper.Instance.AddErrorLog("ReleaseLock Order[" + this._sellOrder.OrderNumber + "] Error", exc); return(false); } finally { if (trans != null) { trans.Dispose(); } } } }
public void UpdateLockedOrder(LockSellStonesOrder lockInfo) { _lockOrderObject = lockInfo; this._sellOrder = lockInfo.StonesOrder; }
public StoneOrderRunnable(LockSellStonesOrder lockInfo) { _lockOrderObject = lockInfo; this._sellOrder = lockInfo.StonesOrder; }
public StoneOrderNotFinishedRecordUIModel(LockSellStonesOrder parent) { this.LockSellStonesOrderObject = parent; }
public LockSellStonesOrderUIModel(LockSellStonesOrder parent) { this.ParentObject = parent; }