软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

689 lines
26 KiB

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
{
/// <summary>
/// SysUserHandler 的摘要说明
/// </summary>
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<FangYar.Model.TBL.TBL_SYS_USERS_Model> 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<FangYar.Model.TBL.TBL_SYS_USERS_Model> 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;
}
}
}
}