Exemplo n.º 1
0
        /// <summary>
        /// 更新用户积分。
        /// </summary>
        /// <param name="userId">用户Id。</param>
        /// <param name="score">用户积分。</param>
        /// <param name="remark">描述。</param>
        /// <param name="scoreType">积分使用类型。</param>
        /// <param name="cancellationToken">取消标志。</param>
        /// <returns>返回添加结果。</returns>
        public virtual async Task <UpdateScoreResult> UpdateScoreAsync(int userId, int score, string remark = null, ScoreType?scoreType = null, CancellationToken cancellationToken = default)
        {
            UpdateScoreResult result = UpdateScoreStatus.ScoreError;
            await Context.BeginTransactionAsync(async db =>
            {
                result = await db.UpdateScoreAsync(userId, score, remark, scoreType, cancellationToken);
                return(result);
            }, cancellationToken : cancellationToken);

            return(result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 充值积分,直接增加用户积分。
        /// </summary>
        /// <param name="userId">用户Id。</param>
        /// <param name="score">用户积分。</param>
        /// <param name="remark">备注。</param>
        /// <returns>返回充值结果。</returns>
        public virtual UpdateScoreResult Recharge(int userId, int score, string remark = null)
        {
            UpdateScoreResult result = UpdateScoreStatus.ScoreError;

            Context.BeginTransaction(db =>
            {
                result = db.UpdateScore(userId, -score, remark);
                return(result);
            });
            return(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 充值积分,直接增加用户积分。
        /// </summary>
        /// <param name="userId">用户Id。</param>
        /// <param name="score">用户积分。</param>
        /// <param name="remark">备注。</param>
        /// <returns>返回充值结果。</returns>
        public virtual async Task <UpdateScoreResult> RechargeAsync(int userId, int score, string remark = null)
        {
            UpdateScoreResult result = UpdateScoreStatus.ScoreError;
            await Context.BeginTransactionAsync(async db =>
            {
                result = await db.UpdateScoreAsync(userId, -score, remark);
                return(result);
            });

            return(result);
        }