public ActionResult SaveSysUsrInfo([FromBody] SysUsrMstrDto dto) { try { var result = _sysUsrMstrService.SaveSysUsrInfo(dto); if (!result.IsSuccess) { return(Fail(result.msg)); } return(Success("保存成功")); } catch (Exception ex) { return(Fail(ex.Message)); } }
/// <summary> /// 保存员工信息 /// </summary> /// <param name="dto"></param> /// <returns></returns> public ReturnMsg SaveSysUsrInfo(SysUsrMstrDto dto) { var rm = new ReturnMsg(); var entity = new SysUsrMstr(); var isOk = CheckSysUsrInfo(dto, rm); if (!isOk.IsSuccess) { return(rm); } if (dto.Id == 0) { dto.USR_REG_DATE = DateTime.Now; _initHelper.InitAdd(dto, AbpSession.USR_ID, AbpSession.ORG_NO, AbpSession.BG_NO); entity = dto.ToEntity(); _sysUsrMstrRepository.Insert(entity); } else { _initHelper.InitUpdate(dto, AbpSession.USR_ID); entity = dto.ToEntity(); _sysUsrMstrRepository.Update(entity); } var userAuth = _sysUsrAuthRepository.GetAllList(c => c.USR_ID == dto.Id); if (userAuth.Count > 0) { _sysUsrAuthRepository.DelSysUsrAuthInfo(dto.Id.ToString()); } if (!string.IsNullOrEmpty(dto.RoleIds)) { var list = dto.RoleIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(); foreach (var item in list) { var auth = new SysUsrAuth(); auth.Id = Guid.NewGuid().ToString("N"); auth.USR_ID = (long)dto.Id; auth.ROLE_ID = Convert.ToInt32(item); _initHelper.InitAdd(auth, AbpSession.USR_ID, AbpSession.ORG_NO, AbpSession.BG_NO); _sysUsrAuthRepository.Insert(auth); } } rm.IsSuccess = true; return(rm); }
private Claim[] GetUserCliams(SysUsrMstrDto dto, string scope) { return(new Claim[] { new Claim("USR_ID", dto.Id.ToString()), new Claim("USR_NAME", dto.USR_NAME ?? ""), new Claim("ORG_NO", dto.ORG_NO ?? ""), new Claim("USR_REAL_NAME", dto.USR_REAL_NAME ?? ""), new Claim("USR_MOBILE", dto.USR_MOBILE ?? ""), new Claim("USR_AVATAR_PATH", dto.USR_AVATAR_PATH ?? ""), new Claim("ERP_EMP_ID", dto.ERP_EMP_ID ?? ""), new Claim("USR_TYPE", dto.USR_TYPE ?? ""), new Claim("USR_SCOPE", scope ?? "MD"), new Claim("BG_NO", dto.BG_NO ?? ""), new Claim("OPEN_ID", dto.OPEN_ID ?? ""), }); }
public async Task ValidateAsync(ExtensionGrantValidationContext context) { var userName = context.Request.Raw["username"]; var password = ""; var scope = ""; SysUsrMstrDto dto = null; var bizType = context.Request.Raw["bizType"]; var orgNo = context.Request.Raw["orgNo"]; var bgNo = context.Request.Raw["bgNo"]; if (string.IsNullOrEmpty(bizType) || string.IsNullOrEmpty(orgNo) || string.IsNullOrEmpty(bgNo)) { context.Result = new GrantValidationResult(TokenRequestErrors.InvalidGrant, "invalid user credential"); } else { dto = await _sysUsrMstrService.Login(userName, password, orgNo, bgNo, bizType); if (dto != null) { var result = await _sysRoleMstrRepository.GetUserRoleScope(dto.Id); if (result.Count != 0) { scope = result[0]; } context.Result = new GrantValidationResult( subject: userName, authenticationMethod: "user", claims: GetUserCliams(dto, scope) ); } else { context.Result = new GrantValidationResult(TokenRequestErrors.InvalidGrant, "invalid user credential"); } } }
/// <summary> /// 校验用户信息 /// </summary> /// <param name="dto"></param> /// <param name="rm"></param> /// <returns></returns> public ReturnMsg CheckSysUsrInfo(SysUsrMstrDto dto, ReturnMsg rm) { if (string.IsNullOrEmpty(dto.USR_NAME)) { rm.IsSuccess = false; rm.msg = "请输入用户名"; return(rm); } if (string.IsNullOrEmpty(dto.USR_PWD)) { rm.IsSuccess = false; rm.msg = "请输入密码"; return(rm); } if (string.IsNullOrEmpty(dto.USR_MOBILE)) { rm.IsSuccess = false; rm.msg = "请输入用户手机"; return(rm); } if (string.IsNullOrEmpty(dto.USR_TYPE)) { rm.IsSuccess = false; rm.msg = "请选择账号类型"; return(rm); } if (string.IsNullOrEmpty(dto.USR_REAL_NAME)) { rm.IsSuccess = false; rm.msg = "请输入真实姓名"; return(rm); } if (string.IsNullOrEmpty(dto.ERP_EMP_ID)) { rm.IsSuccess = false; rm.msg = "请输入员工编码"; return(rm); } if (string.IsNullOrEmpty(dto.ORG_NO)) { rm.IsSuccess = false; rm.msg = "请选择所属机构"; return(rm); } var result = new List <SysUsrMstr>(); dto.USR_PWD = Encrypt.Md5Hash(dto.USR_PWD); result = dto.Id == 0 ? _sysUsrMstrRepository.GetAllList(c => c.USR_NAME == dto.USR_NAME && c.USR_PWD == dto.USR_PWD && c.DEL_FLAG == 1) : _sysUsrMstrRepository.GetAllList(c => c.USR_NAME == dto.USR_NAME && c.USR_PWD == dto.USR_PWD && c.Id != dto.Id & c.DEL_FLAG == 1); if (result.Count > 0) { rm.IsSuccess = false; rm.msg = "用户名/密码已存在,请重新输入"; return(rm); } result = dto.Id == 0 ? _sysUsrMstrRepository.GetAllList(c => c.USR_MOBILE == dto.USR_MOBILE && c.DEL_FLAG == 1 && c.ORG_NO == dto.ORG_NO) : _sysUsrMstrRepository.GetAllList(c => c.USR_MOBILE == dto.USR_MOBILE && c.Id != dto.Id & c.DEL_FLAG == 1 && c.ORG_NO == dto.ORG_NO); if (result.Count > 0) { rm.IsSuccess = false; rm.msg = "该手机已存在,请重新输入"; return(rm); } result = dto.Id == 0 ? _sysUsrMstrRepository.GetAllList(c => c.ERP_EMP_ID == dto.ERP_EMP_ID && c.DEL_FLAG == 1 && c.ORG_NO == dto.ORG_NO) : _sysUsrMstrRepository.GetAllList(c => c.ERP_EMP_ID == dto.ERP_EMP_ID && c.Id != dto.Id & c.DEL_FLAG == 1 && c.ORG_NO == dto.ORG_NO); if (result.Count > 0) { rm.IsSuccess = false; rm.msg = "该员工代码已存在,请重新输入"; return(rm); } rm.IsSuccess = true; return(rm); }