refactor(service): 修改IEntityService泛型为VO类型并优化缓存策略
重构所有注解@CacheConfig的Service类,将IEntityService泛型从实体类改为VO类 实现实体与VO之间的转换逻辑,使用VO替代实体进行缓存以避免序列化问题 更新相关依赖组件和测试用例,确保功能完整性和系统兼容性 优化Redis缓存配置,清理旧缓存数据并验证新缓存策略有效性
This commit is contained in:
@@ -3,8 +3,8 @@ package com.ecep.contract.vm;
|
||||
import com.ecep.contract.Desktop;
|
||||
import com.ecep.contract.MyDateTimeUtils;
|
||||
import com.ecep.contract.SpringApp;
|
||||
import com.ecep.contract.WebSocketClientService;
|
||||
import com.ecep.contract.controller.CurrentEmployeeInitialedEvent;
|
||||
import com.ecep.contract.model.EmployeeRole;
|
||||
import com.ecep.contract.service.EmployeeService;
|
||||
import com.ecep.contract.vo.EmployeeRoleVo;
|
||||
import com.ecep.contract.vo.EmployeeVo;
|
||||
@@ -138,11 +138,34 @@ public class CurrentEmployee extends EmployeeViewModel {
|
||||
* 3. 更新当前用户的信息
|
||||
* 4. 更新当前用户的角色
|
||||
*/
|
||||
executorService.submit(() -> {
|
||||
// issue #1 sss 2020-07-05
|
||||
// issue #1 sss 2020-07-05
|
||||
Thread.ofVirtual().start(() -> {
|
||||
|
||||
while (getId().get() <= 0) {
|
||||
try {
|
||||
Thread.sleep(5000);
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
int activeEmployeeId = getId().get();
|
||||
if (activeEmployeeId <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
EmployeeService employeeService = SpringApp.getBean(EmployeeService.class);
|
||||
EmployeeVo employee = employeeService.findById(getId().get());
|
||||
List<EmployeeRoleVo> roles = employeeService.getRolesByEmployeeId(getId().get());
|
||||
WebSocketClientService webSocketService = SpringApp.getBean(WebSocketClientService.class);
|
||||
while (!webSocketService.getOnlineProperty().get()) {
|
||||
try {
|
||||
logger.debug("waiting for websocket online...");
|
||||
Thread.sleep(2000);
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
EmployeeVo employee = employeeService.findById(activeEmployeeId);
|
||||
List<EmployeeRoleVo> roles = employeeService.getRolesByEmployeeId(activeEmployeeId);
|
||||
Platform.runLater(() -> {
|
||||
update(employee);
|
||||
rolesProperty().setAll(roles);
|
||||
@@ -151,9 +174,9 @@ public class CurrentEmployee extends EmployeeViewModel {
|
||||
future.complete(null);
|
||||
});
|
||||
});
|
||||
/**
|
||||
* 定时更新用户活动状态
|
||||
*/
|
||||
|
||||
|
||||
// 定时更新用户活动状态
|
||||
executorService.scheduleWithFixedDelay(() -> {
|
||||
try {
|
||||
// SpringApp.getBean(EmployeeService.class).updateActive(Desktop.instance.getSessionId());
|
||||
|
||||
Reference in New Issue
Block a user