/// <summary> /// 取消交易校验 /// </summary> private void ValidateCancel(TblCashOrderTrade entity) { if (entity == null || entity.TradeStatus != (int)TradeStatus.Trading) { throw new BussinessException(ModelType.Cash, 9); } }
/// <summary> /// 作废交易校验 /// </summary> private void ValidateInvalid(TblCashOrderTrade entity) { if (entity == null || entity.TradeStatus != (int)TradeStatus.Complete) { throw new BussinessException(ModelType.Cash, 9); } }
/// <summary> /// 更新取消交易状态 /// </summary> protected void UpdateTradeCancel() { TblCashOrderTrade entity = this.CurrentOrderTrade; this.ValidateCancel(entity); entity.TradeStatus = (int)TradeStatus.Cancel; entity.Remark = _tradeInfo.Remark; _tradeRepository.Value.Update(entity); }
/// <summary> /// 添加一笔进入交易完成的数据 /// caiyakang 2018-10-06 /// </summary> /// <param name="cancel">是否是订单取消</param> protected void AddTradeComplete() { TradeInfo tradeInfo = this._tradeInfo; TblCashOrderTrade entity = GetTblCashOrderTrade(tradeInfo); entity.TradeType = (int)_orderTrade.TradeType; entity.TradeAmount = tradeInfo.TradeAmount; entity.TradeBalanceAmount = tradeInfo.TradeBalanceAmount; entity.TradeStatus = (int)TradeStatus.Complete; entity.Remark = tradeInfo.Remark; _tradeRepository.Value.Add(entity); }
/// <summary> /// 更新交易中的数据 /// </summary> internal void UpdateNewTradingInfo() { TradeInfo tradeInfo = this._tradeInfo; TblCashOrderTrade entity = _tradeRepository.Value.GetByOrderId(tradeInfo.SchoolId, tradeInfo.OrderId, tradeInfo.OrderNo); //只有交易中的数据才允许更改 if (entity.TradeStatus == (int)TradeStatus.Trading) { entity.TradeAmount = tradeInfo.TradeAmount; _tradeRepository.Value.Update(entity); } }
/// <summary> /// 添加一条作废交易的交易单 /// caiyakang 2018-11-23 /// </summary> protected void AddTradeInvalid() { this.ValidateInvalid(this.CurrentOrderTrade); TradeInfo tradeInfo = this._tradeInfo; TblCashOrderTrade entity = this.GetTblCashOrderTrade(tradeInfo); entity.TradeType = (int)GetCancelTradeType(_orderTrade.TradeType); entity.TradeAmount = -tradeInfo.TradeAmount; entity.TradeBalanceAmount = -tradeInfo.TradeBalanceAmount; entity.TradeStatus = (int)TradeStatus.Complete; entity.Remark = tradeInfo.Remark; entity.CreateTime = DateTime.Now; _tradeRepository.Value.Add(entity); }
/// <summary> /// 统一获取相同的交易单信息 /// </summary> /// <param name="tradeInfo"></param> /// <returns></returns> private TblCashOrderTrade GetTblCashOrderTrade(TradeInfo tradeInfo) { TblCashOrderTrade entity = new TblCashOrderTrade(); entity.OrderTradeId = IdGenerator.NextId(); entity.SchoolId = tradeInfo.SchoolId; entity.OrderId = tradeInfo.OrderId; entity.OrderNo = tradeInfo.OrderNo; entity.PayType = (int)tradeInfo.PayType; entity.TotalDiscount = tradeInfo.TotalDiscount; entity.Buyer = tradeInfo.Buyer; entity.Seller = tradeInfo.Seller; entity.Remark = tradeInfo.Remark; entity.CreateTime = DateTime.Now; return(entity); }
/// <summary> /// 更新交易完成状态 /// </summary> internal void TradeComplete() { TradeInfo tradeInfo = base._tradeInfo; TblCashOrderTrade entity = _tradeRepository.Value.GetByOrderId(tradeInfo.SchoolId, tradeInfo.OrderId, tradeInfo.OrderNo); if (entity.TradeStatus == (int)TradeStatus.Trading) { entity.TradeStatus = (int)TradeStatus.Complete; entity.Remark = _tradeInfo.Remark; } //1、操作交易完成 _tradeRepository.Value.Update(entity); //2、操作余额冻结完成 WalletService service = new WalletService(tradeInfo.SchoolId, Convert.ToInt64(tradeInfo.Buyer), base._unitOfWork); service.TradeFrozeComplete(_orderTrade.TradeType, tradeInfo.OrderId); }