yzh
2022-05-23 41ecad7e49a93c493832282b5ecd6c69f464b648
web/web/SysUser.ashx
@@ -1,5 +1,5 @@
<%@ WebHandler Language="C#" Class="SysUserHandler" %>
using Common;
using Dao;
using Model;
@@ -10,146 +10,177 @@
public class SysUserHandler : PageHandler<SysUser>
{
  private UserDao _Dao = new UserDao();
    private UserDao _Dao = new UserDao();
  public override JsonPageResult ProcessRequestInternal(PageContext<SysUser> context)
  {
    string @string = context.GetString("action");
    switch (@string)
    public override JsonPageResult ProcessRequestInternal(PageContext<SysUser> context)
    {
      case "saveUser":
        return this.SaveUser(context);
      case "loadUserList":
        return this.LoadUserList(context);
      case "deleteUser":
        return this.DeleteUser(context);
      case "loadUserInfo":
        return this.LoadUserInfo(context);
      case "loadUserMenuList":
        return this.LoadUserMenuList(context);
      case "updatePermission":
        return this.UpdatePermission(context);
      default:
        throw new Exception("Invalid Action=" + @string);
        string @string = context.GetString("action");
        switch (@string)
        {
            case "saveUser":
                return this.SaveUser(context);
            case "loadUserList":
                return this.LoadUserList(context);
            case "deleteUser":
                return this.DeleteUser(context);
            case "loadUserInfo":
                return this.LoadUserInfo(context);
            case "loadUserMenuList":
                return this.LoadUserMenuList(context);
            case "updatePermission":
                return this.UpdatePermission(context);
            case "updateStatus":
                return this.UpdateStatus(context);
            default:
                throw new Exception("Invalid Action=" + @string);
        }
    }
  }
  private JsonPageResult UpdatePermission(PageContext<SysUser> context)
  {
    context.CheckRight("1042", FailedOperation.PromptOnly);
    string @string = context.GetString("menuIDArray");
    int @int = context.GetInt("userid");
    string[] menuIDArray = JsonConvert.DeserializeObject<string[]>(@string);
    if (menuIDArray == null)
      throw new ArgumentException("菜单数据异常!");
    if (@int == 0)
      throw new ArgumentException("USERID参数异常!");
    this._Dao.UpdatePermission(@int, menuIDArray);
    return new JsonPageResult(true, (object) "保存权限成功!");
  }
  private JsonPageResult LoadUserList(PageContext<SysUser> context)
  {
    context.CheckRight("104", FailedOperation.PromptOnly);
    int recordCount = 0;
    int int1 = context.GetInt("pageSize", 20);
    int int2 = context.GetInt("pageIndex", 1);
    List<SysUser> list = this._Dao.LoadInfoList(out recordCount, int1, int2);
    list.ForEach((Action<SysUser>) (u => u.Password = ""));
    return new JsonPageResult(true, (object) new
    private JsonPageResult UpdatePermission(PageContext<SysUser> context)
    {
      Table = list,
      TotalCount = recordCount
    });
  }
  private JsonPageResult DeleteUser(PageContext<SysUser> context)
  {
    context.CheckRight("1044", FailedOperation.PromptOnly);
    int @int = context.GetInt("userid");
    if (@int == 1)
      throw new ArgumentException("系统默认账户不能删除!");
    this._Dao.Delete(@int);
    return new JsonPageResult(true, (object) "删除用户成功!");
  }
  private JsonPageResult LoadUserInfo(PageContext<SysUser> context)
  {
    context.CheckRight("104", FailedOperation.PromptOnly);
    return new JsonPageResult(true, (object) this._Dao.GetUserInfo(context.GetInt("userid")));
  }
  private JsonPageResult LoadUserMenuList(PageContext<SysUser> context)
  {
    context.CheckRight("104", FailedOperation.PromptOnly);
    return new JsonPageResult(true, (object) this._Dao.LoadUserMenuList(context.GetInt("userid")).Keys);
  }
  private JsonPageResult SaveUser(PageContext<SysUser> context)
  {
    int int1 = context.GetInt("userid");
    string string1 = context.GetString("account");
    string string2 = context.GetString("password");
    string string3 = context.GetString("email");
    string string4 = context.GetString("mobile");
    int int2 = context.GetInt("emailFlag");
    int int3 = context.GetInt("mobileFlag");
    int num = 0;
    if (string.IsNullOrEmpty(string1) || !Regex.IsMatch(string1, "\\w{3,}"))
      throw new ArgumentException("账户至少3位可见字符,请重新输入!");
    if (string.IsNullOrEmpty(string2) || string2.Length < 6)
      throw new ArgumentException("账户密码至少6位,请重新输入!");
    if (context.GetBoolean("isVerification"))
      num = 1;
    string string5 = context.GetString("clientIp");
    if (num == 1)
    {
      if (string.IsNullOrEmpty(string5))
        throw new ArgumentException("IP地址不能为空,请输入!");
      if (string.IsNullOrEmpty(string4.ToString()) || !Regex.IsMatch(string4, "1\\d{10}"))
        throw new ArgumentException("手机号码无效,请重新输入!");
        context.CheckRight("1042", FailedOperation.PromptOnly);
        string @string = context.GetString("menuIDArray");
        int @int = context.GetInt("userid");
        string[] menuIDArray = JsonConvert.DeserializeObject<string[]>(@string);
        if (menuIDArray == null)
            throw new ArgumentException("菜单数据异常!");
        if (@int == 0)
            throw new ArgumentException("USERID参数异常!");
        this._Dao.UpdatePermission(@int, menuIDArray);
        return new JsonPageResult(true, (object) "保存权限成功!");
    }
    if (!string.IsNullOrEmpty(string4.ToString()) && !Regex.IsMatch(string4, "1\\d{10}"))
      throw new ArgumentException("手机号码无效,请重新输入!");
    if (!string.IsNullOrEmpty(string3) && !Regex.IsMatch(string3, "^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+"))
      throw new ArgumentException("邮箱地址无效,请重新输入!");
    if ((int3 == 1 || int3 == 2 || (int3 == 3 || int3 == 4) || int3 == 5) && !Regex.IsMatch(string4, "1\\d{10}"))
      throw new ArgumentException("手机号码无效,请重新输入!");
    if ((int2 == 1 || int2 == 2 || (int2 == 3 || int2 == 4) || int2 == 5) && !Regex.IsMatch(string3, "^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+"))
      throw new ArgumentException("邮箱地址无效,请重新输入!");
    SysUser sysUser = new SysUser();
    sysUser.UserID = int1;
    sysUser.Account = string1;
    sysUser.CreateTime = DateTime.Now;
    if (int1 > 0)
    private JsonPageResult LoadUserList(PageContext<SysUser> context)
    {
      SysUser userInfo = this._Dao.GetUserInfo(int1);
      sysUser.Password = userInfo.Password == string2 ? userInfo.Password : DataHelper.MD5Hex(string2);
      sysUser.IsEncryption = userInfo.Password == string2 ? userInfo.IsEncryption : 1;
        context.CheckRight("104", FailedOperation.PromptOnly);
        int recordCount = 0;
        int int1 = context.GetInt("pageSize", 20);
        int int2 = context.GetInt("pageIndex", 1);
        List<SysUser> list = this._Dao.LoadInfoList(out recordCount, int1, int2);
        list.ForEach((Action<SysUser>) (u => u.Password = ""));
        return new JsonPageResult(true, (object) new
        {
            Table = list,
            TotalCount = recordCount
        });
    }
    else
    private JsonPageResult DeleteUser(PageContext<SysUser> context)
    {
      sysUser.Password = DataHelper.MD5Hex(string2);
      sysUser.IsEncryption = 1;
        context.CheckRight("1044", FailedOperation.PromptOnly);
        int @int = context.GetInt("userid");
        if (@int == 1)
            throw new ArgumentException("系统默认账户不能删除!");
        this._Dao.Delete(@int);
        return new JsonPageResult(true, (object) "删除用户成功!");
    }
    sysUser.Email = string3;
    sysUser.Mobile = string4;
    sysUser.MobileFlag = int3;
    sysUser.EmailFlag = int2;
    sysUser.IsVerification = num;
    sysUser.ClientIp = string5;
    if (int1 > 0)
    private JsonPageResult LoadUserInfo(PageContext<SysUser> context)
    {
      context.CheckRight("1042", FailedOperation.PromptOnly);
      this._Dao.Update(sysUser);
        context.CheckRight("104", FailedOperation.PromptOnly);
        return new JsonPageResult(true, (object) this._Dao.GetUserInfo(context.GetInt("userid")));
    }
    else
    private JsonPageResult LoadUserMenuList(PageContext<SysUser> context)
    {
      context.CheckRight("1041", FailedOperation.PromptOnly);
      if (this._Dao.Exists(string1))
        throw new ArgumentException("账户已经存在,请重新输入!");
      this._Dao.Add(sysUser);
        context.CheckRight("104", FailedOperation.PromptOnly);
        return new JsonPageResult(true, (object) this._Dao.LoadUserMenuList(context.GetInt("userid")).Keys);
    }
    return new JsonPageResult(true, (object) "账户保存成功!");
  }
    private JsonPageResult SaveUser(PageContext<SysUser> context)
    {
        int int1 = context.GetInt("userid");
        string string1 = context.GetString("account");
        string string2 = context.GetString("password");
        string userName = context.GetString("userName");
        string userType = context.GetString("userType");
        string string3 = context.GetString("email");
        string string4 = context.GetString("mobile");
        int int2 = context.GetInt("emailFlag");
        int int3 = context.GetInt("mobileFlag");
        int num = 0;
        if (string.IsNullOrEmpty(string1) || !Regex.IsMatch(string1, "\\w{3,}"))
            throw new ArgumentException("账户至少3位可见字符,请重新输入!");
        if (string.IsNullOrEmpty(string2) || string2.Length < 6)
            throw new ArgumentException("账户密码至少6位,请重新输入!");
        if (string.IsNullOrEmpty(userName))
            throw new ArgumentException("账户名称不能为空,请输入!");
        if (string.IsNullOrEmpty(userType))
            throw new ArgumentException("账户类型不能为空,请选择!");
        if (context.GetBoolean("isVerification"))
            num = 1;
        string string5 = context.GetString("clientIp");
        if (num == 1)
        {
            if (string.IsNullOrEmpty(string5))
                throw new ArgumentException("IP地址不能为空,请输入!");
            if (string.IsNullOrEmpty(string4.ToString()) || !Regex.IsMatch(string4, "1\\d{10}"))
                throw new ArgumentException("手机号码无效,请重新输入!");
        }
        if (!string.IsNullOrEmpty(string4.ToString()) && !Regex.IsMatch(string4, "1\\d{10}"))
            throw new ArgumentException("手机号码无效,请重新输入!");
        if (!string.IsNullOrEmpty(string3) && !Regex.IsMatch(string3, "^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+"))
            throw new ArgumentException("邮箱地址无效,请重新输入!");
        if ((int3 == 1 || int3 == 2 || (int3 == 3 || int3 == 4) || int3 == 5) && !Regex.IsMatch(string4, "1\\d{10}"))
            throw new ArgumentException("手机号码无效,请重新输入!");
        if ((int2 == 1 || int2 == 2 || (int2 == 3 || int2 == 4) || int2 == 5) && !Regex.IsMatch(string3, "^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+"))
            throw new ArgumentException("邮箱地址无效,请重新输入!");
        SysUser sysUser = new SysUser();
        sysUser.UserID = int1;
        sysUser.Account = string1;
        if (this._Dao.UserNameExists(userName, int1))
            throw new ArgumentException("账户名称已经存在,请重新输入!");
        sysUser.UserName = userName;
        sysUser.UserType = string.IsNullOrEmpty(userType) ? 0 : int.Parse(userType);
        sysUser.CreateTime = DateTime.Now;
        if (int1 > 0)
        {
            SysUser userInfo = this._Dao.GetUserInfo(int1);
            sysUser.Password = userInfo.Password == string2 ? userInfo.Password : DataHelper.MD5Hex(string2);
            sysUser.IsEncryption = userInfo.Password == string2 ? userInfo.IsEncryption : 1;
        }
        else
        {
            sysUser.Password = DataHelper.MD5Hex(string2);
            sysUser.IsEncryption = 1;
        }
        sysUser.Email = string3;
        sysUser.Mobile = string4;
        sysUser.MobileFlag = int3;
        sysUser.EmailFlag = int2;
        sysUser.IsVerification = num;
        sysUser.ClientIp = string5;
        if (int1 > 0)
        {
            context.CheckRight("1042", FailedOperation.PromptOnly);
            this._Dao.Update(sysUser);
        }
        else
        {
            context.CheckRight("1041", FailedOperation.PromptOnly);
            if (this._Dao.Exists(string1))
                throw new ArgumentException("账户已经存在,请重新输入!");
            this._Dao.Add(sysUser);
        }
        return new JsonPageResult(true, (object) "账户保存成功!");
    }
    //更新信息启用或停用
    private JsonPageResult UpdateStatus(PageContext<SysUser> context)
    {
        int userId = context.GetInt("userId");
        int status = context.GetInt("status");
        SysUser sysUser = new SysUser();
            sysUser.UserID = userId;
            sysUser.Status = status;
        this._Dao.UpdateStatus(sysUser);
        return new JsonPageResult(true, "更新信息状态成功!");
    }
}