14 changed files with 264 additions and 130 deletions
-
20src/main/java/a8k/app/config/WebConfig.java
-
12src/main/java/a8k/app/controler/api/v1/app/ctrl/DeviceInitControler.java
-
1src/main/java/a8k/app/controler/api/v1/app/setting/DeviceSettingControler.java
-
1src/main/java/a8k/app/controler/api/v1/app/ws/AppWebSocketEndpointMgr.java
-
1src/main/java/a8k/app/factory/ZAppPromoptFactory.java
-
1src/main/java/a8k/app/hardware/type/A8kEcode.java
-
3src/main/java/a8k/app/i18n/Internationalization.java
-
27src/main/java/a8k/app/interceptor/RefreshAccessInterceptor.java
-
70src/main/java/a8k/app/service/data/AppUserMgrService.java
-
4src/main/java/a8k/app/service/lowerctrl/DeviceMoveToZeroCtrlService.java
-
5src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/AC30ScanTubeHolderTask.java
-
5src/main/java/a8k/app/service/setting/AppSettingsMgrService.java
-
7src/main/java/a8k/app/service/statemgr/TubeStateMgrService.java
-
1src/main/java/a8k/app/type/error/AEConsumeNotEnoughError.java
@ -0,0 +1,20 @@ |
|||
package a8k.app.config; |
|||
|
|||
import a8k.app.interceptor.RefreshAccessInterceptor; |
|||
import org.springframework.context.annotation.Configuration; |
|||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
|||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
|||
|
|||
@Configuration |
|||
public class WebConfig implements WebMvcConfigurer { |
|||
private final RefreshAccessInterceptor refreshInterceptor; |
|||
|
|||
public WebConfig(RefreshAccessInterceptor refreshInterceptor) { |
|||
this.refreshInterceptor = refreshInterceptor; |
|||
} |
|||
|
|||
@Override |
|||
public void addInterceptors(InterceptorRegistry registry) { |
|||
registry.addInterceptor(refreshInterceptor).addPathPatterns("/api/**"); |
|||
} |
|||
} |
@ -0,0 +1,27 @@ |
|||
package a8k.app.interceptor; |
|||
|
|||
import a8k.app.service.data.AppUserMgrService; |
|||
import jakarta.servlet.http.HttpServletRequest; |
|||
import jakarta.servlet.http.HttpServletResponse; |
|||
import org.jetbrains.annotations.NotNull; |
|||
import org.springframework.stereotype.Component; |
|||
import org.springframework.web.servlet.HandlerInterceptor; |
|||
|
|||
/** |
|||
* Interceptor that refreshes the last-access timestamp on each HTTP request. |
|||
*/ |
|||
@Component |
|||
public class RefreshAccessInterceptor implements HandlerInterceptor { |
|||
|
|||
private final AppUserMgrService userMgr; |
|||
|
|||
public RefreshAccessInterceptor(AppUserMgrService userMgr) { |
|||
this.userMgr = userMgr; |
|||
} |
|||
|
|||
@Override |
|||
public boolean preHandle(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response, @NotNull Object handler) { |
|||
userMgr.recordAccess(); |
|||
return true; |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue