public string TiXian(dynamic requestData) { RJson r = new RJson(); string openid = requestData.OpenId; try { string kaiguan = ConfigurationManager.AppSettings["kaiguan"]; if (kaiguan == "ON") { if (string.IsNullOrEmpty(openid)) { r.message = "参数错误"; } else { int isRegist = RedPack.GetIsRegist(openid); if (isRegist == 0) { r.message = "您还未注册,注册后方可提现"; } else if (isRegist == -2) //表示是岗位是调味品供货商 的会员 { r.message = "调味品供货商"; } else if (isRegist == -1) //表示是队员 返回 { r.message = "队员不能参与活动"; } else { r = RedPack.PayAction(openid); } } } else { r.message = "活动现处于关闭状态,谢谢~"; } } catch (Exception ex) { r.message = "有异常"; RedPack.AddAlertLog(openid, ex.ToString(), "tixian-error"); } return(JsonConvert.SerializeObject(r)); }
public string GetHistory(string openid) { RHistoryJson r = new RHistoryJson(); try { if (string.IsNullOrEmpty(openid)) { r.message = "参数有误"; } else { string sql = string.Format(@"SELECT * FROM RedPackScanRecord WHERE OpenId = '{0}'", openid); DataTable dt = SqlHelper2.ExecuteDataTable(sql); r.haveTxMoney = Convert.ToDouble(dt.Compute("Sum(Money)", "IsPay=1").ToString() == "" ? 0 : dt.Compute("Sum(Money)", "IsPay=1")); //已提现金额 r.kTxMoney = Convert.ToDouble(dt.Compute("Sum(Money)", "IsPay=0").ToString() == "" ? 0 : dt.Compute("Sum(Money)", "IsPay=0")); //还没有进行提现的金额 //获取用户扫描但是未提现的金额总和 // string sql = string.Format(@"SELECT ISNULL(SUM(Money),0) Total // FROM dbo.RedPackScanRecord WHERE OpenId = '{0}' AND IsPay = 0 ", openid); // r.kTxMoney = Convert.ToDouble(SqlHelper2.ExecuteScalar(CommandType.Text, sql)); if (r.kTxMoney > 1) { r.isKeTiXian = 1; } //获取用户扫描 提现记录 sql = string.Format(@"SELECT * FROM ( SELECT Money Money,CONVERT(VARCHAR(30),ScanDate,121) CreateDate,'+' Action FROM dbo.RedPackScanRecord WHERE OpenId = '{0}' UNION SELECT PayAmout Money,CONVERT(VARCHAR(30),PayDate,121) CreateDate,'-' Action FROM dbo.RedPackPayRecord WHERE OpenId = '{0}' ) t ORDER BY CreateDate", openid); var q = SqlHelper2.ExecuteDataTable(sql); r.data = q; //用户扫描 提现记录 r.isRegist = RedPack.GetIsRegist(openid); //是否注册用户 0未注册 1已注册 r.scanCount = dt.Rows.Count; r.result_status = "succ"; //返回成功状态 } } catch (Exception ex) { r.message = "有异常"; RedPack.AddAlertLog(openid, ex.ToString(), "GetHistory-error"); } return(JsonConvert.SerializeObject(r)); }
public async Task <string> ScanPressureTest(dynamic requestData) { RScanJson r = new RScanJson(); string kaiGuan = ConfigurationManager.AppSettings["kaiguan"]; //if (kaiGuan == "ON") //{ string openid = requestData.OpenId; string scode = requestData.Scode; try { if (string.IsNullOrEmpty(openid) || string.IsNullOrEmpty(scode)) { r.message = "参数有误"; } else { #region 1.判断是否注册,是否是队员 int isRegist = RedPack.GetIsRegist(openid); if (isRegist == 1) { r.isRegist = 1; } else if (isRegist == -1) //表示是队员 返回 { r.isRegist = 0; r.message = "队员不能扫码"; return(JsonConvert.SerializeObject(r)); } #endregion #region 2.获取用户扫描但是未提现的金额总和 string sql = ""; sql = string.Format(@"SELECT ISNULL(SUM(Money),0) Total FROM dbo.RedPackScanRecord WHERE OpenId = '{0}' AND IsPay = 0 ", openid); r.kTxMoney = Convert.ToDouble(SqlHelper2.ExecuteScalar(CommandType.Text, sql)); if (r.kTxMoney > 1) { r.isKeTiXian = 1; } #endregion //当天 string nowDay = DateTime.Now.ToString("yyyy-MM-dd"); //当月 string nowMonth = DateTime.Now.ToString("yyyy-MM"); //string a = CheckRule(openid, scode); //验证二维码是否有效 sql = string.Format(@"SELECT a.IsScan,b.Money,convert(varchar(19),b.ScanDate,121) ScanDate FROM dbo.RedPackCode a LEFT JOIN dbo.RedPackScanRecord b ON a.Code=b.ScanCode WHERE a.Code = '{0}' ", scode); DataTable dt = SqlHelper2.ExecuteDataTable(sql); if (dt.Rows.Count == 0) { r.code_status = "非活动码"; r.message = "此码不属于本次活动"; RedPack.AddAlertLog(openid, scode + ":" + r.message, "scan"); } //配合压测 mark掉 //else if (Convert.ToInt16(dt.Rows[0]["IsScan"]) == 1) //{ // r.code_status = "已被扫"; // r.money = Convert.ToDouble(dt.Rows[0]["Money"]); // r.scan_date = dt.Rows[0]["ScanDate"].ToString(); // r.message = "该二维码已被扫描"; // RedPack.AddAlertLog(openid, scode + ":" + r.message, "scan"); //} else { //验证当天扫描是否超过10次 sql = string.Format("SELECT COUNT(1) FROM RedPackScanRecord WHERE OpenId ='{0}' AND CONVERT(VARCHAR(10),ScanDate,121) = '{1}' ", openid, nowDay); int nowDayScan = SqlHelper2.GetCount(CommandType.Text, sql); if (nowDayScan >= 10) { r.message = "当天扫描是已超过10次"; RedPack.AddAlertLog(openid, r.message, "scan"); } else { sql = string.Format("SELECT COUNT(1) FROM RedPackScanRecord WHERE OpenId ='{0}' ", openid); int allScan = SqlHelper2.GetCount(CommandType.Text, sql); //去抽红包 double money = RedPack.GetMoney(allScan, openid, nowMonth); #region 增加扫描红包记录 sql = string.Format(@"INSERT INTO dbo.RedPackScanRecord ( OpenId ,Money ,ScanCode ,IsPay ,PayId,IsFirst,ScanMonth) VALUES ( '{0}' , -- OpenId - varchar(50) {1} , -- Money - float '{2}' , -- ScanCode - varchar(50) 0 , -- IsPay - int 0 , -- PayId - int {4},'{3}') ; UPDATE dbo.RedPackCode SET IsScan =1,UseDate = GETDATE() WHERE Code = '{2}'; UPDATE dbo.RedPackConfig SET LeiJiMoney = LeiJiMoney + {1} WHERE Month = '{3}' ", openid, money, scode, nowMonth, nowDayScan == 0 ? 1 : 0); LogHelper.WriteMsg("sacn增加扫描红包记录-openid:" + openid + ",sql:" + sql); SqlHelper2.ExecuteNonQuery(CommandType.Text, sql); #endregion r.scan_date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); r.money = money; //返回本次中奖金额 //获取用户扫描但是未提现的金额总和 sql = string.Format(@"SELECT ISNULL(SUM(Money),0) Total FROM dbo.RedPackScanRecord WHERE OpenId = '{0}' AND IsPay = 0 ", openid); r.kTxMoney = Convert.ToDouble(SqlHelper2.ExecuteScalar(CommandType.Text, sql)); if (r.kTxMoney > 1) { r.isKeTiXian = 1; } r.result_status = "succ"; //返回成功状态 } } } } catch (Exception ex) { r.message = "有异常"; RedPack.AddAlertLog(openid, ex.ToString(), "scan-error"); } //} //else //{ // r.message = "活动现处于关闭状态,谢谢~"; //} return(JsonConvert.SerializeObject(r)); }