|
|
@@ -22,6 +22,7 @@ import cn.xyh.common.core.domain.model.XcxLoginUser;
|
|
|
import cn.xyh.common.enums.DeviceType;
|
|
|
import cn.xyh.common.enums.LoginType;
|
|
|
import cn.xyh.common.enums.UserStatus;
|
|
|
+import cn.xyh.common.enums.UserType;
|
|
|
import cn.xyh.common.exception.ServiceException;
|
|
|
import cn.xyh.common.exception.user.CaptchaException;
|
|
|
import cn.xyh.common.exception.user.CaptchaExpireException;
|
|
|
@@ -105,8 +106,6 @@ public class SysLoginService {
|
|
|
LoginHelper.loginByDevice(loginUser, DeviceType.PC);
|
|
|
} else {
|
|
|
XcxLoginUser loginUser = buildXcxLoginUser(user);
|
|
|
- AmAlumnusVo amAlumnusVo = amAlumnusService.queryByUserId(user.getUserId());
|
|
|
- loginUser.setAmId(amAlumnusVo.getAmId());
|
|
|
loginUser.setOpenid(openId);
|
|
|
LoginHelper.loginByDevice(loginUser, DeviceType.XCX);
|
|
|
}
|
|
|
@@ -121,11 +120,18 @@ public class SysLoginService {
|
|
|
SysUser user = loadUserByPhoneNumber(phoneNumber);
|
|
|
|
|
|
checkLogin(LoginType.SMS, user.getUserName(), () -> !validateSmsCode(phoneNumber, smsCode));
|
|
|
- // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
|
|
|
- LoginUser loginUser = buildLoginUser(user);
|
|
|
- // 生成token
|
|
|
- LoginHelper.loginByDevice(loginUser, DeviceType.APP);
|
|
|
|
|
|
+ // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
|
|
|
+ UserType userType = UserType.getUserType(user.getUserType());
|
|
|
+ if (userType == UserType.SYS_USER) {
|
|
|
+ LoginUser loginUser = buildLoginUser(user);
|
|
|
+ // 生成token
|
|
|
+ LoginHelper.loginByDevice(loginUser, DeviceType.PC);
|
|
|
+ } else if (userType == UserType.AM_USER) {
|
|
|
+ XcxLoginUser loginUser = buildXcxLoginUser(user);
|
|
|
+ // 生成token
|
|
|
+ LoginHelper.loginByDevice(loginUser, DeviceType.APP);
|
|
|
+ }
|
|
|
recordLogininfor(user.getUserName(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
|
|
recordLoginInfo(user.getUserId(), user.getUserName());
|
|
|
return StpUtil.getTokenValue();
|
|
|
@@ -159,8 +165,6 @@ public class SysLoginService {
|
|
|
}
|
|
|
// 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
|
|
|
XcxLoginUser loginUser = buildXcxLoginUser(user);
|
|
|
- AmAlumnusVo amAlumnusVo = amAlumnusService.queryByUserId(user.getUserId());
|
|
|
- loginUser.setAmId(amAlumnusVo.getAmId());
|
|
|
loginUser.setOpenid(xcxLoginDto.getOpenid());
|
|
|
loginUser.setUnionId(xcxLoginDto.getUnionid());
|
|
|
// 生成token
|
|
|
@@ -171,6 +175,21 @@ public class SysLoginService {
|
|
|
return StpUtil.getTokenValue();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 重置密码
|
|
|
+ *
|
|
|
+ * @param phonenumber
|
|
|
+ * @param smsCode
|
|
|
+ * @param password
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Boolean resetPwdBySms(String phonenumber, String smsCode, String password) {
|
|
|
+ SysUser user = loadUserByPhoneNumber(phonenumber);
|
|
|
+ checkLogin(LoginType.SMS, user.getUserName(), () -> !validateSmsCode(phonenumber, smsCode));
|
|
|
+ return userService.resetUserPwd(user.getUserName(), BCrypt.hashpw(password)) > 0;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 退出登录
|
|
|
*/
|
|
|
@@ -349,6 +368,9 @@ public class SysLoginService {
|
|
|
loginUser.setMenuPermission(permissionService.getMenuPermission(user));
|
|
|
loginUser.setRolePermission(permissionService.getRolePermission(user));
|
|
|
loginUser.setOrgName(ObjectUtil.isNull(user.getOrg()) ? "" : user.getOrg().getOrgName());
|
|
|
+ AmAlumnusVo amAlumnusVo = amAlumnusService.queryByUserId(user.getUserId());
|
|
|
+ loginUser.setAmId(amAlumnusVo.getAmId());
|
|
|
+
|
|
|
List<RoleDTO> roles = BeanUtil.copyToList(user.getRoles(), RoleDTO.class);
|
|
|
loginUser.setRoles(roles);
|
|
|
return loginUser;
|
|
|
@@ -436,4 +458,6 @@ public class SysLoginService {
|
|
|
}
|
|
|
logout();
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|