Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }