/// <summary> /// 带事务的Update /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016/6/17 10:29:12</remarks> public bool Update(PayChargehistoryEntity entity, DbTransaction trans = null) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_PayChargehistory_Update"); database.AddInParameter(commandWrapper, "@Idx", DbType.AnsiString, entity.Idx); database.AddInParameter(commandWrapper, "@Account", DbType.AnsiString, entity.Account); database.AddInParameter(commandWrapper, "@SourceType", DbType.Int32, entity.SourceType); database.AddInParameter(commandWrapper, "@BillingId", DbType.AnsiString, entity.BillingId); database.AddInParameter(commandWrapper, "@Point", DbType.Int32, entity.Point); database.AddInParameter(commandWrapper, "@Bonus", DbType.Int32, entity.Bonus); database.AddInParameter(commandWrapper, "@Cash", DbType.Decimal, entity.Cash); database.AddInParameter(commandWrapper, "@IsFirst", DbType.Boolean, entity.IsFirst); database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime); database.AddInParameter(commandWrapper, "@UpdateTime", DbType.DateTime, entity.UpdateTime); database.AddInParameter(commandWrapper, "@MallCode", DbType.Int32, entity.MallCode); database.AddInParameter(commandWrapper, "@States", DbType.Int32, entity.States); int results = 0; if (trans != null) { results = database.ExecuteNonQuery(commandWrapper, trans); } else { results = database.ExecuteNonQuery(commandWrapper); } return(Convert.ToBoolean(results)); }
/// <summary> /// 将IDataReader的当前记录读取到PayChargehistoryEntity 对象 /// </summary> /// <param name="reader"></param> /// <returns></returns> public PayChargehistoryEntity LoadSingleRow(IDataReader reader) { var obj = new PayChargehistoryEntity(); obj.Idx = (System.String)reader["Idx"]; obj.Account = (System.String)reader["Account"]; obj.SourceType = (System.Int32)reader["SourceType"]; obj.BillingId = (System.String)reader["BillingId"]; obj.Point = (System.Int32)reader["Point"]; obj.Bonus = (System.Int32)reader["Bonus"]; obj.Cash = (System.Decimal)reader["Cash"]; obj.IsFirst = (System.Boolean)reader["IsFirst"]; obj.RowTime = (System.DateTime)reader["RowTime"]; obj.UpdateTime = (System.DateTime)reader["UpdateTime"]; obj.MallCode = (System.Int32)reader["MallCode"]; obj.States = (System.Int32)reader["States"]; return(obj); }
/// <summary> /// GetById /// </summary> /// <param name="idx">idx</param> /// <returns>PayChargehistoryEntity</returns> /// <remarks>2016/6/17 10:29:12</remarks> public PayChargehistoryEntity GetById(System.String idx) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("P_PayChargehistory_GetById"); database.AddInParameter(commandWrapper, "@Idx", DbType.AnsiString, idx); PayChargehistoryEntity obj = null; using (IDataReader reader = database.ExecuteReader(commandWrapper)) { if (reader.Read()) { obj = LoadSingleRow(reader); } } return(obj); }
private string SaveBuyPointShipmentsTx(NbManagerEntity manager, int point, int bonus, PayChargehistoryEntity payEntity, ManagerMonthcardEntity monthcardEntity, MailBuilder mail, ManagerChargenumberEntity buyRecord, DicMallitemEntity mallConfig, string zoneId) { if (point > 0 || bonus > 0) { var messCode1 = PayCore.Instance.AddPoint(payEntity.Account, point, bonus, EnumChargeSourceType.GmCharge, payEntity.BillingId, null, zoneId); if (messCode1 != MessageCode.Success) { return("增加钻石失败" + point + "," + bonus + "," + (int)messCode1); } PayChargehistoryMgr.Insert(payEntity, null, zoneId); } if (monthcardEntity != null) { if (monthcardEntity.BuyNumber == 1) { if (!ManagerMonthcardMgr.Insert(monthcardEntity, null, zoneId)) { return("月卡发送失败"); } } else { if (!ManagerMonthcardMgr.Update(monthcardEntity, null, zoneId)) { return("月卡发送失败"); } } } if (!mail.Save(zoneId)) { return("邮件发送失败"); } if (buyRecord.Idx == 0) { ManagerChargenumberMgr.Insert(buyRecord, null, zoneId); } else { ManagerChargenumberMgr.Update(buyRecord, null, zoneId); } try { if (manager != null) { var curScore = mallConfig.EffectValue * 10; var vipManager = VipManagerMgr.GetById(manager.Idx, zoneId); if (vipManager != null) { curScore += vipManager.VipExp; vipManager.VipExp = curScore; VipManagerMgr.Update(vipManager, null, zoneId); } else { vipManager = new VipManagerEntity(manager.Idx, curScore, DateTime.Now, DateTime.Now, DateTime.Now); VipManagerMgr.Insert(vipManager, null, zoneId); } var newlevel = CacheFactory.VipdicCache.GetVipLevel(curScore); if (newlevel > manager.VipLevel) { manager.VipLevel = newlevel; ManagerUtil.SaveManagerData(manager, null, null, zoneId); } } } catch (Exception ex) { SystemlogMgr.Error("ChargeUpVip", ex); return(ex.Message); } return(""); }
public string TxBuyPointShipments(Guid managerId, string orderId, int mallCode, string zoneId) { try { var manager = NbManagerMgr.GetById(managerId, zoneId); if (manager == null) { return("找不到经理信息"); } var mallConfig = DicMallitemMgr.GetById(mallCode); //var mallConfig = CacheFactory.MallCache.GetMallEntityWithoutPoint(mallCode); if (mallConfig == null || (mallConfig.MallType != (int)EnumMallType.QP && mallConfig.MallType != (int)EnumMallType.Mystery)) { return("请输入正确的商城ID"); } ManagerMonthcardEntity monthcardEntity = null; DateTime date = DateTime.Now; int bonus = 0; var recordList = ManagerChargenumberMgr.GetManagerIdList(managerId, zoneId); ManagerChargenumberEntity buyRecord = null; bool isFirst = false; if (recordList.Count > 0) { buyRecord = recordList.Find(r => r.MallCode == mallCode); } else { isFirst = true; } if (buyRecord == null) { buyRecord = new ManagerChargenumberEntity(0, managerId, mallCode, 1, date, date); } else { buyRecord.BuyNumber++; } MailBuilder mail = null; List <ConfigMallgiftbagEntity> prizeList = null; EnumMailType mailType = EnumMailType.ChargeSuccess; int point = mallConfig.CurrencyCount; if (mallConfig.EffectType == (int)EnumMallEffectType.MonthCard) //月卡 { MonthcardShipments(managerId, ref monthcardEntity, zoneId); } else if (mallConfig.MallType == (int)EnumMallType.Mystery) { if (mallConfig.EffectType == (int)EnumMallEffectType.GiftBag) { //if (!IsHaveBuyWeekGiftBag(buyRecord, DateTime.Now)) //{ // mailType = EnumMailType.ChargeSuccess; // point = mallConfig.EffectValue * 10; //} //else //{ prizeList = GetGiftBag(mallCode); if (prizeList.Count <= 0) { return("获取配置失败"); } mailType = EnumMailType.GiftBagSuccess; //} } else if (mallConfig.EffectType == (int)EnumMallEffectType.WeeklyGiftBag) { //if (!IsHaveBuyWeekGiftBag(buyRecord)) //{ // mailType = EnumMailType.ChargeSuccess; // point = mallConfig.EffectValue * 10; //} //else //{ prizeList = GetGiftBag(mallCode); if (prizeList.Count <= 0) { return("获取配置失败"); } mailType = EnumMailType.GiftBagSuccess; //} } //else if (buyRecord.Idx > 0) //{ // mailType = EnumMailType.ChargeSuccess; // point = mallConfig.EffectValue * 10; //} else { prizeList = GetGiftBag(mallCode); if (prizeList.Count <= 0) { return("获取配置失败"); } mailType = EnumMailType.GiftBagSuccess; } } prizeList = GetGiftBag(mallCode); var payEntity = new PayChargehistoryEntity(); payEntity.Idx = orderId; payEntity.Account = _account.Account; payEntity.BillingId = orderId; payEntity.Bonus = bonus; payEntity.Cash = 0; payEntity.IsFirst = isFirst; payEntity.MallCode = mallCode; payEntity.Point = point; payEntity.RowTime = DateTime.Now; payEntity.SourceType = (int)EnumChargeSourceType.GmCharge; payEntity.States = 2; payEntity.UpdateTime = DateTime.Now; //邮件发货 mail = new MailBuilder(managerId, mallConfig.Name, point + bonus, prizeList, mailType, 0, 0); buyRecord.UpdateTiem = DateTime.Now; payEntity.Bonus = bonus; var code = SaveBuyPointShipmentsTx(manager, point, bonus, payEntity, monthcardEntity, mail, buyRecord, mallConfig, zoneId); return(code); } catch (Exception ex) { SystemlogMgr.Error("充值发货", ex); return(ex.Message); } }
public static bool Update(PayChargehistoryEntity payChargehistoryEntity, DbTransaction trans = null, string zoneId = "") { var provider = new PayChargehistoryProvider(zoneId); return(provider.Update(payChargehistoryEntity, trans)); }