public static string ERNIEChoujiang(ERNIE_Record recordinfo) { //先产生个随机码超出范围的随机号,后面根据活动设定重新获得随机号,防止没有查询到活动时无返回随机码 Random ra = new Random(); var code = ra.Next(98888888, 99888888); try { //先判断活动 var erniedate = MemberERNIEData.ERNIEGetActById(recordinfo.ERNIE_id); if (erniedate != null) { if (erniedate.Runstate == 1 && erniedate.Online == 1 && erniedate.ERNIE_star < DateTime.Now) { //运行中,在起始时间内 if (erniedate.ERNIE_end.AddDays(1) < DateTime.Now) //超出日期则显示活动已经结束,时间按结束日期的23:59:59秒 { return(JsonConvert.SerializeObject(new { error = "此次活动已经结束", sn = code, success = false })); } code = ra.Next((98888888 - erniedate.ERNIE_RateNum), 98888888); recordinfo.ERNIE_code = code; //赋值随机码 recordinfo.Ip = CommonFunc.GetRealIP(); //记录IP recordinfo.ERNIE_time = DateTime.Now; //记录时间 //读取用户信息 B2bCrmData crmmodel = new B2bCrmData(); B2b_crm memberinfo = crmmodel.b2b_crmH5(recordinfo.ERNIE_openid, erniedate.Com_id); if (memberinfo != null) { recordinfo.ERNIE_uid = memberinfo.Id; //读取用户ID,必须是已关注用户才能抽奖 var ERNIE_Limit = erniedate.ERNIE_Limit; //抽奖频率 var Limit_Num = erniedate.Limit_Num; //抽奖次数 var searchdate = MemberERNIEData.SearchChoujiang(recordinfo, ERNIE_Limit); //查询是否抽过奖 if (searchdate < Limit_Num) { var insertdate = MemberERNIEData.InsertChoujiang(recordinfo);//插入抽奖 //判断是否中奖。可以重复,按指定 var panduanchoujiang = MemberERNIEData.ChoujiangSearchAwardcode(insertdate, recordinfo.ERNIE_id); if (panduanchoujiang > 0) { //如果中奖, //处理中奖,返回中奖级别 var zhongjiang = MemberERNIEData.ZhongjiangAwardcode(insertdate, panduanchoujiang, memberinfo.Id); if (zhongjiang > 0) { return(JsonConvert.SerializeObject(new { error = "", insert_id = insertdate, success = true, prizetype = zhongjiang, sn = code })); } } } else { return(JsonConvert.SerializeObject(new { error = "您已经参加过抽奖活动", sn = code, success = false })); } } else { return(JsonConvert.SerializeObject(new { error = "只有关注微信用户才能参与抽奖", sn = code, success = false })); } } else { return(JsonConvert.SerializeObject(new { error = "活动尚未开始,请稍后再关注", sn = code, success = false })); } } return(JsonConvert.SerializeObject(new { error = "", sn = code, success = false })); } catch (Exception ex) { return(JsonConvert.SerializeObject(new { error = "", sn = code, success = false })); throw; } }
protected void Page_Load(object sender, EventArgs e) { shijianchuo = DateTime.Now.ToString("yyyyMMddhhmmssfff"); string u = Request.ServerVariables["HTTP_USER_AGENT"]; bool bo = detectmobilebrowser.HttpUserAgent(u); RequestUrl = Request.ServerVariables["SERVER_NAME"].ToLower(); try { //根据域名读取商户ID,如果没有绑定域名直接跳转后台 if (Domain_def.Domain_yanzheng(RequestUrl))//如果符合shop101.etown.cn的格式,则从多微信商户基本信息表中获取comid { //先通过正则表达式获取COMid comid = Int32.Parse(Domain_def.Domain_Huoqu(RequestUrl).ToString()); if (comid == 0) { comid = new WeiXinBasicData().GetWeiXinBasicByDomain(RequestUrl).Comid; } } else { B2b_company_info companyinfo = B2bCompanyData.GetComId(RequestUrl); if (companyinfo != null) { comid = companyinfo.Com_id; } } } catch { errlog += "1,"; } if (comid != 0) { if (bo == false) { if (comid == 101) { // Response.Redirect("http://vctrip.etown.cn/"); } // Response.Redirect("http://shop" + comid + ".etown.cn"); } //获取微信平台端code weixincode = Request["code"].ConvertTo <string>(""); openid = Request["openid"].ConvertTo <string>(""); weixinpass = Request["weixinpass"].ConvertTo <string>(""); GetMemberCard(openid, weixincode, weixinpass, comid);//登陆或得到会员信息 } //得到活动ID actid = Request["actid"].ConvertTo <int>(0); //非班车抽奖活动,则得到最新运行的上线活动id(现在只是班车抽奖传递ntime参数) if (actid == 0 && Request["ntime"].ConvertTo <string>("") == "") { //得到最新运行的,上线的活动ID actid = MemberERNIEData.ERNIETOPgetid(comid); } if (actid == 0) { actstate = 0; } else { actstate = 1; } //抽奖活动 Member_ERNIE erniemodel = new Member_ERNIE(); //奖项 Member_ERNIE_Award Awardmodel = new Member_ERNIE_Award(); var pro = MemberERNIEData.ERNIEGetActById(actid); if (pro != null) { Com_id = pro.Com_id; Title = pro.Title; ERNIE_type = pro.ERNIE_type; //摇奖类型,大转盘 ERNIE_star = pro.ERNIE_star; ERNIE_end = pro.ERNIE_end; ERNIE_RateNum = pro.ERNIE_RateNum; //摇奖基数 ERNIE_Limit = pro.ERNIE_Limit; //摇奖限定,每个账户一次,还是每天一次或多次 Limit_Num = pro.Limit_Num; //摇奖限定次数 Runstate = pro.Runstate; Remark = pro.Remark; } //获取一等奖 var Awardpro1 = MemberERNIEData.ERNIEAwardget(actid, 1); if (Awardpro1 != null) { Award_title1 = Awardpro1.Award_title; Award_num1 = Awardpro1.Award_num; Award_class1 = Awardpro1.Award_class; Id1 = Awardpro1.Id; } //获取二等奖 var Awardpro2 = MemberERNIEData.ERNIEAwardget(actid, 2); if (Awardpro2 != null) { Award_title2 = Awardpro2.Award_title; Award_num2 = Awardpro2.Award_num; Award_class2 = Awardpro2.Award_class; Id1 = Awardpro2.Id; } //获取三等奖 var Awardpro3 = MemberERNIEData.ERNIEAwardget(actid, 3); if (Awardpro3 != null) { Award_title3 = Awardpro3.Award_title; Award_num3 = Awardpro3.Award_num; Award_class3 = Awardpro3.Award_class; Id1 = Awardpro3.Id; } //读取活动信息 var erniedate = MemberERNIEData.ERNIEGetActById(actid); if (erniedate != null) { if (erniedate.Runstate == 1 && erniedate.Online == 1 && erniedate.ERNIE_star < DateTime.Now && erniedate.ERNIE_end.AddDays(1) > DateTime.Now) { var ERNIE_Limit = erniedate.ERNIE_Limit; //抽奖类型 var Limit_Num = erniedate.Limit_Num; //可抽奖次数 //读取用户信息 B2bCrmData crmmodel = new B2bCrmData(); B2b_crm memberinfo = crmmodel.b2b_crmH5(openid, erniedate.Com_id); if (memberinfo != null) { if (memberinfo != null) { ERNIE_Record recordinfo = new ERNIE_Record(); recordinfo.ERNIE_openid = openid; recordinfo.ERNIE_uid = 0; recordinfo.ERNIE_id = actid; var searchdate = MemberERNIEData.SearchChoujiang(recordinfo, ERNIE_Limit);//查询是否抽过奖 if (searchdate < Limit_Num) { if (AccountWeixin != "")//判断登陆状态并有微信号 { choujiangcishu = Limit_Num - searchdate; } else { openid = ""; } } } } } } string ntime = Request["ntime"].ConvertTo <string>(""); string md5ntime = Request["md5ntime"].ConvertTo <string>(""); string tmd5ntime = EncryptionHelper.ToMD5(ntime + "lixh1210", "UTF-8"); if (ntime != "") { if (md5ntime == tmd5ntime) { if (DateTime.Parse(ntime).ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd")) { } else { //非当日抽奖 actstate = 0; } } else { actstate = 0; } } }