Beispiel #1
0
        public ActionResult AppendIntegral(string memberId, IntegralWalletViewModel postModel)
        {
            var result = new DataJsonResult();

            if (string.IsNullOrWhiteSpace(postModel.Remark))
            {
                result.ErrorMessage = "备注不能为空";
            }
            else if (postModel.Integral < 1)
            {
                result.ErrorMessage = "积分不得少于1";
            }
            else
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    string error;
                    _walletService.Deposit(memberId, WalletType.Integral, postModel.Integral, postModel.Remark, out error);
                    if (string.IsNullOrWhiteSpace(error))
                    {
                        Logger.Operation($"平台向用户{memberId}添加{postModel.Integral}积分", WalletModule.Instance, SecurityLevel.Warning);
                    }

                    scope.Complete();
                }
            }

            return(Json(result));
        }
Beispiel #2
0
        public ActionResult DeductIntegral(string memberId, IntegralWalletViewModel postModel)
        {
            var result = new DataJsonResult();

            if (string.IsNullOrWhiteSpace(postModel.Remark))
            {
                result.ErrorMessage = "备注不能为空";
            }
            else
            {
                var wallet = _walletService.GetWalletByMemberId(memberId, WalletType.Integral) ?? new Models.Wallet();
                if (postModel.Integral > wallet.Available)
                {
                    result.ErrorMessage = "扣除积分不得大于用户可用余额";
                }
                else
                {
                    using (TransactionScope scope = new TransactionScope())
                    {
                        string error;
                        _walletService.Draw(memberId, WalletType.Integral, postModel.Integral, postModel.Remark, out error);
                        if (string.IsNullOrWhiteSpace(error))
                        {
                            Logger.Operation($"平台从用户{memberId}扣除{postModel.Integral}积分", WalletModule.Instance, SecurityLevel.Warning);
                        }

                        scope.Complete();
                    }
                }
            }
            return(Json(result));
        }