//protected System.Data.SqlClient.SqlConnection OpenConnection(int tag=1) //{ // System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(tag == 1 ? sqlconnection : sqlActivityConn); // connection.Open(); // return connection; //} private void PrintJson(GamePrizeResultInfor data) { var jsonStr = JsonHelper.ToJson(data); this.Context.Response.Write(jsonStr); this.Context.Response.End(); }
//private readonly string sqlconnection = TuanDai.Config.BaseConfig.ConnectionString; //private readonly string sqlActivityConn = TuanDai.Config.BaseConfig.ActivityConnectionString; #region 高铁游戏抽奖 //开始抽奖 public void StartLottery() { Guid?userId = WebUserAuth.UserId; GamePrizeResultInfor resultObj = new GamePrizeResultInfor(); resultObj.Msg = resultObj.Title = resultObj.PrizeName = ""; //判断是否登陆,得到用户ID if (userId == Guid.Empty) { resultObj.Status = 2; resultObj.Msg = "对不起,你未登录,请先登录!"; PrintJson(resultObj); return; } int starNum = WEBRequest.GetFormInt("StarNum", 0); if (starNum <= 0) { resultObj.Status = 0; resultObj.Msg = "对不起,您的财经敏感度为0,不能进行抽奖!"; PrintJson(resultObj); return; } UserBLL userBll = new UserBLL(); UserBasicInfoInfo userInfor = userBll.GetUserBasicInfoModelById(userId.Value); int isNewUser = 0; var param = new DynamicParameters(); param.Add("@userId", userId); param.Add("@userName", userInfor.UserName); param.Add("@StarNum", starNum); param.Add("@userAddDate", userInfor.AddDate); param.Add("@outStatus", 0, System.Data.DbType.Int32, System.Data.ParameterDirection.Output); param.Add("@PrizeId", Guid.Empty, System.Data.DbType.Guid, System.Data.ParameterDirection.Output); param.Add("@PrizeType", 0, System.Data.DbType.Int32, System.Data.ParameterDirection.Output); param.Add("@PrizeValue", 0, System.Data.DbType.Decimal, System.Data.ParameterDirection.Output); param.Add("@PrizeName", "", System.Data.DbType.String, System.Data.ParameterDirection.Output); param.Add("@TargetProductId", Guid.Empty, System.Data.DbType.Guid, System.Data.ParameterDirection.Output); param.Add("@IsNewUser", 0, System.Data.DbType.Int32, System.Data.ParameterDirection.Output); param.Add("@PrizeRecordId", Guid.Empty, System.Data.DbType.Guid, System.Data.ParameterDirection.Output); /* * @userId UNIQUEIDENTIFIER , --申购人 * @userName NVARCHAR(50) ,--申购人姓名 * @StarNum INT, --答题所得星星数 * @outStatus INT OUTPUT , --1:已中奖 -1:活动未开始 -2:活动未已结束 -3:无抽奖机会 -4:奖品已全部抽完 -5 未抽中奖品 * @PrizeId UNIQUEIDENTIFIER OUTPUT, --奖品ID * @PrizeType INT OUTPUT,--奖品类型 * @PrizeValue DECIMAL(18, 2) OUTPUT,--奖品价值 * @PrizeName NVARCHAR(200) OUTPUT , --中奖名称 * @TargetProductId UNIQUEIDENTIFIER OUTPUT --实物ID */ int status = 0, PrizeType = 0; string prizeName = ""; Guid? PrizeId = null; Guid? TargetProductId = null; Guid? PrizeRecordId = null; decimal PrizeValue = 0; //using (SqlConnection connection = OpenConnection(2)) //{ // connection.Execute("p_Activity_GetPrize_HighSpeedGame", param, null, null, CommandType.StoredProcedure); // status = param.Get<int>("@outStatus"); // PrizeType = param.Get<int>("@PrizeType"); // prizeName = param.Get<string>("@PrizeName"); // PrizeId = param.Get<Guid?>("@PrizeId"); // TargetProductId = param.Get<Guid?>("@TargetProductId"); // PrizeValue = param.Get<decimal>("@PrizeValue"); // isNewUser = param.Get<int>("@IsNewUser"); // PrizeRecordId = param.Get<Guid?>("@PrizeRecordId"); // resultObj.IsNewUser = isNewUser; // connection.Close(); // connection.Dispose(); //} //if (status == 1) //{ // #region 写入团宝箱 // using (SqlConnection connection = OpenConnection(1)) // { // try // { // //param = new DynamicParameters(); // //param.Add("@UserId", userId); // //param.Add("@Type", PrizeType); // //param.Add("@SubTypeId", 1); // //param.Add("@ActivityCode", "20150619_" + PrizeRecordId.Value.ToString());//为了插入数据不重复,此处为两个值串联 // //param.Add("@PrizeName", prizeName); // //param.Add("@PrizeValue", PrizeValue); // //param.Add("@TargetProductId", TargetProductId); // //param.Add("@Description", "高铁广告小游戏抽奖活动"); // ////0赠送失败,1赠送成功,-1提现券无库存 // //param.Add("@outStatus", 0, System.Data.DbType.Int32, System.Data.ParameterDirection.Output); // ////调用此过程必须要用到事务 // //connection.Execute("p_sendUserPrize", param, null, null, CommandType.StoredProcedure); // // // SendUserPrizeInfo prizeInfo = new SendUserPrizeInfo(); // prizeInfo.UserId = userId.Value; // prizeInfo.RuleId = Guid.Parse("d6f32f98-a85f-4180-b180-57f3bef8cfa2");//规则Id // prizeInfo.PrizeName = prizeName; // prizeInfo.PrizeValue = PrizeValue; // prizeInfo.Description = "高铁广告小游戏抽奖活动"; // int outStatus = -1; // userBll.SendUserPrizeNew(prizeInfo, out outStatus); // if (outStatus != 1) // { // //写入失败时,回滚之前数据 // status = -5; // this.RollBackGamePrizeData(userId.Value, PrizeId.Value); // } // } // finally // { // connection.Close(); // connection.Dispose(); // } // } // #endregion //} //-- -1:活动未开始 -2:活动未已结束 -3:无抽奖机会 -4:奖品已全部抽完 -5 未抽中奖品 1:已中奖 switch (status) { case 1: { //有抽到奖品 resultObj.Status = 1; resultObj.IsPrized = 1; resultObj.PrizeName = GetShowPrizeName(prizeName); if (isNewUser == 0) { //老用户抽中奖 resultObj.Title = "恭喜您!"; } else { resultObj.Title = "这次大发啦!!"; } } break; case -5: { resultObj.Status = 3; if (isNewUser == 0) { //老用户抽中奖 resultObj.Title = "很遗憾!"; resultObj.PrizeName = "谢谢您的参与传递力量分享吧"; } else { resultObj.Title = "恭喜您!"; resultObj.PrizeName = "获得团贷网388元新手现金红包"; } } break; case -1: resultObj.Status = 0; resultObj.Msg = "您来得太早了,活动还未开始!"; break; case -2: resultObj.Status = 0; resultObj.Msg = "对不起,您来晚了,活动已结束了!"; break; case -3: resultObj.Status = 4; resultObj.Msg = "每个账号只有一次机会,您已抽过奖!"; break; case -4: resultObj.Status = 0; resultObj.Msg = "您来晚了,奖品已全部抽完!"; break; case 0: resultObj.Status = 0; resultObj.Msg = "抽奖失败,请重试!"; break; } PrintJson(resultObj); }