mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-21 02:25:56 +08:00
Pre Merge pull request !228 from Charles7c/dev
This commit is contained in:
commit
c7ae767644
2
pom.xml
2
pom.xml
@ -25,7 +25,7 @@
|
|||||||
<poi.version>5.2.2</poi.version>
|
<poi.version>5.2.2</poi.version>
|
||||||
<easyexcel.version>3.1.1</easyexcel.version>
|
<easyexcel.version>3.1.1</easyexcel.version>
|
||||||
<velocity.version>2.3</velocity.version>
|
<velocity.version>2.3</velocity.version>
|
||||||
<satoken.version>1.30.0</satoken.version>
|
<satoken.version>1.31.0</satoken.version>
|
||||||
<mybatis-plus.version>3.5.2</mybatis-plus.version>
|
<mybatis-plus.version>3.5.2</mybatis-plus.version>
|
||||||
<p6spy.version>3.9.1</p6spy.version>
|
<p6spy.version>3.9.1</p6spy.version>
|
||||||
<hutool.version>5.8.5</hutool.version>
|
<hutool.version>5.8.5</hutool.version>
|
||||||
|
|||||||
@ -42,7 +42,7 @@ public class SysUserOnlineController extends BaseController {
|
|||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public TableDataInfo<SysUserOnline> list(String ipaddr, String userName) {
|
public TableDataInfo<SysUserOnline> list(String ipaddr, String userName) {
|
||||||
// 获取所有未过期的 token
|
// 获取所有未过期的 token
|
||||||
List<String> keys = StpUtil.searchTokenValue("", -1, 0);
|
List<String> keys = StpUtil.searchTokenValue("", -1, 0, false);
|
||||||
List<UserOnlineDTO> userOnlineDTOList = new ArrayList<>();
|
List<UserOnlineDTO> userOnlineDTOList = new ArrayList<>();
|
||||||
for (String key : keys) {
|
for (String key : keys) {
|
||||||
String token = key.replace(CacheConstants.LOGIN_TOKEN_KEY, "");
|
String token = key.replace(CacheConstants.LOGIN_TOKEN_KEY, "");
|
||||||
|
|||||||
@ -17,27 +17,32 @@ import java.util.Date;
|
|||||||
* MP注入处理器
|
* MP注入处理器
|
||||||
*
|
*
|
||||||
* @author Lion Li
|
* @author Lion Li
|
||||||
|
* @author Charles7c
|
||||||
* @date 2021/4/25
|
* @date 2021/4/25
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
|
public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
|
||||||
|
|
||||||
|
/** 创建人 */
|
||||||
|
private static final String CREATE_BY = "createBy";
|
||||||
|
/** 创建时间 */
|
||||||
|
private static final String CREATE_TIME = "createTime";
|
||||||
|
/** 更新人 */
|
||||||
|
private static final String UPDATE_BY = "updateBy";
|
||||||
|
/** 更新时间 */
|
||||||
|
private static final String UPDATE_TIME = "updateTime";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void insertFill(MetaObject metaObject) {
|
public void insertFill(MetaObject metaObject) {
|
||||||
try {
|
try {
|
||||||
if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity) {
|
if (ObjectUtil.isNull(metaObject)) {
|
||||||
BaseEntity baseEntity = (BaseEntity) metaObject.getOriginalObject();
|
return;
|
||||||
Date current = ObjectUtil.isNotNull(baseEntity.getCreateTime())
|
|
||||||
? baseEntity.getCreateTime() : new Date();
|
|
||||||
baseEntity.setCreateTime(current);
|
|
||||||
baseEntity.setUpdateTime(current);
|
|
||||||
String username = StringUtils.isNotBlank(baseEntity.getCreateBy())
|
|
||||||
? baseEntity.getCreateBy() : getLoginUsername();
|
|
||||||
// 当前已登录 且 创建人为空 则填充
|
|
||||||
baseEntity.setCreateBy(username);
|
|
||||||
// 当前已登录 且 更新人为空 则填充
|
|
||||||
baseEntity.setUpdateBy(username);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.fillFieldValue(metaObject, CREATE_BY, this.getLoginUsername(), false);
|
||||||
|
this.fillFieldValue(metaObject, CREATE_TIME, new Date(), false);
|
||||||
|
this.fillFieldValue(metaObject, UPDATE_BY, this.getLoginUsername(), false);
|
||||||
|
this.fillFieldValue(metaObject, UPDATE_TIME, new Date(), false);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new ServiceException("自动注入异常 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED);
|
throw new ServiceException("自动注入异常 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED);
|
||||||
}
|
}
|
||||||
@ -46,22 +51,32 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
|
|||||||
@Override
|
@Override
|
||||||
public void updateFill(MetaObject metaObject) {
|
public void updateFill(MetaObject metaObject) {
|
||||||
try {
|
try {
|
||||||
if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity) {
|
if (ObjectUtil.isNull(metaObject)) {
|
||||||
BaseEntity baseEntity = (BaseEntity) metaObject.getOriginalObject();
|
return;
|
||||||
Date current = new Date();
|
|
||||||
// 更新时间填充(不管为不为空)
|
|
||||||
baseEntity.setUpdateTime(current);
|
|
||||||
String username = getLoginUsername();
|
|
||||||
// 当前已登录 更新人填充(不管为不为空)
|
|
||||||
if (StringUtils.isNotBlank(username)) {
|
|
||||||
baseEntity.setUpdateBy(username);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.fillFieldValue(metaObject, UPDATE_BY, this.getLoginUsername(), true);
|
||||||
|
this.fillFieldValue(metaObject, UPDATE_TIME, new Date(), true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new ServiceException("自动注入异常 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED);
|
throw new ServiceException("自动注入异常 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 填充(注入)属性值
|
||||||
|
*
|
||||||
|
* @param metaObject 元数据对象
|
||||||
|
* @param fieldName 要填充的属性名
|
||||||
|
* @param fillFieldValue 要填充的属性值
|
||||||
|
* @param isOverride 如果属性值不为空,是否覆盖(true 覆盖、false 不覆盖)
|
||||||
|
*/
|
||||||
|
private void fillFieldValue(MetaObject metaObject, String fieldName, Object fillFieldValue, boolean isOverride) {
|
||||||
|
if (metaObject.hasSetter(fieldName)) {
|
||||||
|
Object fieldValue = metaObject.getValue(fieldName);
|
||||||
|
setFieldValByName(fieldName, ObjectUtil.isNotNull(fieldValue) && !isOverride ? fieldValue : fillFieldValue, metaObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取登录用户名
|
* 获取登录用户名
|
||||||
*/
|
*/
|
||||||
@ -75,5 +90,4 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
|
|||||||
}
|
}
|
||||||
return loginUser.getUsername();
|
return loginUser.getUsername();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -88,14 +88,14 @@ public class UserActionListener implements SaTokenListener {
|
|||||||
* 每次被封禁时触发
|
* 每次被封禁时触发
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void doDisable(String loginType, Object loginId, long disableTime) {
|
public void doDisable(String loginType, Object loginId, String service, int level, long disableTime) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 每次被解封时触发
|
* 每次被解封时触发
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void doUntieDisable(String loginType, Object loginId) {
|
public void doUntieDisable(String loginType, Object loginId, String service) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -112,5 +112,10 @@ public class UserActionListener implements SaTokenListener {
|
|||||||
public void doLogoutSession(String id) {
|
public void doLogoutSession(String id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每次Token续期时触发
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void doRenewTimeout(String tokenValue, Object loginId, long timeout) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -170,10 +170,9 @@ public class PlusSaTokenDao implements SaTokenDao {
|
|||||||
* 搜索数据
|
* 搜索数据
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<String> searchData(String prefix, String keyword, int start, int size) {
|
public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType) {
|
||||||
Collection<String> keys = RedisUtils.keys(prefix + "*" + keyword + "*");
|
Collection<String> keys = RedisUtils.keys(prefix + "*" + keyword + "*");
|
||||||
List<String> list = new ArrayList<>(keys);
|
List<String> list = new ArrayList<>(keys);
|
||||||
return SaFoxUtil.searchList(list, start, size);
|
return SaFoxUtil.searchList(list, start, size, sortType);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user