|
|
@ -81,85 +81,125 @@ public class AppSysUserRest implements AppSysUserFeign { |
|
|
|
if (StringUtils.isBlank(verifyCode)) return new ResultBean<SysUserVo>().fail().setMsg("验证码不能为空"); |
|
|
|
// 访问后清理key
|
|
|
|
} |
|
|
|
|
|
|
|
SysUser sysUser = sysUserService.selectByAppId(appId); |
|
|
|
if (null == sysUser) { // 未查询到绑定的账号
|
|
|
|
sysUser = sysUserService.selectByUserNameApp(userName); |
|
|
|
boolean isTest = userQuery.isTest(); |
|
|
|
if (isTest) {//添加测试版
|
|
|
|
SysUser sysUser = sysUserService.selectByUserNameApp(userName); |
|
|
|
if (sysUser == null) { |
|
|
|
sysUser = sysUserService.selectByMobile(userName); |
|
|
|
if (sysUser == null) { |
|
|
|
return rb.setMsg("账号不存在"); |
|
|
|
} |
|
|
|
} |
|
|
|
String appIdVal = sysUser.getAppId(); |
|
|
|
if (StringUtils.isBlank(appIdVal)) { // 设备值为空
|
|
|
|
if (type.equals("1")) { |
|
|
|
String md5 = Encodes.md5(password); |
|
|
|
if (md5.equals(sysUser.getPassword())) { |
|
|
|
sysUserService.updateAppId(sysUser.getSid(), appId); |
|
|
|
SysUserVo sysUserVo = sysUserService.selectUser(sysUser); |
|
|
|
if(sysUserVo == null){ |
|
|
|
return rb.setMsg("该用户不是公司员工"); |
|
|
|
} |
|
|
|
insertLoginLog(sysUser); |
|
|
|
return new ResultBean<SysUserVo>().success().setData(sysUserVo); |
|
|
|
} else { |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误"); |
|
|
|
if (type.equals("1")) { |
|
|
|
String md5 = Encodes.md5(password); |
|
|
|
if (md5.equals(sysUser.getPassword())) { |
|
|
|
sysUserService.updateAppId(sysUser.getSid(), appId); |
|
|
|
SysUserVo sysUserVo = sysUserService.selectUser(sysUser); |
|
|
|
if (sysUserVo == null) { |
|
|
|
return rb.setMsg("该用户不是公司员工"); |
|
|
|
} |
|
|
|
insertLoginLog(sysUser); |
|
|
|
return new ResultBean<SysUserVo>().success().setData(sysUserVo); |
|
|
|
} else { |
|
|
|
String codeFromRedis = redisUtil.get("loginCode" + userName); |
|
|
|
if (StringUtils.isBlank(codeFromRedis)) |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码已失效,请重新发送"); |
|
|
|
if (verifyCode.equals(codeFromRedis.substring(0, 4))) { |
|
|
|
sysUserService.updateAppId(sysUser.getSid(), appId); |
|
|
|
SysUserVo sysUserVo = sysUserService.selectUser(sysUser); |
|
|
|
if(sysUserVo == null){ |
|
|
|
return rb.setMsg("该用户不是公司员工"); |
|
|
|
} |
|
|
|
redisUtil.remove("loginCode" + userName); |
|
|
|
insertLoginLog(sysUser); |
|
|
|
return new ResultBean<SysUserVo>().success().setData(sysUserVo); |
|
|
|
} else { |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码错误或已失效,请重新获取"); |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误"); |
|
|
|
} |
|
|
|
} else { |
|
|
|
String codeFromRedis = redisUtil.get("loginCode" + userName); |
|
|
|
if (StringUtils.isBlank(codeFromRedis)) |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码已失效,请重新发送"); |
|
|
|
if (verifyCode.equals(codeFromRedis.substring(0, 4))) { |
|
|
|
sysUserService.updateAppId(sysUser.getSid(), appId); |
|
|
|
SysUserVo sysUserVo = sysUserService.selectUser(sysUser); |
|
|
|
if (sysUserVo == null) { |
|
|
|
return rb.setMsg("该用户不是公司员工"); |
|
|
|
} |
|
|
|
redisUtil.remove("loginCode" + userName); |
|
|
|
insertLoginLog(sysUser); |
|
|
|
return new ResultBean<SysUserVo>().success().setData(sysUserVo); |
|
|
|
} else { |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码错误或已失效,请重新获取"); |
|
|
|
} |
|
|
|
} else { // 设备值存在
|
|
|
|
int res = insertSysExceptionLog("b", JSON.toJSON(userQuery).toString(), "当前账号已被其它设备绑定"); |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("当前账号已被其它设备绑定(错误码:" + res + ")"); |
|
|
|
} |
|
|
|
} else { // 查询到绑定的账号
|
|
|
|
if (userName.equals(sysUser.getUserName()) || userName.equals(sysUser.getMobile())) { // 设备appId一致,验证用户名
|
|
|
|
if (type.equals("1")) { |
|
|
|
String md5 = Encodes.md5(password); |
|
|
|
if (md5.equals(sysUser.getPassword())) { |
|
|
|
SysUserVo sysUserVo = sysUserService.selectUser(sysUser); |
|
|
|
if(sysUserVo == null){ |
|
|
|
return rb.setMsg("该用户不是公司员工"); |
|
|
|
} else { |
|
|
|
SysUser sysUser = sysUserService.selectByAppId(appId); |
|
|
|
if (null == sysUser) { // 未查询到绑定的账号
|
|
|
|
sysUser = sysUserService.selectByUserNameApp(userName); |
|
|
|
if (sysUser == null) { |
|
|
|
sysUser = sysUserService.selectByMobile(userName); |
|
|
|
if (sysUser == null) { |
|
|
|
return rb.setMsg("账号不存在"); |
|
|
|
} |
|
|
|
} |
|
|
|
String appIdVal = sysUser.getAppId(); |
|
|
|
if (StringUtils.isBlank(appIdVal)) { // 设备值为空
|
|
|
|
if (type.equals("1")) { |
|
|
|
String md5 = Encodes.md5(password); |
|
|
|
if (md5.equals(sysUser.getPassword())) { |
|
|
|
sysUserService.updateAppId(sysUser.getSid(), appId); |
|
|
|
SysUserVo sysUserVo = sysUserService.selectUser(sysUser); |
|
|
|
if (sysUserVo == null) { |
|
|
|
return rb.setMsg("该用户不是公司员工"); |
|
|
|
} |
|
|
|
insertLoginLog(sysUser); |
|
|
|
return new ResultBean<SysUserVo>().success().setData(sysUserVo); |
|
|
|
} else { |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误"); |
|
|
|
} |
|
|
|
insertLoginLog(sysUser); |
|
|
|
return new ResultBean<SysUserVo>().success().setData(sysUserVo); |
|
|
|
} else { |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误"); |
|
|
|
String codeFromRedis = redisUtil.get("loginCode" + userName); |
|
|
|
if (StringUtils.isBlank(codeFromRedis)) |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码已失效,请重新发送"); |
|
|
|
if (verifyCode.equals(codeFromRedis.substring(0, 4))) { |
|
|
|
sysUserService.updateAppId(sysUser.getSid(), appId); |
|
|
|
SysUserVo sysUserVo = sysUserService.selectUser(sysUser); |
|
|
|
if (sysUserVo == null) { |
|
|
|
return rb.setMsg("该用户不是公司员工"); |
|
|
|
} |
|
|
|
redisUtil.remove("loginCode" + userName); |
|
|
|
insertLoginLog(sysUser); |
|
|
|
return new ResultBean<SysUserVo>().success().setData(sysUserVo); |
|
|
|
} else { |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码错误或已失效,请重新获取"); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
String codeFromRedis = redisUtil.get("loginCode" + userName); |
|
|
|
if (StringUtils.isBlank(codeFromRedis)) |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码已失效,请重新发送"); |
|
|
|
if (verifyCode.equals(codeFromRedis.substring(0, 4))) { |
|
|
|
SysUserVo sysUserVo = sysUserService.selectUser(sysUser); |
|
|
|
if(sysUserVo == null){ |
|
|
|
return rb.setMsg("该用户不是公司员工"); |
|
|
|
} else { // 设备值存在
|
|
|
|
int res = insertSysExceptionLog("b", JSON.toJSON(userQuery).toString(), "当前账号已被其它设备绑定"); |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("当前账号已被其它设备绑定(错误码:" + res + ")"); |
|
|
|
} |
|
|
|
} else { // 查询到绑定的账号
|
|
|
|
if (userName.equals(sysUser.getUserName()) || userName.equals(sysUser.getMobile())) { // 设备appId一致,验证用户名
|
|
|
|
if (type.equals("1")) { |
|
|
|
String md5 = Encodes.md5(password); |
|
|
|
if (md5.equals(sysUser.getPassword())) { |
|
|
|
SysUserVo sysUserVo = sysUserService.selectUser(sysUser); |
|
|
|
if (sysUserVo == null) { |
|
|
|
return rb.setMsg("该用户不是公司员工"); |
|
|
|
} |
|
|
|
insertLoginLog(sysUser); |
|
|
|
return new ResultBean<SysUserVo>().success().setData(sysUserVo); |
|
|
|
} else { |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误"); |
|
|
|
} |
|
|
|
redisUtil.remove("loginCode" + userName); |
|
|
|
insertLoginLog(sysUser); |
|
|
|
return new ResultBean<SysUserVo>().success().setData(sysUserVo); |
|
|
|
} else { |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码错误或已失效,请重新获取"); |
|
|
|
String codeFromRedis = redisUtil.get("loginCode" + userName); |
|
|
|
if (StringUtils.isBlank(codeFromRedis)) |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码已失效,请重新发送"); |
|
|
|
if (verifyCode.equals(codeFromRedis.substring(0, 4))) { |
|
|
|
SysUserVo sysUserVo = sysUserService.selectUser(sysUser); |
|
|
|
if (sysUserVo == null) { |
|
|
|
return rb.setMsg("该用户不是公司员工"); |
|
|
|
} |
|
|
|
redisUtil.remove("loginCode" + userName); |
|
|
|
insertLoginLog(sysUser); |
|
|
|
return new ResultBean<SysUserVo>().success().setData(sysUserVo); |
|
|
|
} else { |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码错误或已失效,请重新获取"); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { // 用户名不一致
|
|
|
|
int res = insertSysExceptionLog("a", JSON.toJSON(userQuery).toString(), "当前设备已绑定其它账号"); |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("当前设备已绑定其它账号(错误码:" + res + ")"); |
|
|
|
} |
|
|
|
} else { // 用户名不一致
|
|
|
|
int res = insertSysExceptionLog("a", JSON.toJSON(userQuery).toString(), "当前设备已绑定其它账号"); |
|
|
|
return new ResultBean<SysUserVo>().fail().setMsg("当前设备已绑定其它账号(错误码:" + res + ")"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -204,7 +244,7 @@ public class AppSysUserRest implements AppSysUserFeign { |
|
|
|
SysUser sysUser = sysUserService.selectByUserNameApp(mobile); |
|
|
|
if (null == sysUser) { |
|
|
|
sysUser = sysUserService.selectByMobile(mobile); |
|
|
|
if(sysUser == null){ |
|
|
|
if (sysUser == null) { |
|
|
|
return new ResultBean().fail().setMsg("该手机号暂时还未注册,请先注册"); |
|
|
|
} |
|
|
|
|
|
|
@ -215,7 +255,7 @@ public class AppSysUserRest implements AppSysUserFeign { |
|
|
|
sysUser = sysUserService.selectByUserNameApp(mobile); |
|
|
|
if (sysUser == null) { |
|
|
|
sysUser = sysUserService.selectByMobile(mobile); |
|
|
|
if(sysUser == null){ |
|
|
|
if (sysUser == null) { |
|
|
|
return new ResultBean().fail().setMsg("该手机号暂时还未注册,请先注册"); |
|
|
|
} |
|
|
|
} |
|
|
@ -294,20 +334,20 @@ public class AppSysUserRest implements AppSysUserFeign { |
|
|
|
userInfo.setId("ID:" + sysUserVo.getJobNumber()); |
|
|
|
//根据组织机构sid查询该用户的职位以及分公司的部门
|
|
|
|
List<String> strings = new ArrayList<>(); |
|
|
|
List<SysStaffOrg> list = sysUserService.selectOrgBySid(orgPath,sysUserVo.getStaffSid()); |
|
|
|
for (SysStaffOrg s : list){ |
|
|
|
List<SysStaffOrg> list = sysUserService.selectOrgBySid(orgPath, sysUserVo.getStaffSid()); |
|
|
|
for (SysStaffOrg s : list) { |
|
|
|
String orgName = s.getOrgName(); |
|
|
|
strings.add(orgName); |
|
|
|
} |
|
|
|
strings.removeAll(Collections.singleton(null)); |
|
|
|
if(!strings.isEmpty()){ |
|
|
|
userInfo.setDepartment(String.join("|",strings)); |
|
|
|
if (!strings.isEmpty()) { |
|
|
|
userInfo.setDepartment(String.join("|", strings)); |
|
|
|
} |
|
|
|
//根据用户sid查询岗位
|
|
|
|
List<String> stringList = sysUserService.getPost(sysUserVo.getStaffSid()); |
|
|
|
stringList.removeAll(Collections.singleton(null)); |
|
|
|
if(!stringList.isEmpty()){ |
|
|
|
userInfo.setPosition(String.join("|",stringList)); |
|
|
|
if (!stringList.isEmpty()) { |
|
|
|
userInfo.setPosition(String.join("|", stringList)); |
|
|
|
} |
|
|
|
return new ResultBean().success().setData(userInfo); |
|
|
|
} |
|
|
|