|
@@ -19,12 +19,10 @@ import org.ruoyi.common.core.constant.TenantConstants;
|
|
|
import org.ruoyi.common.core.domain.dto.RoleDTO;
|
|
|
import org.ruoyi.common.core.domain.model.LoginUser;
|
|
|
import org.ruoyi.common.core.domain.model.VisitorLoginBody;
|
|
|
-import org.ruoyi.common.core.domain.model.VisitorLoginUser;
|
|
|
import org.ruoyi.common.core.enums.*;
|
|
|
import org.ruoyi.common.core.exception.user.CaptchaException;
|
|
|
import org.ruoyi.common.core.exception.user.CaptchaExpireException;
|
|
|
import org.ruoyi.common.core.exception.user.UserException;
|
|
|
-import org.ruoyi.common.core.service.ConfigService;
|
|
|
import org.ruoyi.common.core.utils.*;
|
|
|
import org.ruoyi.common.log.event.LogininforEvent;
|
|
|
import org.ruoyi.common.redis.utils.RedisUtils;
|
|
@@ -32,8 +30,7 @@ import org.ruoyi.common.satoken.utils.LoginHelper;
|
|
|
import org.ruoyi.common.tenant.exception.TenantException;
|
|
|
import org.ruoyi.common.tenant.helper.TenantHelper;
|
|
|
import org.ruoyi.system.domain.SysUser;
|
|
|
-import org.ruoyi.system.domain.bo.SysUserBo;
|
|
|
-import org.ruoyi.system.domain.vo.LoginVo;
|
|
|
+
|
|
|
import org.ruoyi.system.domain.vo.SysTenantVo;
|
|
|
import org.ruoyi.system.domain.vo.SysUserVo;
|
|
|
import org.ruoyi.system.mapper.SysUserMapper;
|
|
@@ -43,7 +40,6 @@ import org.springframework.stereotype.Service;
|
|
|
import java.time.Duration;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
-import java.util.UUID;
|
|
|
import java.util.function.Supplier;
|
|
|
|
|
|
/**
|
|
@@ -60,8 +56,6 @@ public class SysLoginService {
|
|
|
private final WxMaService wxMaService;
|
|
|
private final ISysPermissionService permissionService;
|
|
|
private final ISysTenantService tenantService;
|
|
|
- private final ISysUserService userService;
|
|
|
- private final ConfigService configService;
|
|
|
|
|
|
@Value("${user.password.maxRetryCount}")
|
|
|
private Integer maxRetryCount;
|
|
@@ -69,7 +63,7 @@ public class SysLoginService {
|
|
|
private Integer lockTime;
|
|
|
|
|
|
/**
|
|
|
- * 获取微信
|
|
|
+ * 获取微信code
|
|
|
* @param xcxCode 获取xcxCode
|
|
|
*/
|
|
|
public String getOpenidFromCode(String xcxCode) {
|
|
@@ -137,9 +131,8 @@ public class SysLoginService {
|
|
|
return StpUtil.getTokenValue();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
- * 游客登录
|
|
|
+ * 微信小程序登录
|
|
|
*
|
|
|
* @param loginBody
|
|
|
* @return String
|
|
@@ -164,57 +157,6 @@ public class SysLoginService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public LoginVo mpLogin(String openid) {
|
|
|
- // 使用 openid 查询绑定用户 如未绑定用户 则根据业务自行处理 例如 创建默认用户
|
|
|
- SysUserVo user = userService.selectUserByOpenId(openid);
|
|
|
- VisitorLoginUser loginUser = new VisitorLoginUser();
|
|
|
- if (ObjectUtil.isNull(user)) {
|
|
|
- SysUserBo sysUser = new SysUserBo();
|
|
|
- // 改为自增
|
|
|
- String name = "用户" + UUID.randomUUID().toString().replace("-", "");
|
|
|
- // 设置默认用户名
|
|
|
- sysUser.setUserName(name);
|
|
|
- // 设置默认昵称
|
|
|
- sysUser.setNickName(name);
|
|
|
- // 设置默认密码
|
|
|
- sysUser.setPassword(BCrypt.hashpw("123456"));
|
|
|
- // 设置微信openId
|
|
|
- sysUser.setOpenId(openid);
|
|
|
- String configValue = configService.getConfigValue("mail", "amount");
|
|
|
- // 设置默认余额
|
|
|
- sysUser.setUserBalance(NumberUtils.toDouble(configValue, 1));
|
|
|
- // 注册用户,设置默认租户为0
|
|
|
- SysUser registerUser = userService.registerUser(sysUser, "0");
|
|
|
-
|
|
|
- // 构建登录用户信息
|
|
|
- loginUser.setTenantId("0");
|
|
|
- loginUser.setUserId(registerUser.getUserId());
|
|
|
- loginUser.setUsername(registerUser.getUserName());
|
|
|
- loginUser.setUserType(UserType.APP_USER.getUserType());
|
|
|
- loginUser.setOpenid(openid);
|
|
|
- loginUser.setNickName(registerUser.getNickName());
|
|
|
-
|
|
|
- } else {
|
|
|
- // 此处可根据登录用户的数据不同 自行创建 loginUser
|
|
|
- loginUser.setTenantId(user.getTenantId());
|
|
|
- loginUser.setUserId(user.getUserId());
|
|
|
- loginUser.setUsername(user.getUserName());
|
|
|
- loginUser.setUserType(user.getUserType());
|
|
|
- loginUser.setNickName(user.getNickName());
|
|
|
- loginUser.setAvatar(user.getWxAvatar());
|
|
|
- loginUser.setOpenid(openid);
|
|
|
- }
|
|
|
- // 生成token
|
|
|
- LoginHelper.loginByDevice(loginUser, DeviceType.XCX);
|
|
|
- recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
|
|
|
- LoginVo loginVo = new LoginVo();
|
|
|
- // 生成令牌
|
|
|
- loginVo.setToken(StpUtil.getTokenValue());
|
|
|
- loginVo.setUserInfo(loginUser);
|
|
|
- return loginVo;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 退出登录
|
|
|
*/
|