using System; using System.Collections.Generic; using System.Linq; using System.Web; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.Text; using System.Web.Script.Serialization; using System.Web.Security; using System.Text.RegularExpressions; namespace FangYar.WebUI.ashx { /// /// SysUserHandler 的摘要说明 /// public class ZYSysUserHandler : IHttpHandler { string app = System.Configuration.ConfigurationManager.AppSettings["APP"]; private FangYar.BLL.TBL.SysUsersBLL bll = new BLL.TBL.SysUsersBLL(); private FangYar.BLL.TBL.SysOrgBLL orgbll = new BLL.TBL.SysOrgBLL(); private FangYar.BLL.FIRE.FIRE_ORG obll = new BLL.FIRE.FIRE_ORG(); public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; string action = context.Request.Params["Action"]; string returnstr = ""; switch (action) { case "List": returnstr = GetModelList(context); break; case "OrgModelList": returnstr = GetOrgModelList(context); break; case "Add": returnstr = AddModel(context); break; case "Edit": returnstr = EditModel(context); break; case "Del": returnstr = DelModel(context); break; case "UserInfo": returnstr = GetUserInfo(context); break; case "EditUserInfo": returnstr = EditUserInfo(context); break; case "ChangePwd": returnstr = ChangePwd(context); break; case "ChangePwd2": returnstr = ChangePwd2(context); break; case "OrgInfo": returnstr = GetOrgInfo(context); break; case "EditOrgInfo": returnstr = EditOrgInfo(context); break; case "UserInfo2": returnstr = GetUserInfo2(context); break; } context.Response.Write(returnstr); } private string GetModelList(HttpContext context) { string returnstr = ""; try { string keywords = context.Request.Params["keywords"]; string limit = context.Request.Params["limit"]; string page = context.Request.Params["page"]; int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(limit)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } string where = null; if (!string.IsNullOrEmpty(keywords)) { where = "USERS_UID like '" + keywords + "' or USERS_NAME like '" + keywords + "' "; } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.Count(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { List list = bll.QueryList(pageIndex, pageSize, where, null); returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]"; } return returnstr; } private string GetOrgModelList(HttpContext context) { string returnstr = ""; try { FangYar.Model.LoginUserModel user = FangYar.Common.UserHelper.GetUser(context); if (user != null) { string keywords = context.Request.Params["keywords"]; string limit = context.Request.Params["limit"]; string page = context.Request.Params["page"]; int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(limit)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } string where = " ORG_ID='" + user.OrgID + "'"; if (!string.IsNullOrEmpty(keywords)) { where = " and USERS_UID like '" + keywords + "' or USERS_NAME like '" + keywords + "' "; } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.Count(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { List list = bll.QueryList(pageIndex, pageSize, where, null); returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } else { returnstr = "{\"code\":-2,\"msg\":\"未登录或登录超时!\",\"count\":0,\"data\":[]}"; } } catch { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; } return returnstr; } private string AddModel(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { FangYar.Model.LoginUserModel user = FangYar.Common.UserHelper.GetUser(context); if (user != null) { string UsersUid = context.Request.Params["UsersUid"]; string UsersPwd = context.Request.Params["UsersPwd"]; string UsersName = context.Request.Params["UsersName"]; string UsersWeek = context.Request.Params["UsersWeek"]; string UsersTime = context.Request.Params["UsersTime"]; string UsersState = context.Request.Params["UsersState"]; string UsersEmail = context.Request.Params["UsersEmail"]; string UsersMobile = context.Request.Params["UsersMobile"]; string OrgID = context.Request.Params["OrgID"]; string IsThis = context.Request.Params["IsThis"]; if (string.IsNullOrEmpty(UsersUid)) { msg = "登录账户不能为空!"; } else if (UsersName.Length < 2) { msg = "姓名最少为2个字符!"; } else if (string.IsNullOrEmpty(UsersName)) { msg = "姓名不能为空!"; } else { FangYar.Model.TBL.TBL_SYS_USERS_Model model = new Model.TBL.TBL_SYS_USERS_Model(); model.USERS_UID = UsersUid; model.USERS_PWD = FangYar.Common.Md5.GetMD5String(UsersPwd); model.USERS_NAME = UsersName; model.USERS_WEEK = UsersWeek; model.USERS_TIME = UsersTime; model.USERS_STATE = UsersState; model.USERS_EMAIL = UsersEmail; model.USERS_MOBILE = UsersMobile; model.ORG_ID = user.OrgID; model.IS_THIS = IsThis; //Camp_Fire2.CwsClient cf = new Camp_Fire2.CwsClient(); FangYar.Model.FIRE.FIRE_ORG org = obll.GetModel(OrgID); //string flag = cf.insertUser(UsersUid, UsersPwd, OrgID, UsersName); //JObject Jflag = JObject.Parse(flag); //string datas = Jflag["data"].ToString(); //if (datas == "true") //{ if (bll.Add(model)) { msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } //} } } else { returnstr = "{\"code\":-2,\"msg\":\"登录超时\",\"count\":0,\"data\":[]}"; } } catch { msg = "添加失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; return returnstr; } private string EditModel(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { FangYar.Model.LoginUserModel user = FangYar.Common.UserHelper.GetUser(context); if (user != null) { string UsersUid = context.Request.Params["UsersUid"]; string UsersPwd = context.Request.Params["UsersPwd"]; string UsersName = context.Request.Params["UsersName"]; string UsersWeek = context.Request.Params["UsersWeek"]; string UsersTime = context.Request.Params["UsersTime"]; string UsersState = context.Request.Params["UsersState"]; string UsersEmail = context.Request.Params["UsersEmail"]; string UsersMobile = context.Request.Params["UsersMobile"]; string OrgID = context.Request.Params["OrgID"]; string IsThis = context.Request.Params["IsThis"]; if (string.IsNullOrEmpty(UsersUid)) { msg = "登录账户不能为空!"; } else if (UsersName.Length < 2) { msg = "姓名最少为2个字符!"; } else if (string.IsNullOrEmpty(UsersName)) { msg = "姓名不能为空!"; } FangYar.Model.TBL.TBL_SYS_USERS_Model model = bll.GetModelByUID(UsersUid); if (model == null) { msg = "用户记录不存在!"; } else { model.USERS_PWD = FangYar.Common.Md5.GetMD5String(UsersPwd); model.USERS_NAME = UsersName; model.USERS_WEEK = UsersWeek; model.USERS_TIME = UsersTime; model.USERS_STATE = UsersState; model.USERS_EMAIL = UsersEmail; model.USERS_MOBILE = UsersMobile; model.IS_THIS = IsThis; if (bll.Edit(model)) { msg = "修改成功!"; code = 1; } else { msg = "修改失败!"; } } } else { returnstr = "{\"code\":-2,\"msg\":\"登录超时\",\"count\":0,\"data\":[]}"; } } catch { msg = "修改失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; return returnstr; } private string DelModel(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string UIDList = context.Request.Params["UIDList"]; UIDList = UIDList.Replace(",", "','"); if (bll.Delete(UIDList)) { msg = "删除成功!"; code = 1; } else { msg = "删除失败!"; } } catch { msg = "删除失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; return returnstr; } private string GetUserInfo(HttpContext context) { string returnstr = ""; try { Model.LoginUserModel loginModel = FangYar.Common.UserHelper.GetUser(context); if (loginModel == null) { returnstr = "{\"code\":-2,\"msg\":\"未登录或登录超时!\",\"data\":[]}"; } else { Model.TBL.TBL_SYS_USERS_Model userModel = bll.GetModelByUID(loginModel.UserCode); if (userModel == null) { returnstr = "{\"code\":-1,\"msg\":\"无此用户信息!\",\"data\":[]}"; } else { returnstr = "{\"code\":1,\"msg\":\"获取信息成功!\",\"data\":"; returnstr += FangYar.Common.JsonHelper.ToJson(userModel); returnstr += "}"; } } } catch { returnstr = "{\"code\":-3,\"msg\":\"error\",\"data\":[]}"; } return returnstr; } private string EditUserInfo(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string UsersUid = context.Request.Params["UsersUid"]; string UsersName = context.Request.Params["UsersName"]; string UsersEmail = context.Request.Params["UsersEmail"]; string UsersMobile = context.Request.Params["UsersMobile"]; if (string.IsNullOrEmpty(UsersUid)) { msg = "登录账户不能为空!"; } else if (UsersName.Length < 2) { msg = "姓名最少为2个字符!"; } else if (string.IsNullOrEmpty(UsersName)) { msg = "姓名不能为空!"; } FangYar.Model.TBL.TBL_SYS_USERS_Model model = bll.GetModelByUID(UsersUid); if (model == null) { msg = "用户记录不存在!"; } else { model.USERS_NAME = UsersName; model.USERS_EMAIL = UsersEmail; model.USERS_MOBILE = UsersMobile; if (bll.Edit(model)) { msg = "修改成功!"; code = 1; } else { msg = "修改失败!"; } } } catch { msg = "修改失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; return returnstr; } private string ChangePwd(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string UsersUid = context.Request.Params["UsersUid"]; string oldPwd2 = context.Request.Params["oldPwd"]; string oldPwd = FangYar.Common.Md5.GetMD5String(oldPwd2); string newPwd = context.Request.Params["newPwd"]; FangYar.Model.TBL.TBL_SYS_USERS_Model model = bll.GetModelByUID(UsersUid); if (model == null) { msg = "用户记录不存在!"; } else if (model.USERS_PWD != oldPwd) { msg = "原密码输入不正确!"; } else { model.USERS_PWD = FangYar.Common.Md5.GetMD5String(newPwd); //Camp_Fire2.CwsClient cf = new Camp_Fire2.CwsClient(); //cf.updateUserPwd(UsersUid, newPwd); if (bll.ChangePwd(model)) { msg = "修改成功!"; code = 1; } else { msg = "修改失败!"; } } } catch { msg = "修改失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; return returnstr; } private string ChangePwd2(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string UsersUid = context.Request.Params["UsersUid"]; string newPwd = context.Request.Params["newPwd"]; FangYar.Model.TBL.TBL_SYS_USERS_Model model = bll.GetModelByUID(UsersUid); model.USERS_PWD = FangYar.Common.Md5.GetMD5String(newPwd); if (bll.ChangePwd(model)) { msg = "修改成功!"; code = 1; } else { msg = "修改失败!"; } } catch { msg = "修改失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; return returnstr; } private string GetOrgInfo(HttpContext context) { string returnstr = ""; try { Model.LoginUserModel loginModel = FangYar.Common.UserHelper.GetUser(context); if (loginModel == null) { returnstr = "{\"code\":-2,\"msg\":\"未登录或登录超时!\",\"data\":[]}"; } else { Model.TBL.TBL_SYS_ORG_Model userModel = orgbll.GetModelByID(loginModel.OrgID); if (userModel == null) { returnstr = "{\"code\":-1,\"msg\":\"无此机构信息!\",\"data\":[]}"; } else { returnstr = "{\"code\":1,\"msg\":\"获取信息成功!\",\"data\":"; returnstr += FangYar.Common.JsonHelper.ToJson(userModel); returnstr += "}"; } } } catch { returnstr = "{\"code\":-3,\"msg\":\"error\",\"data\":[]}"; } return returnstr; } //修改 private string EditOrgInfo(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ID = context.Request.Params["ID"]; string PID = context.Request.Params["PID"]; string orgCode = context.Request.Params["orgCode"]; string orgName = context.Request.Params["orgName"]; string orgAddr = context.Request.Params["orgAddr"]; string orgType = context.Request.Params["orgType"]; string orgPerson = context.Request.Params["orgPerson"]; string orgTel = context.Request.Params["orgTel"]; string idDel = context.Request.Params["idDel"]; string areaID = context.Request.Params["areaID"]; string areaIDs = context.Request.Params["areaIDs"]; if (string.IsNullOrEmpty(orgCode)) { msg = "编号不能为空!"; } else if (string.IsNullOrEmpty(orgName)) { msg = "名称不能为空!"; } else { FangYar.Model.TBL.TBL_SYS_ORG_Model model = orgbll.GetModelByID(ID); if (model == null) { msg = "记录不存在!"; } else { model.AREA_ID = areaID; model.AREA_IDS = areaIDs; model.IS_DEL = "0"; model.ORG_ADDR = orgAddr; model.ORG_CODE = orgCode; model.ORG_NAME = orgName; model.ORG_PERSON = orgPerson; model.ORG_TEL = orgTel; model.ORG_TYPE = orgType; model.PID = PID; if (orgbll.Edit(model)) { msg = "修改成功!"; code = 1; } else { msg = "修改失败!"; } } } } catch { msg = "修改失败!"; } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; return returnstr; } private string GetUserInfo2(HttpContext context) { string returnstr = ""; FangYar.Model.LoginUserModel buser = new Model.LoginUserModel(); try { string UsersUid = context.Request.Params["UsersUid"]; buser = bll.NewTrainEmpGetLoginUserModelByUID(UsersUid); if (buser != null) { if (buser.state == "0") { //获取用户角色 string rolesid = FangYar.BLL.CommomBLL.GetTableIDS("rules_id", "users_uid", "TBL_SYS_USERSRULES", " where users_uid='" + UsersUid + "' and app_id='" + app + "' and rules_type='2' "); buser.roles = rolesid; //获取用户权限 string rigths = FangYar.BLL.CommomBLL.GetTableIDS("PERM_VALUE", "app_id", "TBL_SYS_PERM", " where id in(select perm_id from TBL_SYS_ROLEPERM where ROLE_ID in('" + rolesid.Replace(",", "','") + "') and app_id='" + app + "' ) "); buser.rights = rigths; //获取用户区域 FangYar.Model.TBL.TBL_SYS_ORG_Model area = new BLL.TBL.SysOrgBLL().GetModelByID(buser.OrgID); if (area != null) { buser.AreaID = area.AREA_ID; } StringBuilder userdata = new StringBuilder(); new JavaScriptSerializer().Serialize(buser, userdata); //数据放入ticket FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, UsersUid, DateTime.Now, DateTime.Now.AddMinutes(720), true, userdata.ToString()); //数据加密 string enyTicket = FormsAuthentication.Encrypt(ticket); //将身份信息保存在cookie中,验证当前请求是否是有效请求 HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, enyTicket); HttpContext.Current.Response.Cookies.Add(cookie); ////营区政工需要的参数数据获取:员工ID+PWD+NAME、机构ID+NAME、部门ID+NAME、手机、民族、照片、学历、性别、政治面貌、职位 //FangYar.BLL.TBL.SysEmpBLL empbll = new BLL.TBL.SysEmpBLL(); //FangYar.Model.TBL.TBL_SYS_EMP_Model empModel = empbll.GetModelByUserID(buser.OrgID, UsersUid); //string returnData = "{\"usersUid\":\"" + UsersUid + "\",\"usersName\":\"" + buser.USERS_NAME + "\",\"IsAdmin\":\"" + buser.IsAdmin + "\",\"cityId\":\"" + buser.CityCode + "\",\"orgId\":\"" + buser.OrgID + "\",\"orgName\":\"" + buser.OrgName + "\",\"deptId\":\"" + buser.DeptID + "\",\"deptName\":\"" + buser.DeptName + "\",\"pid\":\"" + buser.Pid + "\",\"userMobile\":\"" + buser.USERS_MOBILE + "\",\"userSex\":\"" + empModel.EMP_SEX + "\",\"userNation\":\"" + empModel.NATION_NAME + "\",\"userFace\":\"" + empModel.FACE_NAME + "\",\"userCert\":\"" + empModel.CERT_NAME + "\",\"userProf\":\"" + empModel.PROF_NAME + "\",\"userPhoto\":\"" + empModel.PHOTO + "\",\"roles\":\"" + buser.roles + "\"}"; returnstr = "{\"code\":1,\"msg\":\"获取信息成功\",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser) + "}"; } else { returnstr = "{\"code\":-1,\"msg\":\"您的账户已锁定!请联系管理员!\"}"; } } else { returnstr = "{\"code\":0,\"msg\":\"无此用户信息\"}"; } } catch (Exception e) { var a = Regex.Replace(e.Message, @"\r", ""); var b = Regex.Replace(a, @"\n", ""); returnstr = "{\"code\":-3,\"msg\":\"error\",\"error\":\"" + b + "\"}"; } return returnstr; } public bool IsReusable { get { return false; } } } }