mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-10-26 06:57:08 +08:00
build: continew-starter 2.10.0 => 2.11.0
1.SaToken 升级适配 2.DictField 注解 => DictModel 3.BaseIdResp => IdResp 4.CRUD 删除接口由 URL 传参重构为请求体传参 5.访问日志打印问题修复等
This commit is contained in:
@@ -16,8 +16,8 @@
|
||||
|
||||
package top.continew.admin.auth;
|
||||
|
||||
import cn.dev33.satoken.stp.SaLoginModel;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.dev33.satoken.stp.parameter.SaLoginParameter;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
@@ -38,7 +38,7 @@ import top.continew.admin.system.service.RoleService;
|
||||
import top.continew.admin.system.service.UserService;
|
||||
import top.continew.starter.core.validation.CheckUtils;
|
||||
import top.continew.starter.core.validation.Validator;
|
||||
import top.continew.starter.web.util.SpringWebUtils;
|
||||
import top.continew.starter.web.util.ServletUtils;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
@@ -101,16 +101,16 @@ public abstract class AbstractLoginHandler<T extends LoginReq> implements LoginH
|
||||
.join(), passwordExpirationDaysFuture.join());
|
||||
BeanUtil.copyProperties(user, userContext);
|
||||
// 设置登录配置参数
|
||||
SaLoginModel model = new SaLoginModel();
|
||||
model.setActiveTimeout(client.getActiveTimeout());
|
||||
model.setTimeout(client.getTimeout());
|
||||
model.setDevice(client.getClientType());
|
||||
SaLoginParameter loginParameter = new SaLoginParameter();
|
||||
loginParameter.setActiveTimeout(client.getActiveTimeout());
|
||||
loginParameter.setTimeout(client.getTimeout());
|
||||
loginParameter.setDeviceType(client.getClientType());
|
||||
userContext.setClientType(client.getClientType());
|
||||
model.setExtra(CLIENT_ID, client.getClientId());
|
||||
loginParameter.setExtra(CLIENT_ID, client.getClientId());
|
||||
userContext.setClientId(client.getClientId());
|
||||
// 登录并缓存用户信息
|
||||
StpUtil.login(userContext.getId(), model.setExtraData(BeanUtil.beanToMap(new UserExtraContext(SpringWebUtils
|
||||
.getRequest()))));
|
||||
StpUtil.login(userContext.getId(), loginParameter.setExtraData(BeanUtil
|
||||
.beanToMap(new UserExtraContext(ServletUtils.getRequest()))));
|
||||
UserContextHolder.setContext(userContext);
|
||||
return StpUtil.getTokenValue();
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.ReUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.xkcoding.justauth.AuthRequestFactory;
|
||||
import com.xkcoding.justauth.autoconfigure.JustAuthProperties;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
@@ -108,7 +107,7 @@ public class SocialLoginHandler extends AbstractLoginHandler<SocialLoginReq> {
|
||||
user = new UserDO();
|
||||
user.setUsername(username);
|
||||
user.setNickname(nickname);
|
||||
if(Objects.nonNull(authUser.getGender())) {
|
||||
if (Objects.nonNull(authUser.getGender())) {
|
||||
user.setGender(GenderEnum.valueOf(authUser.getGender().name()));
|
||||
}
|
||||
user.setAvatar(authUser.getAvatar());
|
||||
@@ -157,11 +156,7 @@ public class SocialLoginHandler extends AbstractLoginHandler<SocialLoginReq> {
|
||||
private AuthRequest getAuthRequest(String source) {
|
||||
try {
|
||||
AuthConfig authConfig = authProperties.getType().get(source.toUpperCase());
|
||||
return AuthRequestBuilder
|
||||
.builder()
|
||||
.source(source)
|
||||
.authConfig(authConfig)
|
||||
.build();
|
||||
return AuthRequestBuilder.builder().source(source).authConfig(authConfig).build();
|
||||
} catch (Exception e) {
|
||||
throw new BadRequestException("暂不支持 [%s] 平台账号登录".formatted(source));
|
||||
}
|
||||
|
||||
@@ -56,6 +56,7 @@ public class FileRecorderImpl implements FileRecorder {
|
||||
|
||||
/**
|
||||
* 文件信息存储
|
||||
*
|
||||
* @param fileInfo 文件信息对象
|
||||
* @return 是否保存成功
|
||||
*/
|
||||
@@ -67,8 +68,8 @@ public class FileRecorderImpl implements FileRecorder {
|
||||
fileInfo.setId(String.valueOf(id.longValue()));
|
||||
String originalFilename = EscapeUtil.unescape(fileInfo.getOriginalFilename());
|
||||
file.setName(StrUtil.contains(originalFilename, StringConstants.DOT)
|
||||
? StrUtil.subBefore(originalFilename, StringConstants.DOT, true)
|
||||
: originalFilename);
|
||||
? StrUtil.subBefore(originalFilename, StringConstants.DOT, true)
|
||||
: originalFilename);
|
||||
StorageDO storage = (StorageDO)fileInfo.getAttr().get(ClassUtil.getClassName(StorageDO.class, false));
|
||||
String domain = StrUtil.appendIfMissing(storage.getDomain(), StringConstants.SLASH);
|
||||
// 处理fileInfo中存储的地址
|
||||
|
||||
@@ -18,7 +18,7 @@ package top.continew.admin.system.model.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import top.continew.starter.extension.crud.annotation.DictField;
|
||||
import top.continew.starter.extension.crud.annotation.DictModel;
|
||||
import top.continew.admin.common.model.entity.BaseDO;
|
||||
|
||||
import java.io.Serial;
|
||||
@@ -30,7 +30,7 @@ import java.io.Serial;
|
||||
* @since 2023/9/11 21:29
|
||||
*/
|
||||
@Data
|
||||
@DictField(valueKey = "code")
|
||||
@DictModel(valueKey = "code")
|
||||
@TableName("sys_dict")
|
||||
public class DictDO extends BaseDO {
|
||||
|
||||
|
||||
@@ -19,8 +19,8 @@ package top.continew.admin.system.model.entity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import top.continew.admin.common.enums.DataScopeEnum;
|
||||
import top.continew.starter.extension.crud.annotation.DictField;
|
||||
import top.continew.admin.common.model.entity.BaseDO;
|
||||
import top.continew.starter.extension.crud.annotation.DictModel;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
@@ -31,7 +31,7 @@ import java.io.Serial;
|
||||
* @since 2023/2/8 22:54
|
||||
*/
|
||||
@Data
|
||||
@DictField
|
||||
@DictModel
|
||||
@TableName("sys_role")
|
||||
public class RoleDO extends BaseDO {
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import lombok.Data;
|
||||
import top.continew.admin.common.config.mybatis.BCryptEncryptor;
|
||||
import top.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.continew.admin.common.enums.GenderEnum;
|
||||
import top.continew.starter.extension.crud.annotation.DictField;
|
||||
import top.continew.starter.extension.crud.annotation.DictModel;
|
||||
import top.continew.admin.common.model.entity.BaseDO;
|
||||
import top.continew.starter.security.crypto.annotation.FieldEncrypt;
|
||||
|
||||
@@ -37,7 +37,7 @@ import java.time.LocalDateTime;
|
||||
* @since 2022/12/21 20:42
|
||||
*/
|
||||
@Data
|
||||
@DictField(labelKey = "nickname", extraKeys = {"username"})
|
||||
@DictModel(labelKey = "nickname", extraKeys = {"username"})
|
||||
@TableName("sys_user")
|
||||
public class UserDO extends BaseDO {
|
||||
|
||||
|
||||
@@ -80,9 +80,6 @@ public class MessageUserServiceImpl implements MessageUserService {
|
||||
|
||||
@Override
|
||||
public void readMessage(List<Long> ids) {
|
||||
if (CollUtil.isEmpty(ids)) {
|
||||
return;
|
||||
}
|
||||
baseMapper.lambdaUpdate()
|
||||
.set(MessageUserDO::getIsRead, true)
|
||||
.set(MessageUserDO::getReadTime, LocalDateTime.now())
|
||||
|
||||
Reference in New Issue
Block a user