public JsonResult Compensate(string userId, int intergal, string cause, bool isActive, string id, int transactionIntegral)
        {
            if (ControllerContext.HttpContext.User == null)
            {
                return(Json(new { result = "false" }));
            }
            InsertIntergalModal insertIntergal = new InsertIntergalModal()
            {
                UserId              = new Guid(userId),
                IntegralDetailID    = Guid.NewGuid(),
                Integral            = intergal,
                IntegralID          = new Guid(id),
                IntegralRuleID      = new Guid("6fa89adc-b26a-44db-9f59-2a033bd17e0b"),
                TransactionIntegral = transactionIntegral,
                TransactionRemark   = "活动积分补偿", //规则的描述
                TransactionDescribe = cause,
                IsActive            = isActive,
                TransactionChannel  = "pc",
                Versions            = "1.0.0.0",
                Author              = ControllerContext.HttpContext.User.Identity.Name
            };
            int    returnCount = new BizUserIntergal().InsertIntergal(insertIntergal);
            string result      = returnCount == 0 ? "false" : "true";

            return(Json(new { msg = result }));
        }
Пример #2
0
 public int InsertIntergal(InsertIntergalModal insertIntergal)
 {
     return(new DALUserIntergal().InsertIntergal(insertIntergal));
 }
Пример #3
0
        public int InsertIntergal(InsertIntergalModal insertIntergal)
        {
            #region sql

            SqlParameter[] parameters =
            {
                new SqlParameter("@IntegralDetailID",    insertIntergal.IntegralDetailID),
                new SqlParameter("@IntegralID",          insertIntergal.IntegralID),
                new SqlParameter("@IntegralRuleID",      insertIntergal.IntegralRuleID),
                new SqlParameter("@TransactionIntegral", insertIntergal.TransactionIntegral), //增加的积分
                new SqlParameter("@TransactionRemark",   insertIntergal.TransactionRemark),
                new SqlParameter("@TransactionDescribe", insertIntergal.TransactionDescribe), //增加的积分的描述原因
                new SqlParameter("@IsActive",            insertIntergal.IsActive),            //默认启用有效
                new SqlParameter("@TransactionChannel",  insertIntergal.TransactionChannel),
                new SqlParameter("@Versions",            insertIntergal.Versions)
            };
            string         sql             = @"INSERT  INTO Tuhu_profiles..tbl_UserIntegralDetail
                                        (IntegralDetailID,
                                            IntegralID,
                                            IntegralRuleID,
                                            TransactionIntegral,
                                            TransactionRemark,
                                            TransactionDescribe,
                                            IsActive,
                                            TransactionChannel,
                                            Versions,
                                            CreateDateTime,
                                            LasetUpdateTime
                                            )
                                            VALUES(
                                            @IntegralDetailID,
                                            @IntegralID, 
                                            @IntegralRuleID, 
                                            @TransactionIntegral, 
                                            @TransactionRemark,
                                            @TransactionDescribe,
                                            @IsActive,
                                            @TransactionChannel, 
                                            @Versions, 
                                            GETDATE(), 
                                            GETDATE()
                                            );  ";
            SqlParameter[] parameterUpdate =
            {
                new SqlParameter("@Integral", insertIntergal.Integral + insertIntergal.TransactionIntegral),
                new SqlParameter("@UserID",   insertIntergal.UserId)
            };
            string sqlUpdate = @" UPDATE Tuhu_profiles..tbl_UserIntegral SET Integral=@Integral WHERE UserID=@UserID ";

            string sqlLog = @"INSERT INTO [Tuhu_Log].[dbo].[tbl_UserIntegralDetailLog]
                                                ( [IntegralDetailID] ,
                                                  [IntegralRuleID] ,
                                                  [Author] ,
                                                  [ChangeResult] ,
                                                  [Reason] ,
                                                  [CreateTime] ,
                                                  [UpdateTime] ,
                                                  [Remark]
                                                )
                                        VALUES  ( @IntegralDetailID , 
                                                  @IntegralRuleID , 
                                                  @Author , 
                                                  @ChangeResult ,
                                                  @Reason , 
                                                  GETDATE() ,
                                                  GETDATE() , 
                                                  @Remark  
                                                )";

            #endregion

            int result = 0;
            using (var dbHelper = new SqlDbHelper(strConn))
            {
                try
                {
                    dbHelper.BeginTransaction();

                    //新增用户积分详情
                    result = SqlHelper.ExecuteNonQuery(conn, Text, sql, parameters);
                    //修改用户的总积分
                    if (result > 0)
                    {
                        result = SqlHelper.ExecuteNonQuery(conn, Text, sqlUpdate, parameterUpdate);
                    }
                    dbHelper.Commit();
                }
                catch (Exception ex)
                {
                    dbHelper.Rollback();
                }
            }
            //插入日志表
            if (result > 0)
            {
                var connLog = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;
                if (SecurityHelp.IsBase64Formatted(connLog))
                {
                    connLog = SecurityHelp.DecryptAES(connLog);
                }
                using (var dbhelper = new SqlDbHelper(connLog))
                {
                    var cmd = new SqlCommand(sqlLog);
                    cmd.CommandType = Text;

                    cmd.Parameters.AddWithValue("@IntegralDetailID", insertIntergal.IntegralDetailID);
                    cmd.Parameters.AddWithValue("@IntegralRuleID", insertIntergal.IntegralRuleID);
                    cmd.Parameters.AddWithValue("@Author", insertIntergal.Author);
                    cmd.Parameters.AddWithValue("@ChangeResult", insertIntergal.IsActive);
                    cmd.Parameters.AddWithValue("@Reason", insertIntergal.TransactionDescribe);
                    cmd.Parameters.AddWithValue("@Remark", insertIntergal.TransactionRemark);

                    dbhelper.ExecuteNonQuery(cmd);
                }
            }
            return(result);
        }