public ActionResult PluginLottery(Guid Id) { try { if (Id == Guid.Empty) { throw new OceanException("参数有误,请检查!"); } //if (MpUserID == Guid.Empty) //{ // string rawUrl = "http://wx.ssrcb.com/ScoreSys/PluginLottery?id=" + TempData["Id"]; // if (string.IsNullOrEmpty(RQuery["openid"])) // { // return Json(new { isOK = false, isLogin = true, error_code = "ERR_NotLogin", message = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http://wx.ssrcb.com/mpuser/autologin?refUrl={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect", MpCenterCache.AppID, rawUrl) }); // } //} ViewBag.Score_Plugin_Title = TempData["Score_Plugin_Title"]; ViewBag.Score_Plugin_StartDate = TempData["Score_Plugin_StartDate"]; ViewBag.Score_Plugin_EndDate = TempData["Score_Plugin_EndDate"]; ViewBag.Score_Plugin_Summary = TempData["Score_Plugin_Summary"]; ViewBag.Score_Plugin_ZeroPrize = TempData["Score_Plugin_ZeroPrize"]; ViewBag.Score_Plugin_UsePoint = TempData["Score_Plugin_UsePoint"]; ViewBag.Score_Plugin_FailsTimes = TempData["Score_Plugin_FailsTimes"]; ViewBag.Score_Plugin_FailsAddOdds = TempData["Score_Plugin_FailsAddOdds"]; IList <ScorePluginResult> scorePluginResultList = _scorePluginResultService.GetList("from ScorePluginResult where PluginId='" + Id.ToString() + "'"); ViewBag.ScorePluginResultList = scorePluginResultList; if (scorePluginResultList != null) { IEnumerable <ScorePluginResult> myplugin_SubmitList = _scorePluginResultService.GetList("from ScorePluginResult where PluginId='" + Id.ToString() + "' and MpUserId='" + this.MpUserID + "' order by CreateDate desc"); ViewBag.MyPlugin_SubmitList = myplugin_SubmitList; } } catch (System.Exception ex) { Log4NetImpl.Write("ScoreSys_PluginLottery:" + ex.Message); return(View("Index")); } return(View("Lottery")); }
public ActionResult GongzhiBaoApply() { //当前登录用户 MpUser mpUser = _mpUserService.GetById(MpUserID); ViewBag.IsAuth = mpUser.IsAuth > 0; ViewBag.Name = mpUser.Name; if (mpUser.Sex == 1) { ViewBag.Sex = "先生"; } else if (mpUser.Sex == 2) { ViewBag.Sex = "女士"; } else { ViewBag.Sex = ""; } try { //用户最近的一笔贷款申请[未撤销] Loan loan = _loanService.GetNewestLoanApplyByMpUserId(MpUserID); //有未过期的贷款申请 if (loan != null && DateTime.Now < loan.CreateDate.AddMonths(1) && loan.LoanCategoryId == 4) { return(RedirectToAction("GongzhiBaoMessage", new { })); } else if (loan != null && DateTime.Now < loan.CreateDate.AddMonths(1)) { return(RedirectToAction("LoanMessage", new { })); } } catch (System.Exception ex) { Log4NetImpl.Write(ex.Message); } return(View()); }
public ActionResult VerifyUserSubmit(Guid pluginId, string CardNo, string TradeSeqNo, string OpenID) { //string OpenID = TempData["OpenID"].ToString(); if (OpenID == "") { return(Json(new { isOK = false, error_code = "ERR_NotLogin" })); //JsonMessage(false, "你还未关注本行微信或者未登陆!"); } else { if (pluginId == Guid.Empty) { return(Json(new { isOK = false, error_code = "ERR_ArgNotExist" })); //JsonMessage(false, "参数有误,请检查!"); } else { try { XYPluginUser xyPluginUser = _xyPluginUserService.GetUnique("from XYPluginUser where OpenId='" + OpenID + "'"); if (xyPluginUser != null) { return(Json(new { isOK = false, error_code = "ERR_AlreadyVerify" })); } xyPluginUser = new XYPluginUser(); xyPluginUser.OpenId = OpenID; xyPluginUser.CardNo = CardNo; xyPluginUser.TradeSeqNo = TradeSeqNo; xyPluginUser.GuaGuaKa = 0; xyPluginUser.LeftCount = 1; _xyPluginUserService.Insert(xyPluginUser); } catch (Exception ex) { Log4NetImpl.Write("VerifyUserSubmit" + ex.Message); return(Json(new { isOK = false, error_code = "ERR_UnKnown" })); //JsonMessage(false, "对不起,出现异常,请联系我行工作人员!"); } } return(Json(new { isOK = true, error_code = "ERR_OK" })); //JsonMessage(true, "恭喜您,可以摇奖了!"); } }
/// <summary> /// 实现自己的任务逻辑 /// </summary> public void Execute() { ////测试 //FunongbaoApply apply = _funongbaoApplyService.GetUnique(f => f.Id == new Guid("9A904BD7-5556-4EB2-A493-6C3DC85CB4BD") && f.NoticeStatus == 0); //if (apply != null) //{ // _mpUserService.SendMessage(apply.RFunongbao.OpenId, "尊敬的" + apply.RFunongbao.Name + ",您本季度有新的额度可供调整。\r\n" + "<a href=\"" + BaseConfigs.GetConfig().WebUrl + "/funongbao/apply\">点击这里,立即申请</a>");//"点击菜单->福农宝->调额申请"); // apply.NoticeStatus = 1; // _funongbaoApplyService.Update(apply); //} //尊敬的**,您本季度有新的额度可供调整。 //点击这里,立即申请 if (DateRuleList.DateRules.Where(d => d.ApplyMonth == DateTime.Now.Month).Count() > 0 && DateTime.Now.Day == DateRule.ApplyStartDay) { Log4NetImpl.Write("执行任务!" + DateTime.Now); //PagedList<FunongbaoApply> applys = _funongbaoApplyService.GetForTaskUserList(1, 100); //if (applys != null) //{ // foreach (FunongbaoApply apply in applys) // { // apply.NoticeStatus = 1; // _mpUserService.SendMessage(apply.RFunongbao.OpenId, "尊敬的" + apply.RFunongbao.Name + ",您本季度有新的额度可供调整。\r\n" + "点击菜单->福农宝->调额申请");//"<a href=\"" + BaseConfigs.GetConfig().WebUrl + "/funongbao/apply\">点击这里,立即申请</a>"); // _funongbaoApplyService.Update(apply); // } //} //for (int i = 1; i < applys.TotalPageCount; i++) //{ // applys = _funongbaoApplyService.GetForTaskUserList((i + 1), 100); // if (applys != null) // { // foreach (FunongbaoApply apply1 in applys) // { // apply1.NoticeStatus = 1; // _mpUserService.SendMessage(apply1.RFunongbao.OpenId, "尊敬的" + apply1.RFunongbao.Name + ",您本季度有新的额度可供调整。\r\n" + "点击菜单->福农宝->调额申请");//"<a href=\"" + BaseConfigs.GetConfig().WebUrl + "/funongbao/apply\">点击这里,立即申请</a>"); // _funongbaoApplyService.Update(apply1); // } // } //} } }
public ActionResult UpdateUserInfo(string ids) { string[] idsArr = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (idsArr != null && idsArr.Length > 0) { Guid[] gids = TypeConverter.StrsToGuids(idsArr); IList <MpUser> mpusers = MpUserService.GetALL(p => gids.Contains(p.Id)); string token = GetAccessToken(); if (mpusers != null && mpusers.Count > 0 && !string.IsNullOrEmpty(token)) { foreach (MpUser currUser in mpusers) { try { UserInfoJson info = Senparc.Weixin.MP.AdvancedAPIs.User.Info(token, currUser.OpenID); if (info != null) { currUser.City = info.city; currUser.Country = info.country; currUser.HeadImgUrl = info.headimgurl; currUser.Language = info.language; currUser.NickName = info.nickname; currUser.Province = info.province; currUser.Sex = info.sex; currUser.SubscribeDate = DateTimeHelper.GetDateTimeFromXml(info.subscribe_time); MpUserService.Update(currUser); } } catch (Exception e) { Log4NetImpl.Write("AysnUser失败:" + e.Message); } } } } return(JsonMessage(true, "同步资料成功")); }
/// <summary> /// Initializes a new instance of the Exception class with a specified error message. /// </summary> /// <param name="message">The message that describes the error.</param> public OceanException(string message) : base(message) { Log4NetImpl.Write(message + "=========end"); }
//<?xml version="1.0" encoding="utf-8"?> //<xml> // <ToUserName><![CDATA[gh_a96a4a619366]]></ToUserName> // <FromUserName><![CDATA[olPjZjsXuQPJoV0HlruZkNzKc91E]]></FromUserName> // <CreateTime>1357986928</CreateTime> // <MsgType><![CDATA[text]]></MsgType> // <Content><![CDATA[中文]]></Content> // <MsgId>5832509444155992350</MsgId> //</xml> /// <summary> /// 获取XDocument转换后的IRequestMessageBase实例。 /// 如果MsgType不存在,抛出UnknownRequestMsgTypeException异常 /// </summary> /// <returns></returns> public static IRequestMessageBase GetRequestEntity(XDocument doc) { RequestMessageBase requestMessage = null; RequestMsgType msgType; try { msgType = MsgTypeHelper.GetRequestMsgType(doc); switch (msgType) { case RequestMsgType.Text: requestMessage = new RequestMessageText(); break; case RequestMsgType.Location: requestMessage = new RequestMessageLocation(); break; case RequestMsgType.Image: requestMessage = new RequestMessageImage(); break; case RequestMsgType.Voice: requestMessage = new RequestMessageVoice(); break; case RequestMsgType.Video: requestMessage = new RequestMessageVideo(); break; case RequestMsgType.Link: requestMessage = new RequestMessageLink(); break; case RequestMsgType.Event: //判断Event类型 switch (doc.Root.Element("Event").Value.ToUpper()) { case "ENTER": //进入会话 requestMessage = new RequestMessageEvent_Enter(); break; case "LOCATION": //地理位置 requestMessage = new RequestMessageEvent_Location(); break; case "SUBSCRIBE": //订阅(关注) requestMessage = new RequestMessageEvent_Subscribe(); break; case "UNSUBSCRIBE": //取消订阅(关注) requestMessage = new RequestMessageEvent_Unsubscribe(); break; case "CLICK": //菜单点击 requestMessage = new RequestMessageEvent_Click(); break; case "SCAN": //二维码扫描 requestMessage = new RequestMessageEvent_Scan(); break; case "VIEW": //URL跳转 requestMessage = new RequestMessageEvent_View(); break; default: //其他意外类型(也可以选择抛出异常) requestMessage = new RequestMessageEventBase(); break; } break; default: throw new UnknownRequestMsgTypeException(string.Format("MsgType:{0} 在RequestMessageFactory中没有对应的处理程序!", msgType), new ArgumentOutOfRangeException()); //为了能够对类型变动最大程度容错(如微信目前还可以对公众账号suscribe等未知类型,但API没有开放),建议在使用的时候catch这个异常 } EntityHelper.FillEntityWithXml(requestMessage, doc); RequestMessageEvent_Subscribe rq = requestMessage as RequestMessageEvent_Subscribe; if (rq != null) { Log4NetImpl.Write("rq.EventKey:" + rq.EventKey); } else { RequestMessageEvent_Scan rq1 = requestMessage as RequestMessageEvent_Scan; if (rq1 != null) { Log4NetImpl.Write("rq1.EventKey:" + rq1.EventKey); } } } catch (ArgumentException ex) { throw new WeixinException(string.Format("RequestMessage转换出错!可能是MsgType不存在!,XML:{0}", doc.ToString()), ex); } return(requestMessage); }
public ActionResult PluginsLottery(Guid Id, string t, string OpenID) { try { if (Id == Guid.Empty) { Log4NetImpl.Write("PluginsLottery:ajax-ERR_ArgNotExist"); return(Json(new { isOK = false, error_code = "ERR_ArgNotExist" })); } Plugin plugin = _pluginService.GetById(Id); if (plugin == null) { return(Json(new { isOK = false, error_code = "ERR_PluginNotExits" })); } //设置布局页 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(plugin.Value); XmlNode pluginNode = xmlDoc.SelectSingleNode("plugin"); GetDataToViewData(pluginNode); if (ViewBag.Cst_Plugin_Title == null) { return(Json(new { isOK = false, error_code = "ERR_PluginNotExits" }));// message = "对不起,您还未配置或配置错误,请到插件中心进行配置下!" }); } if (!string.IsNullOrEmpty(ViewBag.Cst_Plugin_StartDate)) { DateTime startDate = TypeConverter.StrToDateTime(ViewBag.Cst_Plugin_StartDate.ToString()); if (startDate > DateTime.Now) { return(Json(new { isOK = false, error_code = "ERR_PluginNotStart" }));// message = "对不起,抽奖还未开始!" }); } else { if (!string.IsNullOrEmpty(ViewBag.Cst_Plugin_EndDate)) { DateTime endDate = TypeConverter.StrToDateTime(ViewBag.Cst_Plugin_EndDate.ToString()); if (endDate < DateTime.Now) { return(Json(new { isOK = false, error_code = "ERR_PluginIsEnd" }));// message = "对不起,抽奖已经结束!" }); } } } } XYPluginUser xyPluginUser = _xyPluginUserService.GetUnique("from XYPluginUser where OpenId='" + OpenID + "'"); if (xyPluginUser == null) { Log4NetImpl.Write("PluginsLottery:ajax-ERR_UserNotVerify"); return(Json(new { isOK = false, isVertfy = true, error_code = "ERR_UserNotVerify" })); } if (xyPluginUser.LeftCount <= 0) { Log4NetImpl.Write("PluginsLottery:ajax-ERR_UserUseOutChance"); return(Json(new { isOK = false, error_code = "ERR_UserUseOutChance" })); } int prizeCount = TypeConverter.StrToInt(ViewBag.Cst_Plugin_PrizeCount, 12); int prizeItemCount = TypeConverter.StrToInt(ViewBag.Cst_Plugin_Items_Count, 1); if (prizeCount != prizeItemCount) { Log4NetImpl.Write("PluginsLottery:ajax-奖项设置不正确"); return(Json(new { isOK = false, error_code = "ERR_ArgNotExist" })); } IList <PrizeGift> prizeGift = new List <PrizeGift>(prizeItemCount); IList <Double> prizeItems = new List <Double>(prizeItemCount); IList <string> prizeItemsName = new List <string>(prizeCount); IList <int> prizeAngle = new List <int>(12); prizeItemsName.Add("一"); prizeItemsName.Add("二"); prizeItemsName.Add("三"); prizeItemsName.Add("四"); prizeItemsName.Add("五"); prizeItemsName.Add("六"); prizeItemsName.Add("七"); prizeItemsName.Add("八"); prizeItemsName.Add("九"); prizeItemsName.Add("十"); prizeItemsName.Add("十一"); prizeItemsName.Add("十二"); for (int i = 0; i < prizeItemCount; i++) { PrizeGift gift = new PrizeGift(); gift.ID = i; gift.Name = ViewData.GetString("Cst_Plugin_Items_PrizeName" + i.ToString()); gift.Alias_Name = ViewData.GetString("Cst_Plugin_Items_PrizeAliasName" + i.ToString()); gift.Odds = ViewData.GetDouble("Cst_Plugin_Items_PrizePercent" + i.ToString(), 0.00) / 100.00; gift.Pic = ViewData.GetString("Cst_Plugin_Items_PrizePic" + i.ToString()); gift.Quantity = ViewData.GetInt("Cst_Plugin_Items_PrizeNum" + i.ToString()); if (ViewData["Cst_Plugin_Items_PrizeUsedNum" + i.ToString()] != null) { gift.Leavings_Quantity = ViewData.GetInt("Cst_Plugin_Items_PrizeUsedNum" + i.ToString()); } else { gift.Leavings_Quantity = gift.Quantity; } gift.Angle = ViewData.GetInt("Cst_Plugin_Items_PrizeAngle" + i.ToString()); prizeAngle.Add(gift.Angle); gift.Prize_Name = prizeItemsName[i] + "等奖"; if (!string.IsNullOrEmpty(gift.Alias_Name)) { gift.Prize_Name = gift.Alias_Name; } gift.Has_Gift = ViewData.GetInt("Cst_Plugin_Items_Has_Gift" + i.ToString());//>1为奖品,2为刮刮卡 gift.Users = ViewData.GetString("Cst_Plugin_Items_SiteUsers" + i.ToString()); gift.UsersName = ViewData.GetString("Cst_Plugin_Items_SiteUsersName" + i.ToString()); prizeItems.Add(gift.Odds); prizeGift.Add(gift); } int averageAngle = 360 / prizeCount; prizeItems.OrderBy(d => d); int result = -1; xyPluginUser.LeftCount = xyPluginUser.LeftCount - 1; _xyPluginUserService.Update(xyPluginUser); int count = _pluginSceneResultService.GetCount("from SceneResult where pluginId='" + Id.ToString() + "' and MpUserId='" + xyPluginUser.Id + "'"); if (ViewData.GetInt("Cst_Plugin_ZeroPrize") == 1 && count > 0) { Log4NetImpl.Write("PluginsLottery:ajax-ERR_RunOutOfGift"); return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" })); } if (prizeGift.Where(g => g.Has_Gift > 1 && g.Leavings_Quantity > 0).Count() == 0) { Log4NetImpl.Write("PluginsLottery:ajax-ERR_RunOutOfGift"); return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" })); } result = LotteryUtils.Lottery(prizeItems, prizeGift, prizeCount, xyPluginUser.Id, Id); if (result == -1) { return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" })); } else if (result == -2) { return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" }));// Json(new PrizeGift() { ID = -2, Name = "未中奖", Odds = 0.00d, Pic = "", Quantity = 100000, Angle = 180, Prize_Name = "继续加油" }); } else if (result == -3) { return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" }));// Json(new PrizeGift() { ID = -2, Name = "未中奖", Odds = 0.00d, Pic = "", Quantity = 100000, Angle = 180, Prize_Name = "继续加油" }); } else { PrizeGift hasPrizeGift = prizeGift[result]; hasPrizeGift.Alias_Name = hasPrizeGift.Alias_Name ?? ""; if (hasPrizeGift.Has_Gift > 0 && hasPrizeGift.Leavings_Quantity > 0) { //中奖业务处理 PluginSceneResult pluginSceneResult = new PluginSceneResult(); pluginSceneResult.Address = ""; pluginSceneResult.CreateDate = DateTime.Now; pluginSceneResult.Email = ""; pluginSceneResult.IsUse = 0; pluginSceneResult.MobilePhone = ""; pluginSceneResult.Name = ""; pluginSceneResult.Phone = ""; pluginSceneResult.PluginId = Id; pluginSceneResult.MpUserId = xyPluginUser.Id; pluginSceneResult.SN = ""; pluginSceneResult.UserName = (string.IsNullOrEmpty(this.Name) ? this.NickName : this.Name); if (hasPrizeGift.Has_Gift == 2)//刮刮卡 { xyPluginUser.GuaGuaKa = 1; _xyPluginUserService.Update(xyPluginUser); } if (this.MpUserArr != null) { pluginSceneResult.Summary = "恭喜用户[" + (string.IsNullOrEmpty(this.Name) ? this.NickName : this.Name) + "]获得" + hasPrizeGift.Prize_Name + "[" + hasPrizeGift.Name + "]"; } else { pluginSceneResult.Summary = "恭喜匿名用户获得" + hasPrizeGift.Prize_Name + "[" + hasPrizeGift.Name + "]"; } pluginSceneResult.Value = "<?xml version=\"1.0\" encoding=\"utf-8\"?><PluginSubmit><Cst_Plugin_ItemIndex>" + result.ToString() + "</Cst_Plugin_ItemIndex><Cst_Plugin_PrizeLevel>" + hasPrizeGift.Prize_Name + "</Cst_Plugin_PrizeLevel><Cst_Plugin_PrizeName>" + hasPrizeGift.Name + "</Cst_Plugin_PrizeName></PluginSubmit>"; #region 更新中奖数量 XmlNode itemsNode = pluginNode.SelectSingleNode("Cst_Plugin_Items"); XmlNode node = itemsNode.SelectSingleNode("Cst_Plugin_Items_PrizeUsedNum" + result.ToString()); if (node == null) { node = xmlDoc.CreateElement("Cst_Plugin_Items_PrizeUsedNum" + result.ToString()); node.InnerText = (hasPrizeGift.Quantity - 1).ToString(); itemsNode.AppendChild(node); } else { node.InnerText = (hasPrizeGift.Leavings_Quantity - 1).ToString(); } StringWriter sw = new StringWriter(); XmlTextWriter tx = new XmlTextWriter(sw); xmlDoc.WriteTo(tx); string strXmlText = sw.ToString(); plugin.Value = strXmlText; _pluginService.Update(plugin); #endregion _pluginSceneResultService.Insert(pluginSceneResult); hasPrizeGift.ResultID = pluginSceneResult.Id; } return(Content(JsonConvert.SerializeObject(hasPrizeGift), "text/javascript")); } } catch (Exception ex) { throw new OceanException(ex.Message, ex); } }
public ActionResult PluginsLottery(Guid Id) { try { if (Id == Guid.Empty) { Log4NetImpl.Write("PluginsLottery:参数有误"); throw new OceanException("参数有误,请检查!"); } TempData["OpenID"] = ""; if (TempData["OpenID"].ToString() == "") { string code = RQuery["code"]; string state = RQuery["state"]; string refUrl = RQuery["refUrl"]; string openid = RQuery["openid"]; if (code == "") { string redirectUrl = "http://wx.ssrcb.com/xyplugins/PluginsLottery?id=" + Id.ToString(); string reUrl = (OAuth.GetAuthorizeUrl(MpCenterCache.AppID, redirectUrl, "STATE", OAuthScope.snsapi_base)); Response.Redirect(reUrl); return(View("Lottery")); } if (string.IsNullOrEmpty(openid) || openid == "") { OAuthAccessTokenResult authResult = OAuth.GetAccessToken(MpCenterCache.AppID, MpCenterCache.AppSecret, code); openid = authResult.openid; } TempData["OpenID"] = openid; } //页面上的Plugins IList <Plugin> plugins = _pluginService.GetALL(); ViewBag.ContentPlugins = plugins; Plugin curPlugin = plugins.Where(p => p.Name.Contains("仙游")).FirstOrDefault(); ViewBag.CurPlugin = curPlugin; ViewBag.OpenID = TempData["OpenID"].ToString(); if (curPlugin == null) { throw new OceanException("对不起,不存在该插件或未开通,请检查!"); } ViewBag.Title = curPlugin.RPluginBase.Name; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(curPlugin.Value); XmlNode pluginNode = xmlDoc.SelectSingleNode("plugin"); GetDataToViewData(pluginNode); ViewBag.LeaveCount = 0; XYPluginUser xyPluginUser = _xyPluginUserService.GetUnique("from XYPluginUser where OpenId='" + OpenID + "'"); Guid mpID = Guid.Empty; if (xyPluginUser != null) { ViewBag.LeaveCount = xyPluginUser.LeftCount; mpID = xyPluginUser.Id; } IList <PluginSceneResult> pluginSceneResultList = _pluginSceneResultService.GetList("from SceneResult where PluginId='" + Id.ToString() + "' and MpUserId='" + mpID.ToString() + "'"); ViewBag.PluginResultList = pluginSceneResultList; ViewBag.MpUserArr = this.MpUserArr; ViewBag.MpUserID = mpID; return(View("Lottery")); } catch (Exception ex) { Log4NetImpl.Write("PluginsLottery:" + ex.Message); throw new OceanException(ex.Message, ex); } }
public ActionResult Bind(Guid id, string Name, string Phone, string RecomendName, string RecomendPhone) { try { if (MpUserID == Guid.Empty) { string rawUrl = "http://wx.ssrcb.com/ScoreSys/Index"; if (string.IsNullOrEmpty(RQuery["openid"])) { return(Json(new { isOK = false, isLogin = true, error_code = "ERR_NotLogin", message = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http://wx.ssrcb.com/mpuser/autologin?refUrl={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect", MpCenterCache.AppID, rawUrl) })); } } ScoreUser scoreUser = _scoreUserService.GetUnique("from ScoreUser where (ClientPhone='" + Phone.Trim() + "' and ClientName = '" + Name + "') or (MpUserId ='" + this.MpUserID.ToString() + "')"); if (scoreUser != null) { return(Json(new { isOK = false, isVertfy = true, error_code = "ERR_UserHadBind" })); } scoreUser = new ScoreUser(); scoreUser.ClientName = Name.Trim(); scoreUser.ClientPhone = Phone.Trim(); scoreUser.RecommendName = RecomendName.Trim(); scoreUser.RecommendPhone = RecomendPhone.Trim(); scoreUser.MpUserId = MpUserID; scoreUser.RecommendScore = 0; scoreUser.CurrentScore = bindScore; scoreUser.DealScore = 0; _scoreUserService.Insert(scoreUser); //首次绑定获得积分 ScoreConsumeInfo scoreConsumeDetail = new ScoreConsumeInfo(); scoreConsumeDetail.MpUserId = this.MpUserID; scoreConsumeDetail.ConsumeType = (int)ScoreConsume.Bind; scoreConsumeDetail.ConsumePoints = bindScore; scoreConsumeDetail.CreateDate = DateTime.Now; scoreConsumeDetail.ConsumeDateTime = DateTime.Now; scoreConsumeDetail.Summary = "首次绑定获得" + bindScore + "积分"; _scoreConsumeInfoService.Insert(scoreConsumeDetail); ScoreUser recommendScoreUser = _scoreUserService.GetUnique("from ScoreUser where ClientPhone='" + RecomendPhone.Trim() + "'"); if (recommendScoreUser != null) { ScoreConsumeInfo recommendScoreConsumeDetail = new ScoreConsumeInfo(); recommendScoreConsumeDetail.MpUserId = recommendScoreUser.MpUserId; recommendScoreConsumeDetail.ConsumeType = (int)ScoreConsume.Recommend; recommendScoreConsumeDetail.ConsumePoints = recommendScore; recommendScoreConsumeDetail.CreateDate = DateTime.Now; recommendScoreConsumeDetail.ConsumeDateTime = DateTime.Now; recommendScoreConsumeDetail.Summary = "推荐用户[" + Phone + "]获得" + recommendScore + "积分"; _scoreConsumeInfoService.Insert(recommendScoreConsumeDetail); recommendScoreUser.RecommendScore += recommendScore; recommendScoreUser.CurrentScore += recommendScore; _scoreUserService.Update(recommendScoreUser); } return(Json(new { isOK = true, error_code = "ERR_OK", currentScore = scoreUser.CurrentScore, scoreDetail = scoreConsumeDetail.ConsumeDateTime + scoreConsumeDetail.Summary })); } catch (System.Exception ex) { Log4NetImpl.Write("ScoreSys_Bind:" + ex.Message); } return(View()); }
public ActionResult Vote(Guid baseId, Guid itemId, string t) { try { if (MpUserID == Guid.Empty) { string rawUrl = "http://wx.ssrcb.com/vote/VoteSummary?id=" + WebHelper.GetGuid("baseId", Guid.Empty); if (string.IsNullOrEmpty(RQuery["openid"])) { Log4NetImpl.Write("open.weixin.qq.com"); return(Json(new { isLogin = true, message = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http://wx.ssrcb.com/mpuser/autologin?refUrl={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect", MpCenterCache.AppID, rawUrl) })); } } if (baseId == Guid.Empty || itemId == Guid.Empty) { return(Json(new { message = "参数有误,请检查!" })); } VoteBase VoteBase = _voteBaseService.GetById(baseId); if (VoteBase == null) { throw new OceanException("对不起,未存在本投票,请检查!"); } if (VoteBase.VoteStartDate > DateTime.Now) { return(Json(new { message = "对不起,投票还未开始!" })); } else if (VoteBase.VoteEndDate < DateTime.Now) { return(Json(new { message = "对不起,投票已经结束!" })); } VoteItem voteItem = _voteItemService.GetUnique("from VoteItem where VoteParentId='" + baseId.ToString() + "' and Id='" + itemId.ToString() + "'"); if (voteItem == null) { throw new OceanException("对不起,未存在本投票,请检查!"); } int voteCount = _voteInfoService.GetCount("from VoteInfo where MpUserID='" + MpUserID.ToString() + "' and VoteItemID in (select id from VoteItem where VoteParentId = '" + baseId.ToString() + "')"); if (voteCount >= VoteBase.VoteCount) { return(Json(new { message = "对不起,您已经投了 " + voteCount + " 票!" })); } voteCount = _voteInfoService.GetCount("from VoteInfo where MpUserID='" + MpUserID.ToString() + "' and VoteItemID='" + itemId.ToString() + "'"); if (voteCount > 0) { return(Json(new { message = "对不起,您已经投了该选项!" })); } VoteInfo newVoteInfo = new VoteInfo(); newVoteInfo.MpUserId = MpUserID; newVoteInfo.VoteDate = DateTime.Now; newVoteInfo.VoteItemID = itemId; _voteInfoService.Insert(newVoteInfo); voteItem.VoteCount = voteItem.VoteCount + 1; _voteItemService.Update(voteItem); return(Json(new { message = "感谢您的参与!", isSuccess = true, voteCount = voteItem.VoteCount })); } catch (System.Exception ex) { throw new OceanException(ex.Message, ex); } }
public ActionResult GetMobileCode(string mobile, int operateType) { if (_mobileCodeService.GetMobileCodeCount(this.MpUserID, operateType) > 5) { return(JsonMessage(false, "短信获取失败[您当天获取验证码的次数不能超过5次]")); } else { UserLogin.Instance.WriteCookie("mobilecode" + operateType, mobile + "," + operateType.ToString(), 10, "/", ""); //验证参数格式 long lSMID = 0; string smID = GlobalConfig.GetConfig()["SMID"]; if (!long.TryParse(smID, out lSMID)) { _log.Debug("SMID格式错误"); return(JsonMessage(false, "验证码获取失败,请稍后重试")); } #if DEBUG //创建验证码 MobileCode mobileCode = new MobileCode { MpUserId = MpUserID, Mobile = mobile, Code = StringHelper.GetRandomInt(6), Time = 0, OperationType = operateType, Status = 0 }; _mobileCodeService.Insert(mobileCode); return(JsonMessage(true, string.Format("{0}", mobileCode.Code))); #else string message = string.Empty; try { //短信猫发送短信 IList <string> mobiles = new List <string>(); mobiles.Add(mobile); string code = StringHelper.GetRandomInt(6); string yzMsg = string.Empty; if (operateType == 1) { yzMsg = string.Format("您本次申请福农宝额度调整的验证码为{0},验证码10分钟内有效,详询4000896336。", code); } else if (operateType == 2) { yzMsg = string.Format("您本次申请贷款的验证码为{0},验证码10分钟内有效,详询4000896336。", code); } else if (operateType == 3) { yzMsg = string.Format("您本次申请POS的验证码为{0},验证码10分钟内有效,详询4000896336。", code); } else if (operateType == 4) { yzMsg = string.Format("您本次申请摇奖的验证码为{0},验证码10分钟内有效,详询4000896336。", code); } else { yzMsg = string.Format("您本次查询POS的验证码为{0},验证码10分钟内有效,详询4000896336。", code); } SendSmsRequest sendSmsRequest = new SendSmsRequest(mobiles, yzMsg, lSMID); //if(true) if (new SmsClient().Execute(sendSmsRequest, ref message)) { //创建验证码 MobileCode mobileCode = new MobileCode { MpUserId = MpUserID, Mobile = mobile, Code = code, Time = 0, OperationType = operateType, Status = 0 }; _mobileCodeService.Insert(mobileCode); //return JsonMessage(true, "验证码获取成功"); return(JsonMessage(true, string.Format("{0}", string.Empty))); } else { Log4NetImpl.Write("验证码获取失败:" + message); SmsClient.ReleaseAPIClient();//释放资源 return(JsonMessage(false, "验证码获取失败")); } } catch (Exception ex) { string errMsg = ""; if (string.IsNullOrWhiteSpace(message)) { errMsg = string.Format("验证码获取失败[{0}]", ex.Message); } else { errMsg = string.Format("验证码获取失败[{0}]{1}", message, ex.Message); } Log4NetImpl.Write(errMsg); SmsClient.ReleaseAPIClient();//释放资源 return(JsonMessage(false, "验证码获取失败")); } #endif } }
private static ILogger GetCachedLogger(Type type) { Cache cache = HttpRuntime.Cache; string cacheKey = "ILogger::" + type.ToString(); object loggerObj = cache.Get(cacheKey); ILog logger; if (loggerObj != null) { logger = (ILog)loggerObj; } else { logger = LogManager.GetLogger(type); cache.Insert(cacheKey, logger); } Log4NetImpl wrapper = new Log4NetImpl(logger); return wrapper; }
public void Application_Error(object sender, EventArgs e) { //在出现未处理的错误时运行的代码 //错误日志 Exception exception = Server.GetLastError(); if (exception == null) { return; } if (exception.InnerException != null) { exception = exception.InnerException; } if (exception.Message.Contains("禁止路径")) { return; } if (exception.Message.Contains("服务器") || exception.Message.Contains("超时") || exception.Message.Contains("登录失败")) { Log4NetImpl.Write(exception.Message, Log4NetImpl.ErrorLevel.Error); } else if (exception.Message.Contains("最大池大小")) { Log4NetImpl.Write("超出最大池大小:重启进程", Log4NetImpl.ErrorLevel.Error); HttpRuntime.UnloadAppDomain(); } else { Log4NetImpl.Write(exception.Message, Log4NetImpl.ErrorLevel.Error); } if (exception is HttpException) { try { int errorCode = (exception as HttpException).GetHttpCode(); if (errorCode == 404) { Server.ClearError(); //avoid IIS7 getting in the middle Response.TrySkipIisCustomErrors = true; IController messageController = new ErrorController(); var http404Route = new RouteData(); http404Route.Values.Add("controller", "Error"); http404Route.Values.Add("action", "Http404"); http404Route.Values.Add("message", "错误提示:"); http404Route.Values.Add("url", this.Request.Url.OriginalString); messageController.Execute(new RequestContext(new HttpContextWrapper(this.Context), http404Route)); } else { string message = exception.Message; Server.ClearError(); Response.TrySkipIisCustomErrors = true; IController messageController = new ErrorController(); var httpErrRoute = new RouteData(); httpErrRoute.Values.Add("controller", "Message"); httpErrRoute.Values.Add("action", "ErrorMessage"); httpErrRoute.Values.Add("message", "对不起,系统异常,请联系客服!" + message); httpErrRoute.Values.Add("url", this.Request.Url.OriginalString); messageController.Execute(new RequestContext(new HttpContextWrapper(this.Context), httpErrRoute)); } } catch (Exception ex) { throw ex; } } }
public ActionResult Index() { if (!string.IsNullOrEmpty(this.OpenID)) { Funongbao fnb = _funongbaoService.GetFunongbaoByOpenid(this.OpenID); if (fnb != null) { return(new RedirectResult("/funongbao/apply")); } } Funongbao funongbao = new Funongbao(); if (WebHelper.IsPost()) { ViewBag.AuthStatus = 0; TryUpdateModel <Funongbao>(funongbao); int useCount = _mobileCodeService.GetMobileCodeCount(this.MpUserID, 1);//当天使用次数 if (useCount <= 5) { MobileCode lastCode = _mobileCodeService.GetMobileCode(this.MpUserID, 1);//是否存在未使用的证码 if (lastCode != null) { MobileCode checkCode = _mobileCodeService.GetMobileCode(funongbao.MobilePhone, WebHelper.GetString("Code"), this.MpUserID, 1);//检查验证码 if (checkCode != null) { TimeSpan ts = DateTime.Now.Subtract(checkCode.CreateDate).Duration(); if (ts.Minutes > 10) { checkCode.Time += 1; checkCode.Status = 1; _mobileCodeService.Update(lastCode); ViewBag.CodeError = "验证码已经失效,请重新获取!"; } else { Funongbao authFnb = null; int authStatus = _funongbaoService.IdentAuth2(funongbao, out authFnb); if (authStatus == -1) { ViewBag.CodeError = "对不起,该客户已经被绑定了,您无法再次绑定!"; } else { if (authStatus == 1) { //更新用户认证并更新cookie MpUser user = _mpUserservice.GetById(this.MpUserID); user.Name = funongbao.Name; user.PassportNO = funongbao.PassportNO; user.MobilePhone = funongbao.MobilePhone; user.IsAuth = 1; //更新当前验证码失败 checkCode.Status = 1;//已用 //更新福农保信息 authFnb.IsAuth = 1; authFnb.IsSignAgreement = WebHelper.GetInt("IsSignAgreement", 1); authFnb.MpUserId = this.MpUserID; authFnb.OpenId = this.OpenID; try { Log4NetImpl.Write("测试事务写入"); _funongbaoService.BeginTransaction(); _mpUserservice.Update(user); _mobileCodeService.Update(checkCode); _funongbaoService.Update(authFnb); _funongbaoService.Commit(); WriteMpUserCookie(user); Log4NetImpl.Write("测试获取cookie"); var a = MpUserArr; if (!string.IsNullOrEmpty(WebHelper.GetString("refUrl"))) { return(Redirect(WebHelper.GetString("refUrl"))); } else { return(RedirectToAction("index", "funongbao")); } } catch (Exception ex) { _funongbaoService.Rollback(); Log4NetImpl.Write(ex.ToString()); throw new OceanException("对不起,系统异常,身份认证失败!", ex); } } else { ViewBag.AuthStatus = authStatus; } } } } else { lastCode.Time += 1; _mobileCodeService.Update(lastCode); ViewBag.CodeError = "对不起,验证码有误,请检查!"; } } else { ViewBag.CodeError = "对不起,您还未点击发送验证码!"; } } else { ViewBag.CodeError = "对不起,您今天最多只能发起5次验证码"; } } return(View(funongbao)); }
public ActionResult PluginsLottery(Guid Id, string t) { try { if (Id == Guid.Empty) { Log4NetImpl.Write("ScoreSYS-PluginLottery:ID is NULL"); return(Json(new { isOK = false, error_code = "ERR_ArgNotExist" })); //message = "参数有误,请检查!" }); } if (MpUserID == Guid.Empty) { string rawUrl = "http://wx.ssrcb.com/ScoreSys/PluginLottery?id=" + WebHelper.GetGuid("Id", Guid.Empty); if (string.IsNullOrEmpty(RQuery["openid"])) { Log4NetImpl.Write("ScoreSYS-PluginLottery:Redirect"); return(Json(new { isOK = false, isLogin = true, error_code = "ERR_NotLogin", message = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http://wx.ssrcb.com/mpuser/autologin?refUrl={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect", MpCenterCache.AppID, rawUrl) })); } } string Score_Plugin_Title = Request.Form["Score_Plugin_Title"]; string Score_Plugin_StartDate = Request.Form["Score_Plugin_StartDate"]; string Score_Plugin_EndDate = Request.Form["Score_Plugin_EndDate"]; string Score_Plugin_UsePoint = Request.Form["Score_Plugin_UsePoint"]; string Score_Plugin_FailsTimes = Request.Form["Score_Plugin_FailsTimes"]; string Score_Plugin_FailsAddOdds = Request.Form["Score_Plugin_FailsAddOdds"]; if (Score_Plugin_Title == "") { return(Json(new { isOK = false, error_code = "ERR_PluginNotExits" })); } if (!string.IsNullOrEmpty(Score_Plugin_StartDate)) { DateTime startDate = TypeConverter.StrToDateTime(Score_Plugin_StartDate); if (startDate > DateTime.Now) { return(Json(new { isOK = false, error_code = "ERR_PluginNotStart" })); } else { if (!string.IsNullOrEmpty(Score_Plugin_EndDate)) { DateTime endDate = TypeConverter.StrToDateTime(Score_Plugin_EndDate); if (endDate < DateTime.Now) { return(Json(new { isOK = false, error_code = "ERR_PluginIsEnd" }));// message = "对不起,抽奖已经结束!" }); } } } } IList <ScoreStoreItem> scoreStoreItems = _scoreStoreItemServiceService.GetList("from ScoreStoreItem where BaseId = '" + Id.ToString() + "'"); scoreStoreItems.OrderBy(storeItems => storeItems.PluginName); ScoreUser scoreUser = _scoreUserService.GetUnique("from ScoreUser where (MpUserId ='" + this.MpUserID.ToString() + "')"); if (scoreUser == null) { return(Json(new { isOK = false, isVertfy = true, error_code = "ERR_UserNotVerify" })); } if (scoreUser.CurrentScore < ViewData.GetInt("Score_Plugin_UsePoint")) { return(Json(new { isOK = false, error_code = "ERR_UserUseOutChance" })); } int prizeItemCount = scoreStoreItems.Count;// TypeConverter.StrToInt(ViewBag.Cst_Plugin_PrizeCount, 12); IList <PrizeGift> prizeGift = new List <PrizeGift>(prizeItemCount); IList <Double> prizeItems = new List <Double>(prizeItemCount); IList <string> prizeItemsName = new List <string>(prizeItemCount); IList <int> prizeAngle = new List <int>(prizeItemCount); prizeItemsName.Add("一"); prizeItemsName.Add("二"); prizeItemsName.Add("三"); prizeItemsName.Add("四"); prizeItemsName.Add("五"); prizeItemsName.Add("六"); prizeItemsName.Add("七"); prizeItemsName.Add("八"); prizeItemsName.Add("九"); prizeItemsName.Add("十"); prizeItemsName.Add("十一"); prizeItemsName.Add("十二"); for (int i = 0; i < prizeItemCount; i++) { ScoreStoreItem storeItem = scoreStoreItems[i]; PrizeGift gift = new PrizeGift(); gift.ID = i; gift.Name = storeItem.PluginName; gift.Alias_Name = storeItem.AliasName; gift.Odds = Convert.ToDouble(storeItem.PrizePercent) / 100; gift.Pic = storeItem.ItemPic; gift.Quantity = storeItem.TotalCount; gift.Leavings_Quantity = storeItem.LeftCount; gift.Angle = Convert.ToInt32(storeItem.PrizeAngle); prizeAngle.Add(gift.Angle); gift.Prize_Name = prizeItemsName[i] + "等奖"; if (!string.IsNullOrEmpty(gift.Alias_Name)) { gift.Prize_Name = gift.Alias_Name; } gift.Has_Gift = 1;// ViewData.GetInt("Cst_Plugin_Items_Has_Gift" + i.ToString()); //gift.Users = ViewData.GetString("Cst_Plugin_Items_SiteUsers" + i.ToString()); //gift.UsersName = ViewData.GetString("Cst_Plugin_Items_SiteUsersName" + i.ToString()); prizeItems.Add(gift.Odds); prizeGift.Add(gift); } prizeItems.OrderBy(d => d); //verifyCodeDetail.LeaveCount = verifyCodeDetail.LeaveCount - 1; //verifyCodeDetail.UseDate = DateTime.Now; //_pluginSceneVerifyCodeDetailService.Update(verifyCodeDetail); int count = _scorePluginResultService.GetCount("from ScorePluginResult where pluginId='" + Id.ToString() + "' and MpUserId='" + this.MpUserID.ToString() + "'"); int tryCount = _scoreConsumeInfoService.GetCount(" from ScoreConsumeInfo where ConsumeType = " + (int)ScoreConsume.Plugins + ""); if (count == 0 && tryCount > Convert.ToInt32(Score_Plugin_FailsTimes)) { PrizeGift _lastGift = prizeGift.Last(); double finalOdds = _lastGift.Odds * (1 + Convert.ToInt32(Score_Plugin_FailsAddOdds)); _lastGift.Odds = finalOdds; prizeItems.RemoveAt(prizeItems.Count - 1); prizeItems.Add(finalOdds); } int result = -1; scoreUser.CurrentScore = scoreUser.CurrentScore - Convert.ToInt32(Score_Plugin_UsePoint);// ViewData.GetInt("Score_Plugin_UsePoint"); scoreUser.LastUpdateDateTime = DateTime.Now; _scoreUserService.Update(scoreUser); #region 更新积分消耗纪录 ScoreConsumeInfo scoreConSumeInfo = new ScoreConsumeInfo(); scoreConSumeInfo.ConsumeDateTime = scoreConSumeInfo.CreateDate = DateTime.Now; scoreConSumeInfo.MpUserId = this.MpUserID; scoreConSumeInfo.ConsumeType = (int)(ScoreConsume.Plugins); scoreConSumeInfo.ConsumePoints = -Convert.ToInt32(Score_Plugin_UsePoint); scoreConSumeInfo.Summary = "抽奖消耗了" + Convert.ToInt32(Score_Plugin_UsePoint) + "积分"; _scoreConsumeInfoService.Insert(scoreConSumeInfo); #endregion result = LotteryUtils.Lottery(prizeItems, prizeGift, prizeItemCount, this.MpUserID, Id); if (result == -1) { return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" }));//Json(new PrizeGift() { ID = -1, Name = "未中奖", Odds = 0.00d, Pic = "", Quantity = 100000, Angle = 240, Prize_Name = "继续加油" }); } else if (result == -2) { return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" }));// Json(new PrizeGift() { ID = -2, Name = "未中奖", Odds = 0.00d, Pic = "", Quantity = 100000, Angle = 180, Prize_Name = "继续加油" }); } else if (result == -3) { return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" }));// Json(new PrizeGift() { ID = -2, Name = "未中奖", Odds = 0.00d, Pic = "", Quantity = 100000, Angle = 180, Prize_Name = "继续加油" }); } else { PrizeGift hasPrizeGift = prizeGift[result]; ScoreStoreItem scoreStoreItem = scoreStoreItems[result]; //ScoreStoreItem scoreStoreItem = _scoreStoreItemServiceService.GetUnique("from ScoreStoreItem where (Id ='" + this.MpUserID.ToString() + "')"); //score hasPrizeGift.Alias_Name = hasPrizeGift.Alias_Name ?? ""; if (scoreStoreItem.LeftCount > 0) { //中奖业务处理 ScorePluginResult pluginSceneResult = new ScorePluginResult(); pluginSceneResult.Address = ""; pluginSceneResult.CreateDate = DateTime.Now; pluginSceneResult.Type = 1; pluginSceneResult.IsUse = 0; pluginSceneResult.MobilePhone = ""; pluginSceneResult.Name = ""; pluginSceneResult.Phone = ""; pluginSceneResult.PluginId = Id; pluginSceneResult.MpUserId = this.MpUserID; pluginSceneResult.SN = ""; pluginSceneResult.UserName = (string.IsNullOrEmpty(this.Name) ? this.NickName : this.Name); if (this.MpUserArr != null) { pluginSceneResult.Summary = "恭喜用户[" + (string.IsNullOrEmpty(this.Name) ? this.NickName : this.Name) + "]获得" + hasPrizeGift.Prize_Name + "[" + hasPrizeGift.Name + "]"; } else { pluginSceneResult.Summary = "恭喜匿名用户获得" + hasPrizeGift.Prize_Name + "[" + hasPrizeGift.Name + "]"; } //pluginSceneResult.Value = "<?xml version=\"1.0\" encoding=\"utf-8\"?><PluginSubmit><Cst_Plugin_ItemIndex>" + result.ToString() + "</Cst_Plugin_ItemIndex><Cst_Plugin_PrizeLevel>" + hasPrizeGift.Prize_Name + "</Cst_Plugin_PrizeLevel><Cst_Plugin_PrizeName>" + hasPrizeGift.Name + "</Cst_Plugin_PrizeName></PluginSubmit>"; pluginSceneResult.Value = hasPrizeGift.Prize_Name + "++" + hasPrizeGift.Name; #region 更新商城数量 scoreStoreItem.LeftCount -= 1; _scoreStoreItemServiceService.Update(scoreStoreItem); #endregion #region 更新中奖纪录 _scorePluginResultService.Insert(pluginSceneResult); #endregion #region 更新虚拟积分纪录 if (scoreStoreItem.VirtualGift > 0) { scoreUser.CurrentScore += scoreStoreItem.VirtualGift; _scoreUserService.Update(scoreUser); ScoreConsumeInfo scoreConSumeInfo2 = new ScoreConsumeInfo(); scoreConSumeInfo2.ConsumeDateTime = scoreConSumeInfo.CreateDate = DateTime.Now; scoreConSumeInfo2.MpUserId = this.MpUserID; scoreConSumeInfo2.ConsumeType = (int)(ScoreConsume.Plugins); scoreConSumeInfo2.ConsumePoints = scoreStoreItem.VirtualGift; scoreConSumeInfo2.Summary = "抽奖中了" + scoreStoreItem.VirtualGift + "积分"; _scoreConsumeInfoService.Insert(scoreConSumeInfo2); } #endregion hasPrizeGift.ResultID = pluginSceneResult.Id; } return(Content(JsonConvert.SerializeObject(hasPrizeGift), "text/javascript")); } } catch (Exception ex) { throw new OceanException(ex.Message, ex); } }
/// <summary> /// Initializes a new instance of the Exception class with a specified error message and a reference to the inner exception that is the cause of this exception. /// </summary> /// <param name="message">The error message that explains the reason for the exception.</param> /// <param name="innerException">The exception that is the cause of the current exception, or a null reference if no inner exception is specified.</param> public OceanException(string message, Exception innerException) : base(message, innerException) { Log4NetImpl.Write(message + "===detail===>", innerException.ToString()); }
public MpUser AysnUser(string OpenId) { MpUser currUser = MpUserService.GetByOpenID(OpenId); if (currUser == null && !string.IsNullOrEmpty(OpenId)) { currUser = new MpUser(); currUser.MpID = MpCenterCache.Id; currUser.CreateDate = DateTime.Now; currUser.MpGroupID = MpUserGroupService.GetSystemGroup("默认分组").Id; currUser.IsSubscribe = true; currUser.LastVisitDate = DateTime.Now; currUser.OpenID = OpenId; currUser.OrginID = MpCenterCache.OriginID; currUser.UserState = 0; currUser.SceneId = 0; string token = GetAccessToken(); if (!string.IsNullOrEmpty(token)) { try { UserInfoJson info = Senparc.Weixin.MP.AdvancedAPIs.User.Info(token, OpenId); if (info != null) { currUser.City = info.city; currUser.Country = info.country; currUser.HeadImgUrl = info.headimgurl; currUser.Language = info.language; currUser.NickName = info.nickname; currUser.Province = info.province; currUser.SubscribeDate = DateTimeHelper.GetDateTimeFromXml(info.subscribe_time); currUser.Sex = info.sex; } } catch (Exception e) { Log4NetImpl.Write("AysnUser失败:" + e.Message); } } MpUser currUserCopy = MpUserService.GetByOpenID(OpenId); if (currUserCopy == null || currUserCopy.Id == Guid.Empty) { MpUserService.Insert(currUser); Log4NetImpl.Write("AysnUserInsert结束"); } else { currUser.Id = currUserCopy.Id; MpUserService.Update(currUser); Log4NetImpl.Write("AysnUserUpdate结束"); } } else { if (!currUser.IsSubscribe) { currUser.IsSubscribe = true; currUser.SubscribeDate = DateTime.Now; MpUserService.Update(currUser); } } return(currUser); }
public string StartKfMeeting() { if (!string.IsNullOrWhiteSpace(Token)) { if (Token != "ocean") { return(JsonHelper.AnalysisJson <string>("凭证错误", "error", null)); } } KfMeeting kfMeeting2 = _kfMeetingService.GetUnique(m => m.MpUserId == SendUserId && !m.IsEnd, "CreateDate", false); if (kfMeeting2 != null && kfMeeting2.KfNumberId != Guid.Empty) { string message2 = string.Empty; Log4NetImpl.Write("SendPrivateMessage:" + kfMeeting2.MpUserId.ToString(), kfMeeting2.KfNumberId.ToString()); new CommandManager(null).TryHandleCommand("SendPrivateMessage", new string[] { kfMeeting2.MpUserId.ToString(), kfMeeting2.KfNumberId.ToString(), "客服" }, ref message2); return(JsonHelper.AnalysisJson <string>("已经接入", "error", null)); } string message = string.Empty; IList <KfNumber> listKfNumber = _kfNumberService.GetALL().Where(m => m.IsOnline == true && m.OnlineStatus == 0).ToList(); if (listKfNumber.Count == 0) { //把消息发送给微信端客户 MpUser mpUser2 = _mpUserService.GetById(SendUserId); if (mpUser2 != null && !string.IsNullOrWhiteSpace(mpUser2.OpenID)) { _mpUserService.SendMessage(mpUser2.OpenID, "当前没有客服在线"); } return(JsonHelper.AnalysisJson <string>("当前没有客服在线", "error", null)); } var kfMeeting = new KfMeeting() { BeginDate = DateTime.Now, IsEnd = false, MpUserId = SendUserId }; _kfMeetingService.Insert(kfMeeting); //向所有在线客服发送接入请求 //访客名称 string visitName = string.Empty; MpUser mpUser = _mpUserService.GetById(kfMeeting.MpUserId); if (mpUser != null) { visitName = mpUser.NickName; if (!string.IsNullOrWhiteSpace(mpUser.OpenID)) { _mpUserService.SendMessage(mpUser.OpenID, "等待客服接入,输入【退出】或【tc】退出聊天状态"); } } else { visitName = "访客_" + new Random().Next(100); } foreach (KfNumber model in listKfNumber) { new CommandManager(null).TryHandleCommand("Notice", new string[] { SendUserId.ToString(), visitName, model.Id.ToString(), "1", "0", kfMeeting.Id.ToString() }, ref message); } return(JsonHelper.AnalysisJson <string>(string.Empty, "ok", null)); }
public ActionResult ImportPhoneExcel(HttpPostedFileBase phoneExcel, DateTime importTime) { ViewBag.Method = "post"; ViewBag.Success = true; int countPhone = 0; int countPhoneUpdate = 0; if (importTime == null) { ViewBag.Success = false; ViewBag.Message = "请选择导入日期"; return(View("_ImportPhoneExcel")); } if (!phoneExcel.FileName.Contains(importTime.ToString("yyyyMMdd"))) { ViewBag.Success = false; ViewBag.Message = "导入日期不正确"; return(View("_ImportPhoneExcel")); } if (phoneExcel != null) { DataTable dt = null; if (phoneExcel.FileName.ToLower().EndsWith(".xlsx")) { dt = NPOIHelper.ExcelToTableForXLSX(phoneExcel.InputStream, "客户名称"); } else { dt = NPOIHelper.ExcelToTableForXLS(phoneExcel.InputStream, "客户名称", string.Empty); } var columns = dt.Columns; //DateRule rule = DateRuleList.DateRules.Where(d => d.Months.Where(m => m == DateTime.Now.Month).Count() > 0).First(); //int month = rule.ApplyMonth; //int year = DateTime.Now.Year; try { for (int i = 0; i <= dt.Rows.Count - 1; i++) { ScoreTradeInfo tradeInfo = new ScoreTradeInfo(); tradeInfo.ClientName = dt.Rows[i]["客户名称"].ToString(); if (tradeInfo.ClientName == "") { Log4NetImpl.Write("Line:" + i); continue; } tradeInfo.ClientPhone = dt.Rows[i]["签约手机"].ToString(); tradeInfo.TradeCount = Convert.ToInt32(dt.Rows[i]["业务笔数"].ToString()); tradeInfo.TradeTime = importTime; tradeInfo.IsStatic = 0; ScoreTradeInfo oldTradeInfo; int exits = _scoreTradeInfoService.ExistTradeInfo(tradeInfo, out oldTradeInfo, false); if (exits == 1 && oldTradeInfo.IsStatic == 0)//已存在,并且未跑 { countPhoneUpdate++; oldTradeInfo.TradeCount += tradeInfo.TradeCount; _scoreTradeInfoService.Update(oldTradeInfo); } else { countPhone++; _scoreTradeInfoService.Insert(tradeInfo); } } } catch (Exception ex) { Log4NetImpl.Write("导入异常" + ex.Message); throw new OceanException("导入失败,具体原因,请查看日志!", ex); } ViewBag.countPhone = countPhone; ViewBag.countPhoneUpdate = countPhoneUpdate; } else { ViewBag.Success = false; ViewBag.Message = "请选择导入文件"; } return(View("_ImportPhoneExcel")); }
public ActionResult PluginsLottery(Guid Id, string t) { try { //Log4NetImpl.Write("抽奖开始:1"); if (Id == Guid.Empty) { return(Json(new { isOK = false, error_code = "ERR_ArgNotExist" })); //message = "参数有误,请检查!" }); } if (MpUserID == Guid.Empty) { string rawUrl = "http://wx.ssrcb.com/pluginsScene/PluginsLottery?id=" + WebHelper.GetGuid("Id", Guid.Empty); if (string.IsNullOrEmpty(RQuery["openid"])) { return(Json(new { isOK = false, isLogin = true, error_code = "ERR_NotLogin", message = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http://wx.ssrcb.com/mpuser/autologin?refUrl={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect", MpCenterCache.AppID, rawUrl) })); } } Plugin plugin = _pluginService.GetById(Id); if (plugin == null) { return(Json(new { isOK = false, error_code = "ERR_PluginNotExits" }));//message = "对不起,不存在该插件或未开通,请检查!" }); } //设置布局页 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(plugin.Value); XmlNode pluginNode = xmlDoc.SelectSingleNode("plugin"); GetDataToViewData(pluginNode); if (ViewBag.Cst_Plugin_Title == null) { return(Json(new { isOK = false, error_code = "ERR_PluginNotExits" }));// message = "对不起,您还未配置或配置错误,请到插件中心进行配置下!" }); } if (!string.IsNullOrEmpty(ViewBag.Cst_Plugin_StartDate)) { DateTime startDate = TypeConverter.StrToDateTime(ViewBag.Cst_Plugin_StartDate.ToString()); if (startDate > DateTime.Now) { return(Json(new { isOK = false, error_code = "ERR_PluginNotStart" }));// message = "对不起,抽奖还未开始!" }); } else { if (!string.IsNullOrEmpty(ViewBag.Cst_Plugin_EndDate)) { DateTime endDate = TypeConverter.StrToDateTime(ViewBag.Cst_Plugin_EndDate.ToString()); if (endDate < DateTime.Now) { return(Json(new { isOK = false, error_code = "ERR_PluginIsEnd" }));// message = "对不起,抽奖已经结束!" }); } } } } //PluginSceneVerifyCodeDetail verifyCodeDetail = _pluginSceneVerifyCodeDetailService.GetUnique("from SceneVerifyCodeDetail where ClientMPID='" + this.MpUserID.ToString() + "' and convert(char(10),(CreateDate),120) = '" + DateTime.Now.ToString("yyyy-MM-dd") + "'"); PluginSceneVerifyCodeDetail verifyCodeDetail = _pluginSceneVerifyCodeDetailService.GetUnique("from SceneVerifyCodeDetail where ClientMPID='" + this.MpUserID.ToString() + "' and cast(DATEPART(YEAR, CreateDate) as varchar(4))+'-'+ cast(DATEPART(MONTH, CreateDate) as varchar(2)) = '" + DateTime.Now.ToString("yyyy-MM") + "'"); if (verifyCodeDetail == null) { return(Json(new { isOK = false, isVertfy = true, error_code = "ERR_UserNotVerify" })); } if (verifyCodeDetail.LeaveCount <= 0) { return(Json(new { isOK = false, error_code = "ERR_UserUseOutChance" })); } int prizeCount = TypeConverter.StrToInt(ViewBag.Cst_Plugin_PrizeCount, 12); int prizeItemCount = TypeConverter.StrToInt(ViewBag.Cst_Plugin_Items_Count, 1); if (prizeCount != prizeItemCount) { Log4NetImpl.Write("奖项设置不正确"); return(Json(new { isOK = false, error_code = "ERR_ArgNotExist" })); } IList <PrizeGift> prizeGift = new List <PrizeGift>(prizeItemCount); IList <Double> prizeItems = new List <Double>(prizeItemCount); IList <string> prizeItemsName = new List <string>(prizeCount); IList <int> prizeAngle = new List <int>(12); prizeItemsName.Add("一"); prizeItemsName.Add("二"); prizeItemsName.Add("三"); prizeItemsName.Add("四"); prizeItemsName.Add("五"); prizeItemsName.Add("六"); prizeItemsName.Add("七"); prizeItemsName.Add("八"); prizeItemsName.Add("九"); prizeItemsName.Add("十"); prizeItemsName.Add("十一"); prizeItemsName.Add("十二"); for (int i = 0; i < prizeItemCount; i++) { PrizeGift gift = new PrizeGift(); gift.ID = i; gift.Name = ViewData.GetString("Cst_Plugin_Items_PrizeName" + i.ToString()); gift.Alias_Name = ViewData.GetString("Cst_Plugin_Items_PrizeAliasName" + i.ToString()); gift.Odds = ViewData.GetDouble("Cst_Plugin_Items_PrizePercent" + i.ToString(), 0.00) / 100.00; gift.Pic = ViewData.GetString("Cst_Plugin_Items_PrizePic" + i.ToString()); gift.Quantity = ViewData.GetInt("Cst_Plugin_Items_PrizeNum" + i.ToString()); if (ViewData["Cst_Plugin_Items_PrizeUsedNum" + i.ToString()] != null) { gift.Leavings_Quantity = ViewData.GetInt("Cst_Plugin_Items_PrizeUsedNum" + i.ToString()); } else { gift.Leavings_Quantity = gift.Quantity; } gift.Angle = ViewData.GetInt("Cst_Plugin_Items_PrizeAngle" + i.ToString()); prizeAngle.Add(gift.Angle); gift.Prize_Name = prizeItemsName[i] + "等奖"; if (!string.IsNullOrEmpty(gift.Alias_Name)) { gift.Prize_Name = gift.Alias_Name; } gift.Has_Gift = ViewData.GetInt("Cst_Plugin_Items_Has_Gift" + i.ToString()); gift.Users = ViewData.GetString("Cst_Plugin_Items_SiteUsers" + i.ToString()); gift.UsersName = ViewData.GetString("Cst_Plugin_Items_SiteUsersName" + i.ToString()); prizeItems.Add(gift.Odds); prizeGift.Add(gift); } int averageAngle = 360 / prizeCount; prizeItems.OrderBy(d => d); int result = -1; string resultStr = ""; verifyCodeDetail.LeaveCount = verifyCodeDetail.LeaveCount - 1; verifyCodeDetail.UseDate = DateTime.Now; _pluginSceneVerifyCodeDetailService.Update(verifyCodeDetail); int count = _pluginSceneResultService.GetCount("from SceneResult where pluginId='" + Id.ToString() + "' and MpUserId='" + this.MpUserID.ToString() + "' and cast(DATEPART(YEAR, CreateDate) as varchar(4))+'-'+ cast(DATEPART(MONTH, CreateDate) as varchar(2)) = '" + DateTime.Now.ToString("yyyy-MM") + "'"); if (ViewData.GetInt("Cst_Plugin_ZeroPrize") == 1 && count > 0) { return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" })); } if (prizeGift.Where(g => g.Has_Gift == 1 && g.Leavings_Quantity > 0).Count() == 0) { return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" }));//new PrizeGift() { ID = -1, Name = "未中奖", Odds = 0.00d, Pic = "", Quantity = 100000, Angle = 300, Prize_Name = "继续加油" }); } result = LotteryUtils.Lottery(prizeItems, prizeGift, prizeCount, this.MpUserID, Id); if (result == -1) { return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" }));//Json(new PrizeGift() { ID = -1, Name = "未中奖", Odds = 0.00d, Pic = "", Quantity = 100000, Angle = 240, Prize_Name = "继续加油" }); } else if (result == -2) { return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" }));// Json(new PrizeGift() { ID = -2, Name = "未中奖", Odds = 0.00d, Pic = "", Quantity = 100000, Angle = 180, Prize_Name = "继续加油" }); } else if (result == -3) { return(Json(new { isOK = true, error_code = "ERR_RunOutOfGift" }));// Json(new PrizeGift() { ID = -2, Name = "未中奖", Odds = 0.00d, Pic = "", Quantity = 100000, Angle = 180, Prize_Name = "继续加油" }); } else { PrizeGift hasPrizeGift = prizeGift[result]; hasPrizeGift.Alias_Name = hasPrizeGift.Alias_Name ?? ""; if (hasPrizeGift.Has_Gift == 1 && hasPrizeGift.Leavings_Quantity > 0) { //中奖业务处理 PluginSceneResult pluginSceneResult = new PluginSceneResult(); pluginSceneResult.Address = ""; pluginSceneResult.CreateDate = DateTime.Now; pluginSceneResult.Email = ""; pluginSceneResult.IsUse = 0; pluginSceneResult.MobilePhone = ""; pluginSceneResult.Name = ""; pluginSceneResult.Phone = ""; pluginSceneResult.PluginId = Id; pluginSceneResult.MpUserId = this.MpUserID; pluginSceneResult.SN = ""; pluginSceneResult.UserName = (string.IsNullOrEmpty(this.Name) ? this.NickName : this.Name); if (this.MpUserArr != null) { pluginSceneResult.Summary = "恭喜用户[" + (string.IsNullOrEmpty(this.Name) ? this.NickName : this.Name) + "]获得" + hasPrizeGift.Prize_Name + "[" + hasPrizeGift.Name + "]"; } else { pluginSceneResult.Summary = "恭喜匿名用户获得" + hasPrizeGift.Prize_Name + "[" + hasPrizeGift.Name + "]"; } pluginSceneResult.Value = "<?xml version=\"1.0\" encoding=\"utf-8\"?><PluginSubmit><Cst_Plugin_ItemIndex>" + result.ToString() + "</Cst_Plugin_ItemIndex><Cst_Plugin_PrizeLevel>" + hasPrizeGift.Prize_Name + "</Cst_Plugin_PrizeLevel><Cst_Plugin_PrizeName>" + hasPrizeGift.Name + "</Cst_Plugin_PrizeName></PluginSubmit>"; #region 更新中奖数量 XmlNode itemsNode = pluginNode.SelectSingleNode("Cst_Plugin_Items"); XmlNode node = itemsNode.SelectSingleNode("Cst_Plugin_Items_PrizeUsedNum" + result.ToString()); if (node == null) { node = xmlDoc.CreateElement("Cst_Plugin_Items_PrizeUsedNum" + result.ToString()); node.InnerText = (hasPrizeGift.Quantity - 1).ToString(); itemsNode.AppendChild(node); } else { node.InnerText = (hasPrizeGift.Leavings_Quantity - 1).ToString(); } StringWriter sw = new StringWriter(); XmlTextWriter tx = new XmlTextWriter(sw); xmlDoc.WriteTo(tx); string strXmlText = sw.ToString(); plugin.Value = strXmlText; _pluginService.Update(plugin); #endregion _pluginSceneResultService.Insert(pluginSceneResult); hasPrizeGift.ResultID = pluginSceneResult.Id; } return(Content(JsonConvert.SerializeObject(hasPrizeGift), "text/javascript")); } } catch (Exception ex) { throw new OceanException(ex.Message, ex); } }
public ActionResult Trans(Guid id, string TransName, string TransPhone, int TransScore) { try { if (MpUserID == Guid.Empty) { string rawUrl = "http://wx.ssrcb.com/ScoreSys/Index"; if (string.IsNullOrEmpty(RQuery["openid"])) { return(Json(new { isOK = false, isLogin = true, error_code = "ERR_NotLogin", message = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http://wx.ssrcb.com/mpuser/autologin?refUrl={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect", MpCenterCache.AppID, rawUrl) })); } } ScoreUser scoreUser = _scoreUserService.GetUnique("from ScoreUser where (MpUserId ='" + this.MpUserID.ToString() + "')"); if (scoreUser == null) { return(Json(new { isOK = false, error_code = "ERR_UserHadBind" })); } ScoreUser scoreTransUser = _scoreUserService.GetUnique("from ScoreUser where (ClientPhone='" + TransPhone.Trim() + "' and ClientName = '" + TransName + "')"); if (scoreTransUser == null) { return(Json(new { isOK = false, error_code = "ERR_UserNotExist" })); } if (scoreUser.ClientPhone == scoreTransUser.ClientPhone) { return(Json(new { isOK = false, error_code = "ERR_TransSamePerson" })); } if (scoreUser.CurrentScore < TransScore) { return(Json(new { isOK = false, error_code = "ERR_ScoreNotEnough" })); } scoreUser.CurrentScore -= TransScore; _scoreUserService.Update(scoreUser); //转出积分记录 ScoreConsumeInfo scoreConsumeDetail = new ScoreConsumeInfo(); scoreConsumeDetail.MpUserId = this.MpUserID; scoreConsumeDetail.ConsumeType = (int)ScoreConsume.Trans; scoreConsumeDetail.ConsumePoints = -TransScore; scoreConsumeDetail.CreateDate = DateTime.Now; scoreConsumeDetail.ConsumeDateTime = DateTime.Now; scoreConsumeDetail.Summary = "转给[" + TransName + TransPhone + "]" + TransScore + "积分"; _scoreConsumeInfoService.Insert(scoreConsumeDetail); scoreTransUser.CurrentScore += TransScore; _scoreUserService.Update(scoreTransUser); //转入积分记录 ScoreConsumeInfo transScoreConsumeDetail = new ScoreConsumeInfo(); transScoreConsumeDetail.MpUserId = scoreTransUser.MpUserId; transScoreConsumeDetail.ConsumeType = (int)ScoreConsume.Trans; transScoreConsumeDetail.ConsumePoints = TransScore; transScoreConsumeDetail.CreateDate = DateTime.Now; transScoreConsumeDetail.ConsumeDateTime = DateTime.Now; transScoreConsumeDetail.Summary = "从[" + scoreUser.ClientName + scoreUser.ClientPhone + "]获得转入" + TransScore + "积分"; _scoreConsumeInfoService.Insert(transScoreConsumeDetail); return(Json(new { isOK = true, error_code = "ERR_OK", currentScore = scoreUser.CurrentScore, scoreDetail = scoreConsumeDetail.ConsumeDateTime + scoreConsumeDetail.Summary })); } catch (System.Exception ex) { Log4NetImpl.Write("ScoreSys_Trans:" + ex.Message); } return(View()); }
/// <summary> /// 实现自己的任务逻辑 /// </summary> public void Execute() { int count = _loanService.GetCount(" where 1=1"); Log4NetImpl.Write(string.Format("贷款任务调度测试,当前贷款总条数{0},任务调度执行时间{1}", count, DateTime.Now), Log4NetImpl.ErrorLevel.Info); }
public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder) { //HTTP context and other related stuff builder.Register(c => //register FakeHttpContext when HttpContext is not available HttpContext.Current != null ? (new HttpContextWrapper(HttpContext.Current) as HttpContextBase) : (new FakeHttpContext("~/") as HttpContextBase)) .As <HttpContextBase>() .InstancePerHttpRequest(); builder.Register(c => c.Resolve <HttpContextBase>().Request) .As <HttpRequestBase>() .InstancePerHttpRequest(); builder.Register(c => c.Resolve <HttpContextBase>().Response) .As <HttpResponseBase>() .InstancePerHttpRequest(); builder.Register(c => c.Resolve <HttpContextBase>().Server) .As <HttpServerUtilityBase>() .InstancePerHttpRequest(); builder.Register(c => c.Resolve <HttpContextBase>().Session) .As <HttpSessionStateBase>() .InstancePerHttpRequest(); //web helper builder.RegisterType <WebHelper>().As <IWebHelper>().InstancePerHttpRequest(); //cache manager builder.RegisterType <MemoryCacheManager>().As <ICacheManager>().Named <ICacheManager>("ocean_cache_static").SingleInstance(); builder.RegisterType <PerRequestCacheManager>().As <ICacheManager>().Named <ICacheManager>("ocean_cache_per_request").InstancePerHttpRequest(); //controllers builder.RegisterControllers(typeFinder.GetAssemblies().ToArray()); //data layer var dataSettingsManager = new DataSettingsManager(); var dataProviderSettings = dataSettingsManager.LoadSettings(); builder.Register(c => dataSettingsManager.LoadSettings()).As <DataSettings>().InstancePerDependency(); builder.Register(x => new EfDataProviderManager(x.Resolve <DataSettings>())).As <BaseDataProviderManager>().InstancePerDependency(); builder.Register(x => (IEfDataProvider)x.Resolve <BaseDataProviderManager>().LoadDataProvider()).As <IDataProvider>().InstancePerDependency(); builder.Register(x => (IEfDataProvider)x.Resolve <BaseDataProviderManager>().LoadDataProvider()).As <IEfDataProvider>().InstancePerDependency(); if (dataProviderSettings != null && dataProviderSettings.IsValid()) { var efDataProviderManager = new EfDataProviderManager(dataSettingsManager.LoadSettings()); var dataProvider = (IEfDataProvider)efDataProviderManager.LoadDataProvider(); dataProvider.InitConnectionFactory(); builder.Register <IDbContext>(c => new OceanObjectContext(dataProviderSettings.DataConnectionString)).InstancePerHttpRequest(); } else { builder.Register <IDbContext>(c => new OceanObjectContext(dataSettingsManager.LoadSettings().DataConnectionString)).InstancePerHttpRequest(); } //builder.Register<IDbContext>(c => new OceanObjectContext("EFDbContext")).InstancePerHttpRequest(); builder.RegisterGeneric(typeof(EfRepository <>)).As(typeof(IRepository <>)).InstancePerHttpRequest(); //service builder.RegisterType <EnumTypeService>().As <IEnumTypeService>().InstancePerHttpRequest(); builder.RegisterType <EnumDataService>().As <IEnumDataService>().InstancePerHttpRequest(); builder.RegisterType <AdminService>().As <IAdminService>().InstancePerHttpRequest(); builder.RegisterType <AdminLoggerService>().As <IAdminLoggerService>().InstancePerHttpRequest(); builder.RegisterType <PermissionOrganizationService>().As <IPermissionOrganizationService>().InstancePerHttpRequest(); builder.RegisterType <PermissionModuleService>().As <IPermissionModuleService>().InstancePerHttpRequest(); builder.RegisterType <PermissionModuleCodeService>().As <IPermissionModuleCodeService>().InstancePerHttpRequest(); builder.RegisterType <PermissionRoleService>().As <IPermissionRoleService>().InstancePerHttpRequest(); builder.RegisterType <CategoryService>().As <ICategoryService>().InstancePerHttpRequest(); builder.RegisterType <ProductService>().As <IProductService>().InstancePerHttpRequest(); builder.RegisterType <LoanService>().As <ILoanService>() .WithParameter(ResolvedParameter.ForNamed <ICacheManager>("ocean_cache_static")) .InstancePerHttpRequest(); builder.RegisterType <LoanAssignLoggerService>().As <ILoanAssignLoggerService>().InstancePerHttpRequest(); builder.RegisterType <MpCenterService>().As <IMpCenterService>().InstancePerHttpRequest(); builder.RegisterType <MpMaterialService>().As <IMpMaterialService>().InstancePerHttpRequest(); builder.RegisterType <MpMaterialItemService>().As <IMpMaterialItemService>().InstancePerHttpRequest(); builder.RegisterType <MpUserGroupService>().As <IMpUserGroupService>().InstancePerHttpRequest(); builder.RegisterType <MpReplyService>().As <IMpReplyService>().InstancePerHttpRequest(); builder.RegisterType <MpUserService>().As <IMpUserService>().InstancePerHttpRequest(); builder.RegisterType <FunongbaoService>().As <IFunongbaoService>().InstancePerHttpRequest(); builder.RegisterType <FunongbaoApplyService>().As <IFunongbaoApplyService>().InstancePerHttpRequest(); builder.RegisterType <BranchService>().As <IBranchService>().InstancePerHttpRequest(); builder.RegisterType <MobileCodeService>().As <IMobileCodeService>().InstancePerHttpRequest(); builder.RegisterType <ConfigurationService>().As <IConfigurationService>().InstancePerHttpRequest(); builder.RegisterType <ScheduleTaskService>().As <IScheduleTaskService>().InstancePerHttpRequest(); builder.RegisterType <MpQrSceneService>().As <IMpQrSceneService>().InstancePerHttpRequest(); //KF builder.RegisterType <KfNumberService>().As <IKfNumberService>().InstancePerHttpRequest(); builder.RegisterType <KfMeetingService>().As <IKfMeetingService>().InstancePerHttpRequest(); builder.RegisterType <KfMeetingMessageService>().As <IKfMeetingMessageService>().InstancePerHttpRequest(); //configuration and setting builder.RegisterGeneric(typeof(ConfigurationProvider <>)).As(typeof(IConfigurationProvider <>)); builder.RegisterSource(new SettingsSource()); builder.RegisterType <SettingService>().As <ISettingService>().InstancePerHttpRequest(); //theme helper builder.RegisterType <MobileDeviceHelper>().As <IMobileDeviceHelper>().InstancePerHttpRequest(); builder.RegisterType <ThemeProvider>().As <IThemeProvider>().InstancePerHttpRequest(); builder.RegisterType <ThemeContext>().As <IThemeContext>().InstancePerHttpRequest(); //Visual Plugins builder.RegisterType <PluginBaseService>().As <IPluginBaseService>().InstancePerHttpRequest(); builder.RegisterType <PluginBaseStyleService>().As <IPluginBaseStyleService>().InstancePerHttpRequest(); builder.RegisterType <PluginService>().As <IPluginService>().InstancePerHttpRequest(); builder.RegisterType <PluginResultService>().As <IPluginResultService>().InstancePerHttpRequest(); builder.RegisterType <PluginUsedService>().As <IPluginUsedService>().InstancePerHttpRequest(); builder.RegisterType <PluginAllowUserService>().As <IPluginAllowUserService>().InstancePerHttpRequest(); builder.RegisterType <PluginSceneApllyCodeAllowerService>().As <IPluginSceneApllyCodeAllowerService>().InstancePerHttpRequest(); builder.RegisterType <PluginSceneResultService>().As <IPluginSceneResultService>().InstancePerHttpRequest(); builder.RegisterType <PluginSceneVerifyCodeDetailService>().As <IPluginSceneVerifyCodeDetailService>().InstancePerHttpRequest(); //plugins builder.RegisterType <PluginFinder>().As <IPluginFinder>().InstancePerHttpRequest(); builder.RegisterType <EmbeddedViewResolver>().As <IEmbeddedViewResolver>().SingleInstance(); builder.RegisterType <RoutePublisher>().As <IRoutePublisher>().SingleInstance(); builder.RegisterType <WidgetService>().As <IWidgetService>().InstancePerHttpRequest(); Log4NetImpl.SetConfig(FileHelper.GetMapPath("~/config/log4net.config")); //pos builder.RegisterType <PosApplyService>().As <IPosApplyService>().InstancePerHttpRequest(); builder.RegisterType <PosAuthService>().As <IPosAuthService>().InstancePerHttpRequest(); builder.RegisterType <PosService>().As <IPosService>().InstancePerHttpRequest(); //vote builder.RegisterType <VoteItemService>().As <IVoteItemService>().InstancePerHttpRequest(); builder.RegisterType <VoteInfoService>().As <IVoteInfoService>().InstancePerHttpRequest(); builder.RegisterType <VoteBaseService>().As <IVoteBaseService>().InstancePerHttpRequest(); //scoresys builder.RegisterType <ScoreUserService>().As <IScoreUserService>().InstancePerHttpRequest(); builder.RegisterType <ScoreTradeInfoService>().As <IScoreTradeInfoService>().InstancePerHttpRequest(); builder.RegisterType <ScoreStoreItemService>().As <IScoreStoreItemService>().InstancePerHttpRequest(); builder.RegisterType <ScorePluginResultService>().As <IScorePluginResultService>().InstancePerHttpRequest(); builder.RegisterType <ScoreConsumeInfoService>().As <IScoreConsumeInfoService>().InstancePerHttpRequest(); //xypluginuser builder.RegisterType <XYPluginUserService>().As <IXYPluginUserService>().InstancePerHttpRequest(); //baoxian builder.RegisterType <ComplainService>().As <IComplainService>().InstancePerHttpRequest(); builder.RegisterType <DrivingLicenseService>().As <IDrivingLicenseService>().InstancePerHttpRequest(); builder.RegisterType <VehicleLicenseService>().As <IVehicleLicenseService>().InstancePerHttpRequest(); }