/// <summary> /// 更新用户包括状态 /// </summary> /// <param name="Model"></param> /// <returns></returns> public WorkJsonResult WX_UpdateUser(JH_Auth_User Model) { try { WorkJsonResult Ret = new WorkJsonResult(); if (Qyinfo.IsUseWX == "Y") { long[] Branch = { new JH_Auth_BranchB().GetEntity(d => d.DeptCode == Model.BranchCode).WXBMCode.Value }; MemberUpdateRequest User = new MemberUpdateRequest(); User.userid = Model.UserName; User.name = Model.UserRealName; User.mobile = Model.mobphone; User.department = Branch; User.gender = Model.Sex == "男" ? "1" : "2"; User.enable = Model.IsUse == "Y" ? 1 : 0; Ret = MailListApi.UpdateMember(GetToken(), User); } return(Ret); } catch (Exception ex) { WorkJsonResult Ret = new WorkJsonResult(); new QJY.API.JH_Auth_LogB().Insert(new QJY.Data.JH_Auth_Log() { CRDate = DateTime.Now, LogContent = Model.UserName + "更新错误:" + ex.ToString() }); return(Ret); } }
/// <summary> /// 微信授权登录成功后更新本地账号缓存 /// </summary> public static void UpdateCookieAfterSignIn(JH_Auth_User userInfo) { DateTime expires = DateTime.Now.AddMinutes(120); CommonHelp.SetCookie("szhlcode", userInfo.pccode, expires); CommonHelp.SetCookie("username", userInfo.UserName, expires); CommonHelp.SetCookie("userphonenumber", userInfo.mobphone, expires); }
/// <summary> /// 根据ID查询工资明细 /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="P1"></param> /// <param name="P2"></param> /// <param name="UserInfo"></param> public void GETGZDLIST(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { int ID; JH_Auth_User userInfo = new JH_Auth_User(); int.TryParse(context.Request["ID"] ?? "-1", out ID); msg.Result = new SZHL_XZ_GZDB().GetEntities(d => d.ID == ID).ToList(); return; }
/// <summary> /// 登录 /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="P1">用户名</param> /// <param name="P2">密码(未解码的)</param> /// <param name="UserInfo"></param> public void LOGIN(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { string password = context.Request["password"] ?? ""; string username = context.Request["UserName"] ?? ""; string chkcode = context.Request["chkcode"] ?? ""; msg.ErrorMsg = ""; //取消验证码 Weiler //if (context.Session["chkcode"] != null) //{ // if (!chkcode.ToUpper().Equals(context.Session["chkcode"].ToString())) // { // msg.ErrorMsg = "验证码不正确"; // return; // } //} //else //{ // msg.ErrorMsg = "验证码已过期"; // return; //} JH_Auth_QY qyModel = new JH_Auth_QYB().GetALLEntities().First(); password = CommonHelp.GetMD5(password); JH_Auth_User userInfo = new JH_Auth_User(); List <JH_Auth_User> userList = new JH_Auth_UserB().GetEntities(d => (d.UserName == username || d.mobphone == username) && d.UserPass == password).ToList(); if (userList.Count() == 0) { msg.ErrorMsg = "用户名或密码不正确"; return; } else { userInfo = userList[0]; if (userInfo.IsUse != "Y") { msg.ErrorMsg = "用户被禁用,请联系管理员"; return; } if (string.IsNullOrEmpty(userInfo.pccode)) { userInfo.pccode = CommonHelp.CreatePCCode(userInfo); } userInfo.logindate = DateTime.Now; new JH_Auth_UserB().Update(userInfo); msg.Result = userInfo.pccode; msg.Result1 = userInfo.UserName; msg.Result4 = userInfo; } }
private async void OnProfileUpdated(JH_Auth_User profile) { Profile = null; if (Device.RuntimePlatform == Device.UWP) { await Task.Delay(2000); // Give UWP enough time (for Photo reload) } Profile = profile; }
public async Task InitAsync() { IsBusy = true; try { var profile = new JH_Auth_User(); var cacheProfile = await _cacheManager.Get <JH_Auth_User>(GlobalSettings.profilepage_profile_key); if (cacheProfile != null) { profile = cacheProfile; } else { profile = await _profileService.GetCurrentProfileAsync(); await _cacheManager.Set <JH_Auth_User>(GlobalSettings.profilepage_profile_key, profile); } if (!IsConnected()) { _dialogService.LongAlert("网络异常,数据获取失败!"); } if (!string.IsNullOrEmpty(profile.tx)) { //Force photo reload profile.tx += $"?t={DateTime.Now.Ticks}"; } else { profile.tx = "profile_generic.png"; } Profile = profile; MessagingCenter.Send(Profile, MessengerKeys.ProfileUpdated); } catch (Exception ex) when(ex is WebException || ex is HttpRequestException) { //await _dialogService.ShowAlertAsync("Communication error", "Error", "Ok"); } catch (Exception ex) { Debug.WriteLine($"Error fetching profile with exception: {ex}"); } IsBusy = false; }
public void VALIDATETOMONOLICENSE(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { JH_Auth_User j = JsonConvert.DeserializeObject <JH_Auth_User>(P1); if (j == null) { msg.ErrorMsg = "绑定失败"; return; } if (string.IsNullOrWhiteSpace(j.UserRealName.Trim())) { msg.ErrorMsg = "姓名不能为空"; return; } if (string.IsNullOrWhiteSpace(j.mobphone.Trim())) { msg.ErrorMsg = "手机号不能为空"; return; } if (string.IsNullOrWhiteSpace(j.IDCard.Trim())) { msg.ErrorMsg = "身份证号不能为空"; return; } if (string.IsNullOrWhiteSpace(j.ToMonoLicense.Trim())) { msg.ErrorMsg = "专卖许可证号不能为空"; return; } string url = "http://order.lstobacco.com:5222/tabacco/logistic/validateCustInfo"; Dictionary <String, String> DATA = new Dictionary <String, String>(); DATA.Add("licenseCode", j.ToMonoLicense.Trim()); DATA.Add("idCard", j.IDCard.Trim()); DATA.Add("userName", j.UserRealName.Trim()); try { HttpWebResponse ResponseData = CommonHelp.CreatePostHttpResponse(url, DATA, 0, "", null); string Returndata = CommonHelp.GetResponseString(ResponseData); JObject json = (JObject)JsonConvert.DeserializeObject(Returndata); msg.Result = json; } catch (Exception e) { msg.ErrorMsg = "验证失败,请检查您的信息!"; } }
public void REGISTERYS(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { string strXM = P2; string strPhone = P1; JH_Auth_User user1 = new JH_Auth_UserB().GetUserByUserName(10334, P1); if (user1 != null) { msg.ErrorMsg = "用户已存在"; return; } JH_Auth_User user = new JH_Auth_User(); user.UserName = strPhone; user.mobphone = strPhone; user.UserRealName = P2; user.UserPass = CommonHelp.GetMD5("abc123"); user.ComId = 10334; user.BranchCode = 1728; user.CRDate = DateTime.Now; user.CRUser = "******"; user.logindate = DateTime.Now; user.IsUse = "Y"; if (!new JH_Auth_UserB().Insert(user)) { msg.ErrorMsg = "添加用户失败"; } else { JH_Auth_QY QY = new JH_Auth_QYB().GetEntity(d => d.ComId == 10334); WXHelp wx = new WXHelp(QY); wx.WX_CreateUser(user); //添加默认员工角色 JH_Auth_UserRole Model = new JH_Auth_UserRole(); Model.UserName = user.UserName; Model.RoleCode = 1219; Model.ComId = user.ComId; new JH_Auth_UserRoleB().Insert(Model); } }
public async Task UploadUserImageAsync(JH_Auth_User profile, string imageAsBase64) { try { var userId = _authenticationService.GetCurrentUserId(); var builder = new UriBuilder(GlobalSettings.AuthenticationEndpoint); //http://192.168.1.42:8998/api/profiles/image/6917 builder.Path = $"api/profiles/image/{userId}"; var uri = builder.ToString(); var imageModel = new ImageModel { Data = imageAsBase64 }; var result = await _requestProvider.PutAsync <ImageModel, RequestResult>(uri, imageModel); await CacheHelper.RemoveFromCache(profile.tx); } catch (Exception ex) { System.Diagnostics.Debug.Print(ex.Message); } }
public QyJsonResult WX_CreateUser(JH_Auth_User Model) { try { QyJsonResult Ret = new QyJsonResult(); if (Qyinfo.IsUseWX == "Y") { int[] Branch = { new JH_Auth_BranchB().GetEntity(d => d.DeptCode == Model.BranchCode).WXBMCode.Value }; Ret = MailListApi.CreateMember(GetToken(), Model.UserName, Model.UserRealName, Branch, Model.zhiwu, Model.mobphone, Model.mailbox, Model.weixinnum); } return(Ret); } catch (Exception ex) { QyJsonResult Ret = new QyJsonResult(); new QJY.API.JH_Auth_LogB().Insert(new QJY.Data.JH_Auth_Log() { CRDate = DateTime.Now, LogContent = Model.UserName + "新增错误:" + ex.ToString() }); return(Ret); } }
public ActionResult <string> Login(Object PostData) { JObject JsonData = JObject.FromObject(PostData); string username = JsonData["UserName"] == null ? "" : JsonData["UserName"].ToString(); string password = JsonData["password"] == null ? "" : JsonData["password"].ToString(); Dictionary <string, string> results3 = JsonConvert.DeserializeObject <Dictionary <string, string> >(PostData.ToString()); Model.ErrorMsg = ""; JH_Auth_QY qyModel = new JH_Auth_QYB().GetALLEntities().First(); password = CommonHelp.GetMD5(password); JH_Auth_User userInfo = new JH_Auth_User(); List <JH_Auth_User> userList = new JH_Auth_UserB().GetEntities(d => (d.UserName == username || d.mobphone == username) && d.UserPass == password).ToList(); if (userList.Count() == 0) { Model.ErrorMsg = "用户名或密码不正确"; } else { userInfo = userList[0]; if (userInfo.IsUse != "Y") { Model.ErrorMsg = "用户被禁用,请联系管理员"; } if (Model.ErrorMsg == "") { Model.Result = JwtHelper.CreateJWT(username, "Admin"); Model.Result1 = userInfo.UserName; Model.Result2 = qyModel.FileServerUrl; Model.Result4 = userInfo; CacheHelp.Remove(userInfo.UserName); } } return(ControHelp.CovJson(Model));; }
/// <summary> /// 从企业微信同步到系统里 /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="P1"></param> /// <param name="P2"></param> /// <param name="UserInfo"></param> public void TBTXL(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { try { int bmcount = 0; int rycount = 0; if (P1 == "") { msg.ErrorMsg = "请输入初始密码"; return; } WXHelp wx = new WXHelp(UserInfo.QYinfo); #region 更新部门 GetDepartmentListResult bmlist = wx.WX_GetBranchList(""); foreach (var wxbm in bmlist.department.OrderBy(d => d.parentid)) { var bm = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == wxbm.id); if (bm == null) { #region 新增部门 JH_Auth_Branch jab = new JH_Auth_Branch(); jab.WXBMCode = int.Parse(wxbm.id.ToString()); jab.ComId = UserInfo.User.ComId; jab.DeptName = wxbm.name; jab.DeptDesc = wxbm.name; jab.DeptShort = int.Parse(wxbm.order.ToString()); if (wxbm.parentid == 0)//如果是跟部门,设置其跟部门为-1 { jab.DeptRoot = -1; } else { var bm1 = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == wxbm.parentid); jab.DeptRoot = bm1.DeptCode; jab.Remark1 = new JH_Auth_BranchB().GetBranchNo(UserInfo.User.ComId.Value, jab.DeptRoot); } new JH_Auth_BranchB().Insert(jab); jab.Remark1 = new JH_Auth_BranchB().GetBranchNo(UserInfo.User.ComId.Value, jab.DeptRoot) + jab.DeptCode; new JH_Auth_BranchB().Update(jab); bmcount = bmcount + 1; #endregion } else { //同步部门时放弃更新现有部门 } } #endregion #region 更新人员 JH_Auth_Branch branchModel = new JH_Auth_BranchB().GetEntity(d => d.DeptRoot == -1 && d.ComId == UserInfo.User.ComId); GetDepartmentMemberInfoResult yg = wx.WX_GetDepartmentMemberInfo(branchModel.WXBMCode.Value); foreach (var u in yg.userlist) { var user = new JH_Auth_UserB().GetUserByUserName(UserInfo.QYinfo.ComId, u.userid); if (user == null) { #region 新增人员 JH_Auth_User jau = new JH_Auth_User(); jau.ComId = UserInfo.User.ComId; jau.UserName = u.userid; jau.UserPass = CommonHelp.GetMD5(P1); jau.UserRealName = u.name; jau.Sex = u.gender == 1 ? "男" : "女"; if (u.department.Length > 0) { int id = int.Parse(u.department[0].ToString()); var bm1 = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == id); jau.BranchCode = bm1.DeptCode; jau.remark = bm1.Remark1.Split('-')[0];//用户得部门路径 } jau.mailbox = u.email; jau.mobphone = u.mobile; jau.zhiwu = string.IsNullOrEmpty(u.position) ? "员工" : u.position; jau.IsUse = "Y"; if (u.status == 1 || u.status == 4) { jau.isgz = u.status.ToString(); } jau.txurl = u.avatar; new JH_Auth_UserB().Insert(jau); rycount = rycount + 1; #endregion //为所有人增加普通员工的权限 JH_Auth_Role rdefault = new JH_Auth_RoleB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.isSysRole == "Y" && p.RoleName == "员工");//找到默认角色 if (rdefault != null) { JH_Auth_UserRole jaurdefault = new JH_Auth_UserRole(); jaurdefault.ComId = UserInfo.User.ComId; jaurdefault.RoleCode = rdefault.RoleCode; jaurdefault.UserName = jau.UserName; new JH_Auth_UserRoleB().Insert(jaurdefault); } } else { //同步人员时放弃更新现有人员 #region 更新人员 user.UserRealName = u.name; if (u.department.Length > 0) { int id = int.Parse(u.department[0].ToString()); var bm1 = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == id); user.BranchCode = bm1.DeptCode; } user.mailbox = u.email; user.mobphone = u.mobile; user.zhiwu = string.IsNullOrEmpty(u.position) ? "员工" : u.position; user.Sex = u.gender == 1 ? "男" : "女"; if (u.status == 1 || u.status == 4) { user.IsUse = "Y"; user.isgz = u.status.ToString(); } else if (u.status == 2) { user.IsUse = "N"; } user.txurl = u.avatar; new JH_Auth_UserB().Update(user); #endregion } #region 更新角色(职务) if (!string.IsNullOrEmpty(u.position)) { var r = new JH_Auth_RoleB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.RoleName == u.position); if (r == null) { JH_Auth_Role jar = new JH_Auth_Role(); jar.ComId = UserInfo.User.ComId; jar.RoleName = u.position; jar.RoleDec = u.position; jar.PRoleCode = 0; jar.isSysRole = "N"; jar.IsUse = "Y"; jar.leve = 0; jar.DisplayOrder = 0; new JH_Auth_RoleB().Insert(jar); JH_Auth_UserRole jaur = new JH_Auth_UserRole(); jaur.ComId = UserInfo.User.ComId; jaur.RoleCode = jar.RoleCode; jaur.UserName = u.userid; new JH_Auth_UserRoleB().Insert(jaur); } else { } } #endregion } #endregion msg.Result1 = bmcount; msg.Result2 = rycount; } catch (Exception ex) { msg.ErrorMsg = ex.ToString(); } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.AddHeader("Access-Control-Allow-Origin", "*"); context.Response.AddHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,DELETE"); //支持的http 动作 context.Response.AddHeader("Access-Control-Allow-Headers", "Accept, Origin, Content-type,authorization"); context.Response.AddHeader("Access-Control-Allow-Credentials", "true"); context.Response.AddHeader("pragma", "no-cache"); context.Response.AddHeader("cache-control", ""); context.Response.CacheControl = "no-cache"; string strAction = context.Request["Action"] ?? ""; string UserName = context.Request["UserName"] ?? ""; string strIP = CommonHelp.getIP(context); Msg_Result Model = new Msg_Result() { Action = strAction.ToUpper(), ErrorMsg = "" }; if (!string.IsNullOrEmpty(strAction)) { #region 企业号应用callback if (strAction == "XXJS") { String strCorpID = context.Request["corpid"] ?? ""; string strCode = context.Request["Code"] ?? ""; try { JH_Auth_QY jaq = new JH_Auth_QYB().GetALLEntities().FirstOrDefault(); JH_Auth_Model jam = new JH_Auth_ModelB().GetEntity(p => p.ModelCode == strCode); //if (jaq != null && jam != null && !string.IsNullOrEmpty(jam.TJId)) if (jaq != null && jam != null) { #region POST if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST") { string signature = HttpContext.Current.Request.QueryString["msg_signature"];//企业号的 msg_signature string timestamp = HttpContext.Current.Request.QueryString["timestamp"]; string nonce = HttpContext.Current.Request.QueryString["nonce"]; // 获得客户端RAW HttpRequest StreamReader srResult = new StreamReader(context.Request.InputStream); string str = srResult.ReadToEnd(); XmlDocument XmlDocument = new XmlDocument(); XmlDocument.LoadXml(HttpContext.Current.Server.UrlDecode(str)); string ToUserName = string.Empty; string strde = string.Empty; string msgtype = string.Empty;//微信响应类型 foreach (XmlNode xn in XmlDocument.ChildNodes[0].ChildNodes) { if (xn.Name == "ToUserName") { ToUserName = xn.InnerText; } } var pj = new JH_Auth_WXPJB().GetEntity(p => p.TJID == jam.TJId); //Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(pj.Token, pj.EncodingAESKey, ToUserName); //int n = wxcpt.DecryptMsg(signature, timestamp, nonce, str, ref strde); XmlDocument XmlDocument1 = new XmlDocument(); XmlDocument1.LoadXml(HttpContext.Current.Server.UrlDecode(strde)); foreach (XmlNode xn1 in XmlDocument1.ChildNodes[0].ChildNodes) { if (xn1.Name == "MsgType") { msgtype = xn1.InnerText; } //CommonHelp.WriteLOG(XmlDocument1.OuterXml); } if (msgtype == "event")//处理事件 { //需要处理进入应用的菜单更改事件 string strEvent = XmlDocument1.ChildNodes[0]["Event"].InnerText; string strUserName = XmlDocument1.ChildNodes[0]["FromUserName"].InnerText; string strAgentID = XmlDocument1.ChildNodes[0]["AgentID"].InnerText; string strEventKey = XmlDocument1.ChildNodes[0]["EventKey"].InnerText; if (strEvent.ToLower() == "enter_agent" || strEvent.ToLower() == "view") { //进入应用和点击菜单 //JH_Auth_User jau = new JH_Auth_UserB().GetEntity(p => p.ComId == jaq.ComId && p.UserName == strUserName); //JH_Auth_QY_Model jhqm = new JH_Auth_QY_ModelB().GetEntity(p => p.ComId == jaq.ComId && p.AgentId == strAgentID); //if (jau != null && jhqm != null) //{ // JH_Auth_YYLog jay = new JH_Auth_YYLog(); // jay.ComId = jaq.ComId; // jay.AgentID = strAgentID; // jay.CorpID = strCorpID; // jay.CRDate = DateTime.Now; // jay.CRUser = strUserName; // jay.Event = strEvent; // jay.EventKey = strEventKey; // jay.ModelCode = strCode; // jay.ModelID = jhqm.ModelID; // jay.QYName = jaq.QYName; // jay.TJID = jam.TJId; // jay.Type = msgtype; // jay.UserName = strUserName; // jay.UserRealName = jau.UserRealName; // new JH_Auth_YYLogB().Insert(jay); // if (strEvent.ToLower() == "enter_agent") // { // var jays = new JH_Auth_YYLogB().GetEntities(p => p.ComId == jaq.ComId && p.Event == "enter_agent" && p.AgentID == strAgentID && p.CRUser == strUserName); // if (jays.Count() <= 1) // { // } // } //} } } if (new List <string> { "text", "image", "voice", "video", "shortvideo", "link" }.Contains(msgtype)) //处理消息事件 { if (XmlDocument1.ChildNodes.Count > 0) { JH_Auth_WXMSG wxmsgModel = new JH_Auth_WXMSG(); wxmsgModel.AgentID = int.Parse(XmlDocument1.ChildNodes[0]["AgentID"].InnerText); wxmsgModel.ComId = jaq.ComId; wxmsgModel.ToUserName = XmlDocument1.ChildNodes[0]["ToUserName"].InnerText; wxmsgModel.FromUserName = XmlDocument1.ChildNodes[0]["FromUserName"].InnerText; wxmsgModel.CRDate = DateTime.Now; wxmsgModel.CRUser = XmlDocument1.ChildNodes[0]["FromUserName"].InnerText; wxmsgModel.MsgId = XmlDocument1.ChildNodes[0]["MsgId"].InnerText; wxmsgModel.MsgType = msgtype; wxmsgModel.ModeCode = strCode; wxmsgModel.Tags = "微信收藏"; switch (msgtype) { case "text": wxmsgModel.MsgContent = XmlDocument1.ChildNodes[0]["Content"].InnerText; break; case "image": wxmsgModel.PicUrl = XmlDocument1.ChildNodes[0]["PicUrl"].InnerText; wxmsgModel.MediaId = XmlDocument1.ChildNodes[0]["MediaId"].InnerText; break; case "voice": wxmsgModel.MediaId = XmlDocument1.ChildNodes[0]["MediaId"].InnerText; wxmsgModel.Format = XmlDocument1.ChildNodes[0]["Format"].InnerText; break; case "video": wxmsgModel.MediaId = XmlDocument1.ChildNodes[0]["MediaId"].InnerText; wxmsgModel.ThumbMediaId = XmlDocument1.ChildNodes[0]["ThumbMediaId"].InnerText; break; case "shortvideo": wxmsgModel.MediaId = XmlDocument1.ChildNodes[0]["MediaId"].InnerText; wxmsgModel.ThumbMediaId = XmlDocument1.ChildNodes[0]["ThumbMediaId"].InnerText; break; case "link": wxmsgModel.Description = XmlDocument1.ChildNodes[0]["Description"].InnerText; wxmsgModel.Title = XmlDocument1.ChildNodes[0]["Title"].InnerText; wxmsgModel.URL = XmlDocument1.ChildNodes[0]["Url"].InnerText; wxmsgModel.PicUrl = XmlDocument1.ChildNodes[0]["PicUrl"].InnerText; break; } if (new List <string>() { "link", "text" }.Contains(msgtype)) { if (msgtype == "link") { var jaw = new JH_Auth_WXMSGB().GetEntity(p => p.ComId == jaq.ComId && p.MsgId == wxmsgModel.MsgId); if (jaw == null) { string strMedType = ".jpg"; JH_Auth_UserB.UserInfo UserInfo = new JH_Auth_UserB.UserInfo(); UserInfo = new JH_Auth_UserB().GetUserInfo(jaq.ComId, wxmsgModel.FromUserName); // string fileID = CommonHelp.ProcessWxIMGUrl(wxmsgModel.PicUrl, UserInfo, strMedType); //wxmsgModel.FileId = fileID; //new JH_Auth_WXMSGB().Insert(wxmsgModel); //if (strCode == "TSSQ") //{ // SZHL_TXSX tx1 = new SZHL_TXSX(); // tx1.ComId = jaq.ComId; // tx1.APIName = "TSSQ"; // tx1.MsgID = wxmsgModel.ID.ToString(); // tx1.FunName = "SENDWXMSG"; // tx1.Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); // tx1.CRUser = wxmsgModel.CRUser; // tx1.CRDate = DateTime.Now; // TXSX.TXSXAPI.AddALERT(tx1); //时间为发送时间 //} } } else { new JH_Auth_WXMSGB().Insert(wxmsgModel); } } if (!string.IsNullOrEmpty(wxmsgModel.MediaId)) { var jaw = new JH_Auth_WXMSGB().GetEntity(p => p.ComId == jaq.ComId && p.MediaId == wxmsgModel.MediaId); if (jaw == null) { string strMedType = ".jpg"; if (strCode == "QYWD" || strCode == "CRM") //判断模块 { if (msgtype == "shortvideo" || msgtype == "video") //视频,小视频 { strMedType = ".mp4"; } if (new List <string>() { "image", "shortvideo", "video", "voice" }.Contains(msgtype)) //下载到本地服务器 { JH_Auth_UserB.UserInfo UserInfo = new JH_Auth_UserB.UserInfo(); UserInfo = new JH_Auth_UserB().GetUserInfo(jaq.ComId, wxmsgModel.FromUserName); // string fileID = CommonHelp.ProcessWxIMG(wxmsgModel.MediaId, strCode, UserInfo, strMedType); // wxmsgModel.FileId = fileID; // new JH_Auth_WXMSGB().Insert(wxmsgModel); } } } } } } } #endregion #region GET if (HttpContext.Current.Request.HttpMethod.ToUpper() == "GET") { Auth(jam.Token, jam.EncodingAESKey, jaq.corpId); } #endregion } } catch (Exception ex) { Model.ErrorMsg = ex.ToString(); CommonHelp.WriteLOG(ex.ToString()); } } #endregion #region 获取唯一code if (strAction.ToUpper() == "GetUserCodeByCode".ToUpper()) { #region 获取Code Model.ErrorMsg = "获取Code错误,请重试"; string strCode = context.Request["code"] ?? ""; string strCorpID = context.Request["corpid"] ?? ""; string strModelCode = context.Request["funcode"] ?? ""; if (!string.IsNullOrEmpty(strCode)) { var qy = new JH_Auth_QYB().GetEntity(p => p.corpId == strCorpID); if (qy != null) { try { //通过微信接口获取用户名 WXHelp wx = new WXHelp(qy); string username = wx.GetUserDataByCode(strCode, strModelCode); CommonHelp.WriteLOG(username); if (!string.IsNullOrEmpty(username)) { var jau = new JH_Auth_UserB().GetUserByUserName(qy.ComId, username); CommonHelp.WriteLOG(JsonConvert.SerializeObject(jau)); if (jau != null) { //如果PCCode为空或者超过60分钟没操作,统统重新生成PCCode,并更新最新操作时间 if (jau.logindate == null) { jau.logindate = DateTime.Now; } TimeSpan ts = new TimeSpan(jau.logindate.Value.Ticks).Subtract(new TimeSpan(DateTime.Now.Ticks)).Duration(); if (string.IsNullOrEmpty(jau.pccode) || ts.TotalMinutes > 60) { string strGuid = CommonHelp.CreatePCCode(jau); jau.pccode = strGuid; jau.logindate = DateTime.Now; new JH_Auth_UserB().Update(jau); } Model.ErrorMsg = ""; Model.Result = jau.pccode; Model.Result1 = jau.UserName; Model.Result2 = ts.TotalMinutes; Model.Result3 = qy.FileServerUrl; } } else { Model.ErrorMsg = "当前用户不存在"; } } catch (Exception ex) { Model.ErrorMsg = ex.ToString(); } } else { Model.ErrorMsg = "当前企业号未在电脑端注册"; } } else { Model.ErrorMsg = "Code为空"; } #endregion } #endregion #region 是否存在 if (strAction.ToUpper() == "isexist".ToUpper()) { if (context.Request["szhlcode"] != null) { //通过Cookies获取Code //string szhlcode = "5ab470be-4988-4bb3-9658-050481b98fca"; string szhlcode = context.Request["szhlcode"].ToString(); //通过Code获取用户名,然后执行接口方法 var jau = new JH_Auth_UserB().GetUserByPCCode(szhlcode); if (jau == null) { Model.Result = "NOCODE"; } } } #endregion #region 发送提醒 if (strAction.ToUpper() == "AUTOALERT") { TXSX.TXSXAPI.AUTOALERT(); } //阿里云转码通知 if (strAction.ToUpper() == "ZMNOTICE") { #region 转码通知 Stream stream = context.Request.InputStream; StreamReader reader = new StreamReader(stream); string text = reader.ReadToEnd(); reader.Close(); if (!string.IsNullOrEmpty(text)) { JObject jo = JObject.Parse(text); JObject message = JObject.Parse(jo["Message"].ToString()); string RunId = message["RunId"].ToString(); string State = message["State"].ToString(); if (State.ToUpper() == "SUCCESS") { JObject MediaWorkflowExecution = JObject.Parse(message["MediaWorkflowExecution"].ToString()); string InputFileobject = MediaWorkflowExecution["Input"]["InputFile"]["Object"].ToString(); if (MediaWorkflowExecution["State"].ToString().ToUpper() == "COMPLETED") { JArray ActivityList = JArray.Parse(MediaWorkflowExecution["ActivityList"].ToString()); foreach (var al in ActivityList) { string alType = al["Type"].ToString(); CommonHelp.WriteLOG("alType:" + alType); if (alType.ToUpper() == "TRANSCODE") { string alname = al["Name"].ToString(); string md5 = InputFileobject.Substring(0, InputFileobject.LastIndexOf(".")); var files = new FT_FileB().GetEntities(p => p.FileMD5 == md5); foreach (var v in files) { v.YLUrl = string.Format("http://chengyanout.oss-cn-beijing.aliyuncs.com/{0}/{1}/{2}", alname, RunId, InputFileobject); new FT_FileB().Update(v); } } } } } //转码成功则删除原始文件 //OssClient client = new OssClient("",); context.Response.Write("HTTP/1.1 204 No Content"); //} } context.Response.Write("HTTP/1.1 500 No Content"); #endregion } if (strAction.ToUpper() == "WXAPPSIGNATURE")//上传签名 { var sign = QJY.API.BusinessCode.Signature.GetUploadSignature(); Model.Result = sign; } if (strAction.ToUpper() == "CHECKBINDYH")//判断是否绑定账号 { //string code = context.Request["code"] ?? ""; //if (string.IsNullOrEmpty(code)) //{ // Model.ErrorMsg = "请先获取微信code"; //} //else //{ // string openid = WXApp.OnLogin(code); // if (openid == "") // { // Model.ErrorMsg = "获取openid失败,请重试"; // } // else // { // Model.Result = openid; // //判断是否绑定 // var user = new JH_Auth_UserB().GetEntity(p => p.weixinCard == openid); // if (user != null) // { // Model.Result1 = "Y"; // Model.Result2 = user; // } // } //} } if (strAction.ToUpper() == "BINDYH")//绑定用户 { string password = context.Request["password"] ?? ""; string username = context.Request["UserName"] ?? ""; string wxopenid = context.Request["wxopenid"] ?? ""; string nickname = context.Request["nickname"] ?? ""; string txurl = context.Request["txurl"] ?? ""; JH_Auth_QY qyModel = new JH_Auth_QYB().GetALLEntities().First(); password = CommonHelp.GetMD5(password); JH_Auth_User userInfo = new JH_Auth_User(); List <JH_Auth_User> userList = new JH_Auth_UserB().GetEntities(d => (d.UserName == username || d.mobphone == username) && d.UserPass == password).ToList(); if (userList.Count() == 0) { Model.ErrorMsg = "用户名或密码不正确"; } else { userInfo = userList[0]; if (userInfo.IsUse != "Y") { Model.ErrorMsg = "用户被禁用,请联系管理员"; } if (Model.ErrorMsg == "") { userInfo.weixinCard = wxopenid; userInfo.NickName = nickname; userInfo.txurl = txurl; new JH_Auth_UserB().Update(userInfo); Model.Result = userInfo.pccode; Model.Result1 = userInfo.UserName; Model.Result2 = qyModel.FileServerUrl; Model.Result4 = userInfo; } } } if (strAction.ToUpper() == "LOGIN") { string password = context.Request["password"] ?? ""; string username = context.Request["UserName"] ?? ""; string chkcode = context.Request["chkcode"] ?? ""; Model.ErrorMsg = ""; if (chkcode.ToUpper() != "APP") { if (context.Session["chkcode"] != null) { if (!chkcode.ToUpper().Equals(context.Session["chkcode"].ToString())) { Model.ErrorMsg = "验证码不正确"; } } else { Model.ErrorMsg = "验证码已过期"; } } JH_Auth_QY qyModel = new JH_Auth_QYB().GetALLEntities().First(); password = CommonHelp.GetMD5(password); JH_Auth_User userInfo = new JH_Auth_User(); List <JH_Auth_User> userList = new JH_Auth_UserB().GetEntities(d => (d.UserName == username || d.mobphone == username) && d.UserPass == password).ToList(); if (userList.Count() == 0) { Model.ErrorMsg = "用户名或密码不正确"; } else { userInfo = userList[0]; if (userInfo.IsUse != "Y") { Model.ErrorMsg = "用户被禁用,请联系管理员"; } if (Model.ErrorMsg == "") { if (string.IsNullOrEmpty(userInfo.pccode)) { userInfo.pccode = CommonHelp.CreatePCCode(userInfo); } userInfo.logindate = DateTime.Now; new JH_Auth_UserB().Update(userInfo); CacheHelp.Remove(userInfo.pccode);//登陆时清理缓存 Model.Result = userInfo.pccode; Model.Result1 = userInfo.UserName; Model.Result2 = qyModel.FileServerUrl; Model.Result4 = userInfo; } } } #endregion } else { #region 获取SuiteTicket if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST") { string signature = HttpContext.Current.Request.QueryString["msg_signature"];//企业号的 msg_signature string timestamp = HttpContext.Current.Request.QueryString["timestamp"]; string nonce = HttpContext.Current.Request.QueryString["nonce"]; // 获得客户端RAW HttpRequest StreamReader srResult = new StreamReader(context.Request.InputStream); string str = srResult.ReadToEnd(); XmlDocument XmlDocument = new XmlDocument(); XmlDocument.LoadXml(HttpContext.Current.Server.UrlDecode(str)); string ToUserName = string.Empty; string Encrypt = string.Empty; string strde = string.Empty; string strinfotype = string.Empty; foreach (XmlNode xn in XmlDocument.ChildNodes[0].ChildNodes) { if (xn.Name == "ToUserName") { ToUserName = xn.InnerText; } if (xn.Name == "Encrypt") { Encrypt = xn.InnerText; } } var pj = new JH_Auth_WXPJB().GetEntity(p => p.TJID == ToUserName); int n = new WXHelp().DecryptMsg(pj.Token, pj.EncodingAESKey, ToUserName, signature, timestamp, nonce, str, ref strde); string strtct = string.Empty; string strSuiteId = string.Empty; string strtAuthCorpId = string.Empty; XmlDocument XmlDocument1 = new XmlDocument(); XmlDocument1.LoadXml(HttpContext.Current.Server.UrlDecode(strde)); foreach (XmlNode xn1 in XmlDocument1.ChildNodes[0].ChildNodes) { if (xn1.Name == "SuiteId") { strSuiteId = xn1.InnerText; } if (xn1.Name == "SuiteTicket") { strtct = xn1.InnerText; } if (xn1.Name == "InfoType") { strinfotype = xn1.InnerText; } if (xn1.Name == "AuthCorpId") { strtAuthCorpId = xn1.InnerText; } } if (strinfotype == "suite_ticket") { pj.Ticket = strtct; new JH_Auth_WXPJB().Update(pj); } HttpContext.Current.Response.Write("success"); HttpContext.Current.Response.End(); } #endregion } IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; string Result = JsonConvert.SerializeObject(Model, Newtonsoft.Json.Formatting.Indented, timeConverter).Replace("null", "\"\""); context.Response.Write(Result); }
/// <summary> /// 生成PCCode /// </summary> /// <param name="UserName"></param> /// <returns></returns> public static string CreatePCCode(JH_Auth_User user) { string strPCCode = EncrpytHelper.Encrypt(user.UserName + "@" + user.UserPass + "@" + DateTime.Now.ToString("yyyy-MM-dd HH:mm")); return strPCCode; }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.AddHeader("Access-Control-Allow-Origin", "*"); context.Response.AddHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,DELETE"); //支持的http 动作 context.Response.AddHeader("Access-Control-Allow-Headers", "Accept, Origin, Content-type,authorization"); context.Response.AddHeader("Access-Control-Allow-Credentials", "true"); context.Response.AddHeader("pragma", "no-cache"); context.Response.AddHeader("cache-control", ""); context.Response.CacheControl = "no-cache"; string strAction = context.Request["Action"] ?? ""; string P1 = context.Request["P1"] ?? ""; string P2 = context.Request["P2"] ?? ""; string P3 = context.Request["P3"] ?? ""; string UserName = context.Request["UserName"] ?? ""; string szhlcode = context.Request["szhlcode"] ?? ""; //string cook = context.Request.Cookies["szhlcode"].Value; string authcode = context.Request.Headers["Authorization"] ?? ""; string strIP = CommonHelp.getIP(context); //用户IP int intTimeOut = 60; //用户超时间隔时间即szhlcode失效时间 Msg_Result Model = new Msg_Result() { Action = strAction.ToUpper(), ErrorMsg = "" }; if (!string.IsNullOrEmpty(strAction)) { try { string strCheckString = new CommonHelp().checkconetst(context); if (strCheckString != "") { Model.ErrorMsg = strAction + "有敏感字符串"; new JH_Auth_LogB().InsertLog(strAction, Model.ErrorMsg, strCheckString, UserName, "", 0, strIP); } else { #region 必须登录执行接口 Model.ErrorMsg = ""; var bl = true; var acs = Model.Action.Split('_'); if (Model.Action.IndexOf("_") > 0) { if (acs[0].ToUpper() == "Commanage".ToUpper()) { bl = false; var container = ServiceContainerV.Current().Resolve <IWsService>(acs[0].ToUpper());// Model.Action = acs[1]; container.ProcessRequest(context, ref Model, P1.TrimEnd(), P2.TrimEnd(), new JH_Auth_UserB.UserInfo()); int cid = 0; string un = string.Empty; if (Model.Result4 != null) { JH_Auth_User UserInfo = Model.Result4; cid = UserInfo.ComId.Value; un = UserInfo.UserRealName; } } } if (bl) { if (szhlcode != "")//如果存在TOKEN,根据TOKEN找到用户信息,并根据权限执行具体ACTION { //通过Code获取用户名,然后执行接口方法 var container = ServiceContainerV.Current().Resolve <IWsService>(acs[0].ToUpper()); JH_Auth_UserB.UserInfo UserInfo = new JH_Auth_UserB().GetUserInfo(szhlcode); if (UserInfo.User != null) { if (UserInfo.User.logindate == null) { UserInfo.User.logindate = DateTime.Now; } TimeSpan ts = new TimeSpan(UserInfo.User.logindate.Value.Ticks).Subtract(new TimeSpan(DateTime.Now.Ticks)).Duration(); if (ts.TotalMinutes > intTimeOut) // 超过五分钟了,超时了哦; { UserInfo.User.pccode = ""; new JH_Auth_UserB().Update(UserInfo.User);//清除PCCode Model.ErrorMsg = "WXTIMEOUT"; } else { Model.Action = Model.Action.Substring(acs[0].Length + 1); container.ProcessRequest(context, ref Model, P1.TrimEnd(), P2.TrimEnd(), UserInfo); new JH_Auth_LogB().InsertLog(Model.Action, "调用接口", context.Request.Url.AbsoluteUri, UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, strIP); new JH_Auth_UserB().UpdateloginDate(UserInfo.User.ComId.Value, UserInfo.User.UserName);//更新用户最近的操作时间 } } else { Model.ErrorMsg = "NOSESSIONCODE"; } } else { Model.ErrorMsg = "NOSESSIONCODE"; } } #endregion } } catch (Exception ex) { Model.ErrorMsg = strAction + "接口调用失败,请检查日志"; Model.Result = ex.ToString(); new JH_Auth_LogB().InsertLog(strAction, Model.ErrorMsg + ex.StackTrace.ToString(), ex.ToString(), UserName, "", 0, strIP); } } string jsonpcallback = context.Request["jsonpcallback"] ?? ""; IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; string Result = JsonConvert.SerializeObject(Model, Formatting.Indented, timeConverter).Replace("null", "\"\""); if (jsonpcallback != "") { Result = jsonpcallback + "(" + Result + ")";//支持跨域 } context.Response.Write(Result); }
public void SAVEIMPORTUSER(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { string branchMsg = "", branchErrorMsg = "", userMsg = ""; int i = 0, j = 0; DataTable dt = new DataTable(); dt = JsonConvert.DeserializeObject <DataTable>(P1); dt.Columns.Add("BranchCode"); JH_Auth_Branch branchroot = new JH_Auth_BranchB().GetEntity(d => d.ComId == UserInfo.User.ComId && d.DeptRoot == -1); foreach (DataRow row in dt.Rows) { int bRootid = branchroot.DeptCode; string branchName = row[4].ToString(); if (branchName != "") { string[] branchNames = branchName.Split('/'); string strBranch = branchNames[0]; JH_Auth_Branch branchModel = new JH_Auth_BranchB().GetEntity(d => d.DeptName == strBranch && d.ComId == UserInfo.User.ComId); if (branchModel == null) { branchModel = new JH_Auth_Branch(); branchModel.DeptName = branchNames[0]; branchModel.DeptDesc = branchNames[0]; branchModel.ComId = UserInfo.User.ComId; branchModel.DeptRoot = bRootid; branchModel.CRDate = DateTime.Now; branchModel.CRUser = UserInfo.User.UserName; new JH_Auth_BranchB().Insert(branchModel); branchModel.Remark1 = new JH_Auth_BranchB().GetBranchNo(UserInfo.User.ComId.Value, branchModel.DeptRoot) + branchModel.DeptCode; new JH_Auth_BranchB().Update(branchModel); } } } int rowIndex = 0; foreach (DataRow row in dt.Rows) { rowIndex++; string branchName = row[4].ToString(); if (branchName != "") { string[] branchNames = branchName.Split('/'); string strPBranch = branchNames[0]; JH_Auth_Branch PbranchModel = new JH_Auth_BranchB().GetEntity(d => d.DeptName == strPBranch && d.ComId == UserInfo.User.ComId); int bRootid = PbranchModel.DeptCode; for (int l = 1; l < branchNames.Length; l++) { string strBranch = branchNames[1]; JH_Auth_Branch branchModel = new JH_Auth_BranchB().GetEntity(d => d.DeptName == strBranch && d.DeptRoot == PbranchModel.DeptCode && d.ComId == UserInfo.User.ComId); if (branchModel != null) { bRootid = branchModel.DeptCode; if (l == branchNames.Length - 1) { row["BranchCode"] = branchModel.DeptCode; } } else { branchModel = new JH_Auth_Branch(); branchModel.DeptName = strBranch; branchModel.DeptDesc = strBranch; branchModel.ComId = UserInfo.User.ComId; branchModel.DeptRoot = bRootid; branchModel.CRDate = DateTime.Now; branchModel.CRUser = UserInfo.User.UserName; new JH_Auth_BranchB().Insert(branchModel); branchModel.Remark1 = new JH_Auth_BranchB().GetBranchNo(UserInfo.User.ComId.Value, branchModel.DeptRoot) + branchModel.DeptCode; new JH_Auth_BranchB().Update(branchModel); try { bRootid = branchModel.DeptCode; if (l == branchNames.Length - 1) { row["BranchCode"] = branchModel.DeptCode; } i++; branchMsg += "新增部门“" + strBranch + "”成功<br/>"; } catch (Exception ex) { branchErrorMsg += "部门:" + strBranch + "失败 " + msg.ErrorMsg + "<br/>"; } } } string userName = row[2].ToString(); JH_Auth_User userModel = new JH_Auth_UserB().GetEntity(d => d.UserName == userName && d.ComId == UserInfo.User.ComId); if (userModel == null) { JH_Auth_User userNew = new JH_Auth_User(); if (row["BranchCode"].ToString() != "") { int tempcode = int.Parse(row["BranchCode"].ToString()); JH_Auth_Branch branchTemp = new JH_Auth_BranchB().GetEntity(d => d.DeptCode == tempcode && d.ComId == UserInfo.User.ComId); userNew.BranchCode = branchTemp.DeptCode; userNew.remark = branchTemp.Remark1.Split('-')[0]; } else { userNew.BranchCode = bRootid; } userNew.ComId = UserInfo.User.ComId; userNew.IsUse = "Y"; userNew.mailbox = row[3].ToString(); userNew.mobphone = row[2].ToString(); userNew.RoomCode = row[7].ToString(); userNew.Sex = row[1].ToString(); userNew.telphone = row[9].ToString(); DateTime result; if (DateTime.TryParse(row[10].ToString(), out result)) { userNew.Birthday = result; } userNew.UserGW = row[6].ToString(); userNew.UserName = row[2].ToString(); userNew.UserRealName = row[0].ToString(); userNew.zhiwu = row[5].ToString() == "" ? "员工" : row[5].ToString(); userNew.UserPass = CommonHelp.GetMD5(P2); userNew.CRDate = DateTime.Now; userNew.CRUser = UserInfo.User.UserName; if (!string.IsNullOrEmpty(row[8].ToString())) { int orderNum = 0; int.TryParse(row[8].ToString(), out orderNum); userNew.UserOrder = orderNum; } try { msg.ErrorMsg = ""; if (string.IsNullOrEmpty(userNew.UserName)) { msg.ErrorMsg = "用户名必填"; } //Regex regexPhone = new Regex("^0?1[3|4|5|8|7][0-9]\\d{8}$"); //if (!regexPhone.IsMatch(userNew.UserName)) //{ // msg.ErrorMsg = "用户名必须为手机号"; //} if (string.IsNullOrEmpty(userNew.mobphone)) { msg.ErrorMsg = "手机号必填"; } //if (!regexPhone.IsMatch(userNew.mobphone)) //{ // msg.ErrorMsg = "手机号填写不正确"; //} Regex regexOrder = new Regex("^[0-9]*$"); if (userNew.UserOrder != null && !regexOrder.IsMatch(userNew.UserOrder.ToString())) { msg.ErrorMsg = "序号必须是数字"; } if (msg.ErrorMsg != "") { userMsg += "第" + rowIndex + "行" + msg.ErrorMsg + "<br/>"; } if (msg.ErrorMsg == "") { new JH_Auth_UserB().Insert(userNew); JH_Auth_Role role = new JH_Auth_RoleB().GetEntity(d => d.RoleName == userNew.zhiwu && d.ComId == UserInfo.User.ComId); if (role == null) { role = new JH_Auth_Role(); role.PRoleCode = 0; role.RoleName = userNew.zhiwu; role.RoleDec = userNew.zhiwu; role.IsUse = "Y"; role.isSysRole = "N"; role.leve = 0; role.ComId = UserInfo.User.ComId; role.DisplayOrder = 0; new JH_Auth_RoleB().Insert(role); } string strSql = string.Format("INSERT into JH_Auth_UserRole (UserName,RoleCode,ComId) Values('{0}',{1},{2})", userNew.UserName, role.RoleCode, UserInfo.User.ComId); new JH_Auth_RoleB().ExsSql(strSql); string isFS = context.Request["issend"] ?? ""; if (isFS.ToLower() == "true") { string content = string.Format("尊敬的" + userNew.UserName + "用户您好:你已被添加到" + UserInfo.QYinfo.QYName + ",账号:" + userNew.mobphone + ",密码" + P2 + ",登录请访问" + UserInfo.QYinfo.WXUrl); new SZHL_DXGLB().SendSMS(userNew.mobphone, content, userNew.ComId.Value); } j++; } } catch (Exception ex) { userMsg += "第" + rowIndex + "行" + msg.ErrorMsg + "<br/>"; } } else { userMsg += "第" + rowIndex + "行" + "用户“" + row[2].ToString() + "”已存在<br/>"; } } else { branchErrorMsg += "第" + rowIndex + "行所在部门必填<br/>"; } } msg.Result = branchErrorMsg + "<br/>" + userMsg; msg.Result1 = "新增部门" + i + "个,新增用户" + j + "个<br/>" + branchMsg + (branchMsg == "" ? "" : "<br/>"); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.AddHeader("pragma", "no-cache"); context.Response.AddHeader("cache-control", ""); context.Response.CacheControl = "no-cache"; string strAction = context.Request["Action"] ?? ""; string UserName = context.Request["UserName"] ?? ""; string strIP = CommonHelp.getIP(context); Msg_Result Model = new Msg_Result() { Action = strAction.ToUpper(), ErrorMsg = "" }; if (!string.IsNullOrEmpty(strAction)) { #region 企业号应用callback if (strAction == "XXJS") { String strCorpID = context.Request["corpid"] ?? ""; string strCode = context.Request["Code"] ?? ""; try { JH_Auth_QY jaq = new JH_Auth_QYB().GetALLEntities().FirstOrDefault(); JH_Auth_Model jam = new JH_Auth_ModelB().GetEntity(p => p.ModelCode == strCode); //if (jaq != null && jam != null && !string.IsNullOrEmpty(jam.TJId)) if (jaq != null && jam != null) { #region POST if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST") { string signature = HttpContext.Current.Request.QueryString["msg_signature"];//企业号的 msg_signature string timestamp = HttpContext.Current.Request.QueryString["timestamp"]; string nonce = HttpContext.Current.Request.QueryString["nonce"]; // 获得客户端RAW HttpRequest StreamReader srResult = new StreamReader(context.Request.InputStream); string str = srResult.ReadToEnd(); XmlDocument XmlDocument = new XmlDocument(); XmlDocument.LoadXml(HttpContext.Current.Server.UrlDecode(str)); string ToUserName = string.Empty; string strde = string.Empty; string msgtype = string.Empty;//微信响应类型 foreach (XmlNode xn in XmlDocument.ChildNodes[0].ChildNodes) { if (xn.Name == "ToUserName") { ToUserName = xn.InnerText; } } var pj = new JH_Auth_WXPJB().GetEntity(p => p.TJID == jam.TJId); Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(pj.Token, pj.EncodingAESKey, ToUserName); int n = wxcpt.DecryptMsg(signature, timestamp, nonce, str, ref strde); XmlDocument XmlDocument1 = new XmlDocument(); XmlDocument1.LoadXml(HttpContext.Current.Server.UrlDecode(strde)); foreach (XmlNode xn1 in XmlDocument1.ChildNodes[0].ChildNodes) { if (xn1.Name == "MsgType") { msgtype = xn1.InnerText; } //CommonHelp.WriteLOG(XmlDocument1.OuterXml); } if (msgtype == "event")//处理事件 { //需要处理进入应用的菜单更改事件 string strEvent = XmlDocument1.ChildNodes[0]["Event"].InnerText; string strUserName = XmlDocument1.ChildNodes[0]["FromUserName"].InnerText; string strAgentID = XmlDocument1.ChildNodes[0]["AgentID"].InnerText; string strEventKey = XmlDocument1.ChildNodes[0]["EventKey"].InnerText; if (strEvent.ToLower() == "enter_agent" || strEvent.ToLower() == "view") { //进入应用和点击菜单 //JH_Auth_User jau = new JH_Auth_UserB().GetEntity(p => p.ComId == jaq.ComId && p.UserName == strUserName); //JH_Auth_QY_Model jhqm = new JH_Auth_QY_ModelB().GetEntity(p => p.ComId == jaq.ComId && p.AgentId == strAgentID); //if (jau != null && jhqm != null) //{ // JH_Auth_YYLog jay = new JH_Auth_YYLog(); // jay.ComId = jaq.ComId; // jay.AgentID = strAgentID; // jay.CorpID = strCorpID; // jay.CRDate = DateTime.Now; // jay.CRUser = strUserName; // jay.Event = strEvent; // jay.EventKey = strEventKey; // jay.ModelCode = strCode; // jay.ModelID = jhqm.ModelID; // jay.QYName = jaq.QYName; // jay.TJID = jam.TJId; // jay.Type = msgtype; // jay.UserName = strUserName; // jay.UserRealName = jau.UserRealName; // new JH_Auth_YYLogB().Insert(jay); // if (strEvent.ToLower() == "enter_agent") // { // var jays = new JH_Auth_YYLogB().GetEntities(p => p.ComId == jaq.ComId && p.Event == "enter_agent" && p.AgentID == strAgentID && p.CRUser == strUserName); // if (jays.Count() <= 1) // { // } // } //} } } if (new List <string> { "text", "image", "voice", "video", "shortvideo", "link" }.Contains(msgtype)) //处理消息事件 { if (XmlDocument1.ChildNodes.Count > 0) { JH_Auth_WXMSG wxmsgModel = new JH_Auth_WXMSG(); wxmsgModel.AgentID = int.Parse(XmlDocument1.ChildNodes[0]["AgentID"].InnerText); wxmsgModel.ComId = jaq.ComId; wxmsgModel.ToUserName = XmlDocument1.ChildNodes[0]["ToUserName"].InnerText; wxmsgModel.FromUserName = XmlDocument1.ChildNodes[0]["FromUserName"].InnerText; wxmsgModel.CRDate = DateTime.Now; wxmsgModel.CRUser = XmlDocument1.ChildNodes[0]["FromUserName"].InnerText; wxmsgModel.MsgId = XmlDocument1.ChildNodes[0]["MsgId"].InnerText; wxmsgModel.MsgType = msgtype; wxmsgModel.ModeCode = strCode; wxmsgModel.Tags = "微信收藏"; switch (msgtype) { case "text": wxmsgModel.MsgContent = XmlDocument1.ChildNodes[0]["Content"].InnerText; break; case "image": wxmsgModel.PicUrl = XmlDocument1.ChildNodes[0]["PicUrl"].InnerText; wxmsgModel.MediaId = XmlDocument1.ChildNodes[0]["MediaId"].InnerText; break; case "voice": wxmsgModel.MediaId = XmlDocument1.ChildNodes[0]["MediaId"].InnerText; wxmsgModel.Format = XmlDocument1.ChildNodes[0]["Format"].InnerText; break; case "video": wxmsgModel.MediaId = XmlDocument1.ChildNodes[0]["MediaId"].InnerText; wxmsgModel.ThumbMediaId = XmlDocument1.ChildNodes[0]["ThumbMediaId"].InnerText; break; case "shortvideo": wxmsgModel.MediaId = XmlDocument1.ChildNodes[0]["MediaId"].InnerText; wxmsgModel.ThumbMediaId = XmlDocument1.ChildNodes[0]["ThumbMediaId"].InnerText; break; case "link": wxmsgModel.Description = XmlDocument1.ChildNodes[0]["Description"].InnerText; wxmsgModel.Title = XmlDocument1.ChildNodes[0]["Title"].InnerText; wxmsgModel.URL = XmlDocument1.ChildNodes[0]["Url"].InnerText; wxmsgModel.PicUrl = XmlDocument1.ChildNodes[0]["PicUrl"].InnerText; break; } if (new List <string>() { "link", "text" }.Contains(msgtype)) { if (msgtype == "link") { var jaw = new JH_Auth_WXMSGB().GetEntity(p => p.ComId == jaq.ComId && p.MsgId == wxmsgModel.MsgId); if (jaw == null) { string strMedType = ".jpg"; JH_Auth_UserB.UserInfo UserInfo = new JH_Auth_UserB.UserInfo(); UserInfo = new JH_Auth_UserB().GetUserInfo(jaq.ComId, wxmsgModel.FromUserName); // string fileID = CommonHelp.ProcessWxIMGUrl(wxmsgModel.PicUrl, UserInfo, strMedType); //wxmsgModel.FileId = fileID; //new JH_Auth_WXMSGB().Insert(wxmsgModel); //if (strCode == "TSSQ") //{ // SZHL_TXSX tx1 = new SZHL_TXSX(); // tx1.ComId = jaq.ComId; // tx1.APIName = "TSSQ"; // tx1.MsgID = wxmsgModel.ID.ToString(); // tx1.FunName = "SENDWXMSG"; // tx1.Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); // tx1.CRUser = wxmsgModel.CRUser; // tx1.CRDate = DateTime.Now; // TXSX.TXSXAPI.AddALERT(tx1); //时间为发送时间 //} } } else { new JH_Auth_WXMSGB().Insert(wxmsgModel); } } if (!string.IsNullOrEmpty(wxmsgModel.MediaId)) { var jaw = new JH_Auth_WXMSGB().GetEntity(p => p.ComId == jaq.ComId && p.MediaId == wxmsgModel.MediaId); if (jaw == null) { string strMedType = ".jpg"; if (strCode == "QYWD" || strCode == "CRM") //判断模块 { if (msgtype == "shortvideo" || msgtype == "video") //视频,小视频 { strMedType = ".mp4"; } if (new List <string>() { "image", "shortvideo", "video", "voice" }.Contains(msgtype)) //下载到本地服务器 { JH_Auth_UserB.UserInfo UserInfo = new JH_Auth_UserB.UserInfo(); UserInfo = new JH_Auth_UserB().GetUserInfo(jaq.ComId, wxmsgModel.FromUserName); // string fileID = CommonHelp.ProcessWxIMG(wxmsgModel.MediaId, strCode, UserInfo, strMedType); // wxmsgModel.FileId = fileID; // new JH_Auth_WXMSGB().Insert(wxmsgModel); } } } } } } } #endregion #region GET if (HttpContext.Current.Request.HttpMethod.ToUpper() == "GET") { Auth(jam.Token, jam.EncodingAESKey, jaq.corpId); } #endregion } } catch (Exception ex) { Model.ErrorMsg = ex.ToString(); CommonHelp.WriteLOG(ex.ToString()); } } #endregion #region 企业会话 if (strAction == "QYIM") { if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST") { string corpId = context.Request["corpid"] ?? ""; try { JH_Auth_QY jaq = new JH_Auth_QYB().GetEntity(p => p.corpId == corpId); if (jaq != null) { string signature = HttpContext.Current.Request.QueryString["msg_signature"];//企业号的 msg_signature string timestamp = HttpContext.Current.Request.QueryString["timestamp"]; string nonce = HttpContext.Current.Request.QueryString["nonce"]; // 获得客户端RAW HttpRequest StreamReader srResult = new StreamReader(context.Request.InputStream); string str = srResult.ReadToEnd(); string strde = string.Empty; var pj = new JH_Auth_WXPJB().GetEntity(p => p.TJID == "tj7882b1f8bc56f05f"); Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(pj.Token, pj.EncodingAESKey, corpId); wxcpt.DecryptMsg(signature, timestamp, nonce, str, ref strde); //string strde = HttpContext.Current.Request.QueryString[0]; XmlDocument XmlDocument = new XmlDocument(); XmlDocument.LoadXml(HttpContext.Current.Server.UrlDecode(strde)); string AgentType = string.Empty; string ToUserName = string.Empty; string ItemCount = string.Empty; string PackageId = string.Empty; string Item = string.Empty; #region XML文档处理 foreach (XmlNode xn in XmlDocument.ChildNodes[0].ChildNodes) { if (xn.Name == "AgentType") { AgentType = xn.InnerText; } if (xn.Name == "ToUserName") { ToUserName = xn.InnerText; } if (xn.Name == "ItemCount") { ItemCount = xn.InnerText; } if (xn.Name == "PackageId") { PackageId = xn.InnerText; } if (xn.Name == "Item") { Item += xn.InnerXml; string MsgType = xn.ChildNodes[2].InnerText; if (MsgType == "event") { } else if (new List <string> { "text", "image", "voice", "file", "link" }.Contains(MsgType)) { #region 内容处理 #endregion } } } #endregion HttpContext.Current.Response.Write(PackageId); HttpContext.Current.Response.End(); } } catch (Exception ex) { CommonHelp.WriteLOG("QYIM:" + ex.ToString() + "\r\n" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } } } #endregion #region 获取唯一code if (strAction.ToUpper() == "GetUserCodeByCode".ToUpper()) { #region 获取Code Model.ErrorMsg = "获取Code错误,请重试"; string strCode = context.Request["code"] ?? ""; string strCorpID = context.Request["corpid"] ?? ""; string strModelCode = context.Request["funcode"] ?? ""; if (!string.IsNullOrEmpty(strCode)) { var qy = new JH_Auth_QYB().GetEntity(p => p.corpId == strCorpID); if (qy != null) { try { //通过微信接口获取用户名 WXHelp wx = new WXHelp(qy); string username = wx.GetUserDataByCode(strCode, strModelCode); if (!string.IsNullOrEmpty(username)) { var jau = new JH_Auth_UserB().GetUserByUserName(qy.ComId, username); if (jau != null) { //如果PCCode为空或者超过60分钟没操作,统统重新生成PCCode,并更新最新操作时间 if (jau.logindate == null) { jau.logindate = DateTime.Now; } TimeSpan ts = new TimeSpan(jau.logindate.Value.Ticks).Subtract(new TimeSpan(DateTime.Now.Ticks)).Duration(); if (string.IsNullOrEmpty(jau.pccode) || ts.TotalMinutes > 60) { string strGuid = CommonHelp.CreatePCCode(jau); jau.pccode = strGuid; jau.logindate = DateTime.Now; new JH_Auth_UserB().Update(jau); } Model.ErrorMsg = ""; Model.Result = jau.pccode; Model.Result1 = jau.UserName; Model.Result2 = ts.TotalMinutes; Model.Result3 = qy.FileServerUrl; } } else { Model.ErrorMsg = "当前用户不存在"; } } catch (Exception ex) { Model.ErrorMsg = ex.ToString(); } } else { Model.ErrorMsg = "当前企业号未在电脑端注册"; } } else { Model.ErrorMsg = "Code为空"; } #endregion } #endregion #region 是否存在 if (strAction.ToUpper() == "isexist".ToUpper()) { if (context.Request["szhlcode"] != null) { //通过Cookies获取Code //string szhlcode = "5ab470be-4988-4bb3-9658-050481b98fca"; string szhlcode = context.Request["szhlcode"].ToString(); //通过Code获取用户名,然后执行接口方法 var jau = new JH_Auth_UserB().GetUserByPCCode(szhlcode); if (jau == null) { Model.Result = "NOCODE"; } } } #endregion #region 发送提醒 if (strAction.ToUpper() == "AUTOALERT") { TXSX.TXSXAPI.AUTOALERT(); } if (strAction.ToUpper() == "LOGIN") { string password = context.Request["password"] ?? ""; string username = context.Request["UserName"] ?? ""; string chkcode = context.Request["chkcode"] ?? ""; Model.ErrorMsg = ""; if (chkcode.ToUpper() != "APP") { if (context.Session["chkcode"] != null) { if (!chkcode.ToUpper().Equals(context.Session["chkcode"].ToString())) { Model.ErrorMsg = "验证码不正确"; } } else { Model.ErrorMsg = "验证码已过期"; } } JH_Auth_QY qyModel = new JH_Auth_QYB().GetALLEntities().First(); password = CommonHelp.GetMD5(password); JH_Auth_User userInfo = new JH_Auth_User(); List <JH_Auth_User> userList = new JH_Auth_UserB().GetEntities(d => (d.UserName == username || d.mobphone == username) && d.UserPass == password).ToList(); if (userList.Count() == 0) { Model.ErrorMsg = "用户名或密码不正确"; } else { userInfo = userList[0]; if (userInfo.IsUse != "Y") { Model.ErrorMsg = "用户被禁用,请联系管理员"; } if (Model.ErrorMsg == "") { if (string.IsNullOrEmpty(userInfo.pccode)) { userInfo.pccode = CommonHelp.CreatePCCode(userInfo); } userInfo.logindate = DateTime.Now; new JH_Auth_UserB().Update(userInfo); Model.Result = userInfo.pccode; Model.Result1 = userInfo.UserName; Model.Result2 = qyModel.FileServerUrl; Model.Result4 = userInfo; } } } #endregion } else { #region 获取SuiteTicket if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST") { string signature = HttpContext.Current.Request.QueryString["msg_signature"];//企业号的 msg_signature string timestamp = HttpContext.Current.Request.QueryString["timestamp"]; string nonce = HttpContext.Current.Request.QueryString["nonce"]; // 获得客户端RAW HttpRequest StreamReader srResult = new StreamReader(context.Request.InputStream); string str = srResult.ReadToEnd(); XmlDocument XmlDocument = new XmlDocument(); XmlDocument.LoadXml(HttpContext.Current.Server.UrlDecode(str)); string ToUserName = string.Empty; string Encrypt = string.Empty; string strde = string.Empty; string strinfotype = string.Empty; foreach (XmlNode xn in XmlDocument.ChildNodes[0].ChildNodes) { if (xn.Name == "ToUserName") { ToUserName = xn.InnerText; } if (xn.Name == "Encrypt") { Encrypt = xn.InnerText; } } var pj = new JH_Auth_WXPJB().GetEntity(p => p.TJID == ToUserName); Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(pj.Token, pj.EncodingAESKey, ToUserName); int n = wxcpt.DecryptMsg(signature, timestamp, nonce, str, ref strde); string strtct = string.Empty; string strSuiteId = string.Empty; string strtAuthCorpId = string.Empty; XmlDocument XmlDocument1 = new XmlDocument(); XmlDocument1.LoadXml(HttpContext.Current.Server.UrlDecode(strde)); foreach (XmlNode xn1 in XmlDocument1.ChildNodes[0].ChildNodes) { if (xn1.Name == "SuiteId") { strSuiteId = xn1.InnerText; } if (xn1.Name == "SuiteTicket") { strtct = xn1.InnerText; } if (xn1.Name == "InfoType") { strinfotype = xn1.InnerText; } if (xn1.Name == "AuthCorpId") { strtAuthCorpId = xn1.InnerText; } } if (strinfotype == "suite_ticket") { pj.Ticket = strtct; new JH_Auth_WXPJB().Update(pj); } HttpContext.Current.Response.Write("success"); HttpContext.Current.Response.End(); } #endregion } IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; string Result = JsonConvert.SerializeObject(Model, Newtonsoft.Json.Formatting.Indented, timeConverter).Replace("null", "\"\""); context.Response.Write(Result); }
/// <summary> /// 生成PCCode /// </summary> /// <param name="UserName"></param> /// <returns></returns> public static string CreatePCCode(JH_Auth_User user) { string strPCCode = EncrpytHelper.Encrypt(user.UserName + user.UserPass + DateTime.Now.ToString("yyyy-MM-dd HH:mm")).Replace("+", "").Replace("=", ""); return(strPCCode); }
/// <summary> /// 绑定手机、姓名、身份证、专卖许可证 /// </summary> public void BINDTOMONOLICENSE(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { JH_Auth_User j = JsonConvert.DeserializeObject <JH_Auth_User>(P1); if (j == null) { msg.ErrorMsg = "绑定失败"; return; } if (string.IsNullOrWhiteSpace(j.UserRealName.Trim())) { msg.ErrorMsg = "姓名不能为空"; return; } if (string.IsNullOrWhiteSpace(j.mobphone.Trim())) { msg.ErrorMsg = "手机号不能为空"; return; } if (string.IsNullOrWhiteSpace(j.IDCard.Trim())) { msg.ErrorMsg = "身份证号不能为空"; return; } if (string.IsNullOrWhiteSpace(j.ToMonoLicense.Trim())) { msg.ErrorMsg = "专卖许可证号不能为空"; return; } string _openid = CommonHelp.GetCookieString("openid"); WX_User u = new WX_UserB().GetEntity(d => d.Openid == _openid); msg.Result = u; if (u != null) { JH_Auth_User localuser = new JH_Auth_UserB().GetEntity(d => d.mobphone == j.mobphone.Trim()); if (localuser == null) { new JH_Auth_UserB().ExsSql("update JH_Auth_User set WXopenid='', IsWX=0, IDCard='',ToMonoLicense='' where WXopenid='" + _openid + "'");//清除以前绑定的用户 //新用户,随机生成 localuser = new JH_Auth_User(); localuser.UserName = "******" + Guid.NewGuid().ToString().Replace("-", "").Substring(0, 16); localuser.UserRealName = j.UserRealName.Trim(); localuser.UserPass = CommonHelp.GetMD5("a123456"); localuser.pccode = EncrpytHelper.Encrypt(localuser.UserName + "@" + localuser.UserPass + "@" + DateTime.Now.ToString("yyyy-MM-dd HH:mm")); localuser.ComId = 10334; localuser.Sex = u.Sex; localuser.mobphone = j.mobphone.Trim(); localuser.BranchCode = 0; localuser.CRDate = localuser.logindate = DateTime.Now; localuser.CRUser = "******"; localuser.IsUse = "Y"; localuser.IsWX = 1; localuser.WXopenid = _openid; localuser.weixinCard = j.weixinCard.Trim(); localuser.IDCard = j.IDCard.Trim(); localuser.ToMonoLicense = j.ToMonoLicense.Trim(); new JH_Auth_UserB().Insert(localuser); WXFWHelp.UpdateCookieAfterSignIn(localuser); msg.Result = localuser; //msg.ErrorMsg = "手机号不存在,请联系管理员"; return; } else { //老用户 if (localuser.UserRealName == j.UserRealName.Trim()) { new JH_Auth_UserB().ExsSql("update JH_Auth_User set WXopenid='', IsWX=0, IDCard='',ToMonoLicense='' where WXopenid='" + _openid + "'");//清除以前绑定的用户 localuser.WXopenid = _openid; localuser.IsWX = 1; localuser.weixinCard = j.weixinCard.Trim(); //localuser.pccode = EncrpytHelper.Encrypt(localuser.UserName + "@" + localuser.UserPass + "@" + DateTime.Now.ToString("yyyy-MM-dd HH:mm")); localuser.logindate = DateTime.Now; localuser.IDCard = j.IDCard.Trim(); localuser.ToMonoLicense = j.ToMonoLicense.Trim(); new JH_Auth_UserB().Update(localuser);//更新logindate,pccode不能更新 WXFWHelp.UpdateCookieAfterSignIn(localuser); msg.Result = localuser; } else { msg.ErrorMsg = "姓名与手机号不匹配"; return; } } } else { msg.ErrorMsg = "微信登录异常"; return; } }