예제 #1
0
        /// <summary>
        /// 添加积分
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="scoreType"></param>
        /// <param name="keyId"></param>
        /// <returns></returns>
        public InvokeResult <int> AddScore(string userId, ScoreType scoreType, string keyId)
        {
            //默认赠送积分多少
            var sysitem = _SysItemsDetailService.GetItem("ScoreType", ((int)scoreType).ToString());

            if (sysitem == null)
            {
                _Logger.LogError($"获取积分失败:memberId:{userId};scoreType:{(int)scoreType}");
                return(RequestResult.Failed <int>("获取积分失败"));
            }
            var amount = sysitem.Description.ToInt();

            if (!_Respository.Any(w => w.MemberId == userId && w.OperatType == 0 && w.ScoreType == (int)scoreType && w.KeyId == keyId))
            {
                var desc = EnumCommon.GetDescription(scoreType);

                if (userId.IsEmpty())
                {
                    return(RequestResult.Failed <int>("原会员编号不存在,操作失败!"));
                }
                var memScore = _MemRespository.GetMemScore(userId);
                var buyScore = new MemberScore
                {
                    MemberId    = userId,
                    Score       = amount,
                    ScoreType   = (int)scoreType,
                    OperatType  = 0,
                    KeyId       = keyId,
                    Description = $"用户{desc}赠送{amount}积分"
                };

                var b = false;
                //奖积分
                b = _MemRespository.UpdateFields(new Member {
                    Id = userId, UserScore = memScore + amount
                }, "UserScore");
                if (!b)
                {
                    return(RequestResult.Failed <int>("奖励积分失败,请重试"));
                }
                //奖积分记录
                b = _Respository.CreateOrUpdate(buyScore);
                if (!b)
                {
                    return(RequestResult.Failed <int>("奖励积分失败,请重试"));
                }
            }
            return(RequestResult.Success(amount));
        }
예제 #2
0
        public IActionResult Register([FromServices] ISysItemsDetailService sysItemsDetailService)
        {
            AddPageCrumbs("注册");

            var score   = 1;
            var sysitem = sysItemsDetailService.GetItem("ScoreType", ((int)ScoreType.reg).ToString());

            if (sysitem == null)
            {
                _Logger.LogError("注册积分为空");
            }
            score         = sysitem.Description.ToInt();
            ViewBag.Score = score;


            return(View());
        }