/// <summary> /// VIP奖励信息{时间,佣金,预期,应收,是否已领取} /// </summary> /// <returns></returns> public ActionResult RewardInfo() { object data = null; int dateCode = Convert.ToInt32(DateTime.Now.ToString("yyyyMMdd")); Tvip_Reward daReward = new Tvip_Reward(); if (!daReward.SelectByUserId_Datecode(Package.UserId, dateCode)) { data = new { Date = dateCode, Commission = 0m, Expect = 0m, Reward = 0m, Is_Received = true }; } else { data = new { Date = dateCode, Commission = daReward.Yesterday, Expect = daReward.Expect, Reward = daReward.Amount, Is_Received = daReward.Status == 1, }; } return(SuccessResult(data)); }
public bool ReceiveReward() { BeginTransaction(); Tvip_Reward daReward = new Tvip_Reward(); daReward.ReferenceTransactionFrom(Transaction); if (!daReward.SelectByUserId_Datecode(_userId, _dateCode)) { Rollback(); Alert((ResultType)ApiStatusCode.OPERATOR_FORBIDDEN, "今日无奖励可领取"); return(false); } if (daReward.Status == 1) { Rollback(); Alert((ResultType)ApiStatusCode.OPERATOR_FORBIDDEN, "今日奖励已领取"); return(false); } int transferId; if (!DoTransfer(daReward.User_Id, daReward.Amount, out transferId)) { Rollback(); return(false); } if (!daReward.UpdateReceiveById(transferId)) { Rollback(); Alert((ResultType)ApiStatusCode.DATA_REFRESH_FAIL, "系统繁忙,请稍后再试!"); return(false); } Commit(); return(true); }
public bool DoCreate(DateTime runTime) { const decimal basicReward = 20m; Vnet_User daUser = new Vnet_User(); int recommendCount = daUser.GetRecommendUserCount(this._userId);//直推VIP数量 //消费数据 decimal consumeRebate = 0m; //预期奖励 decimal expect = basicReward + (basicReward * 0.2m * recommendCount); //实际应得奖励 decimal infact = expect - consumeRebate; Tvip_Reward daReward = new Tvip_Reward { Amount = infact, Expect = expect, Datecode = Convert.ToInt32(runTime.ToString("yyyyMMdd")), Recommend = recommendCount, Status = 0, Yesterday = consumeRebate, User_Id = this._userId, }; daReward.ReferenceTransactionFrom(Transaction); if (!daReward.Insert()) { Alert((ResultType)ApiStatusCode.DATA_PERSIST_FAIL, "创建VIP每日奖励失败"); return(false); } return(true); }