Skip to content

Commit c5bad2d

Browse files
@initial 7.0.0-preview.606 Fixed bugs
1 parent eb6f90f commit c5bad2d

22 files changed

Lines changed: 481 additions & 72 deletions
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.talexframe.frame.core.function.command.frame;
2+
3+
import com.talexframe.frame.core.function.command.BaseCommand;
4+
import com.talexframe.frame.core.function.command.ISender;
5+
import com.talexframe.frame.core.talex.TFrame;
6+
import com.talexframe.launcher.Launcher;
7+
8+
/**
9+
* 帮助命令 <br /> {@link com.talexframe.frame.function.command.frame Package }
10+
*
11+
* @author TalexDreamSoul
12+
* @date 2022/1/20 11:40 <br /> Project: TalexFrame <br />
13+
*/
14+
public class RestartCmd extends BaseCommand {
15+
16+
public RestartCmd() {
17+
18+
super(TFrame.tframe.getFrameSender(), "restart", new String[] {}, "重启系统");
19+
}
20+
21+
@Override
22+
public boolean executeCommand(ISender sender, String wholeCommand, String matchedLabel, String[] args) {
23+
24+
Launcher.restart = true;
25+
26+
tframe.shutdown();
27+
28+
return false;
29+
30+
}
31+
32+
}

src/main/java/com/talexframe/frame/core/function/listener/FrameMajorListener.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package com.talexframe.frame.core.function.listener;
22

3+
import cn.hutool.core.thread.ThreadUtil;
34
import com.talexframe.frame.TalexFrameApplication;
45
import com.talexframe.frame.core.modules.event.events.frame.*;
56
import com.talexframe.frame.core.pojo.enums.FrameStatus;
67
import com.talexframe.frame.core.talex.TFrame;
8+
import com.talexframe.launcher.Launcher;
79
import lombok.SneakyThrows;
810
import lombok.extern.slf4j.Slf4j;
911
import org.springframework.boot.context.event.ApplicationPreparedEvent;
@@ -95,6 +97,22 @@ public void onStopped(ContextClosedEvent event) {
9597

9698
scanner.close();
9799

100+
} else if( Launcher.restart ) {
101+
102+
ThreadUtil.execAsync(() -> {
103+
104+
log.info("[框架] 将在 3 秒后重启...");
105+
106+
try {
107+
Thread.sleep(3000);
108+
} catch ( InterruptedException e ) {
109+
throw new RuntimeException(e);
110+
}
111+
112+
TalexFrameApplication.start(Launcher.g_args);
113+
114+
});
115+
98116
}
99117

100118
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
package com.talexframe.frame.core.function.listener;
2+
3+
import cn.dev33.satoken.listener.SaTokenListener;
4+
import cn.dev33.satoken.stp.SaLoginModel;
5+
import com.talexframe.frame.core.modules.event.events.satoken.*;
6+
import com.talexframe.frame.core.talex.TFrame;
7+
import org.springframework.stereotype.Component;
8+
9+
/**
10+
* {@link com.talexframe.frame.core.function.listener Package }
11+
*
12+
* @author TalexDreamSoul 22/06/05 下午 11:52 Project: TalexFrame
13+
*/
14+
@Component
15+
public class FrameSaTokenListener implements SaTokenListener {
16+
17+
@Override
18+
public void doLogin(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel) {
19+
20+
TFrame.tframe.callEvent(new SaPostLoginEvent(loginType, loginId, tokenValue, loginModel));
21+
22+
}
23+
24+
/** 每次注销时触发 */
25+
@Override
26+
public void doLogout(String loginType, Object loginId, String tokenValue) {
27+
28+
TFrame.tframe.callEvent(new SaPostLogoutEvent(loginType, loginId, tokenValue));
29+
30+
}
31+
32+
/** 每次被踢下线时触发 */
33+
@Override
34+
public void doKickout(String loginType, Object loginId, String tokenValue) {
35+
36+
TFrame.tframe.callEvent(new SaPostLogoutEvent(loginType, loginId, tokenValue));
37+
38+
}
39+
40+
/** 每次被顶下线时触发 */
41+
@Override
42+
public void doReplaced(String loginType, Object loginId, String tokenValue) {
43+
44+
TFrame.tframe.callEvent(new SaPostLogoutEvent(loginType, loginId, tokenValue));
45+
46+
}
47+
48+
/** 每次被封禁时触发 */
49+
@Override
50+
public void doDisable(String loginType, Object loginId, long disableTime) {
51+
52+
TFrame.tframe.callEvent(new SaUserDisabledEvent(loginType, loginId, disableTime));
53+
54+
}
55+
56+
/** 每次被解封时触发 */
57+
@Override
58+
public void doUntieDisable(String loginType, Object loginId) {
59+
60+
TFrame.tframe.callEvent(new SaUserEnabledEvent(loginType, loginId));
61+
62+
}
63+
64+
/** 每次创建Session时触发 */
65+
@Override
66+
public void doCreateSession(String id) {
67+
68+
TFrame.tframe.callEvent(new SaSessionCreateEvent(id));
69+
70+
}
71+
72+
/** 每次注销Session时触发 */
73+
@Override
74+
public void doLogoutSession(String id) {
75+
76+
TFrame.tframe.callEvent(new SaSessionLogoutEvent(id));
77+
78+
}
79+
80+
}

src/main/java/com/talexframe/frame/core/function/listener/FrameSelfListener.java

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22

33
import com.talexframe.frame.core.modules.event.FrameListener;
44
import com.talexframe.frame.core.modules.event.TalexSubscribe;
5-
import com.talexframe.frame.core.modules.event.events.dao.DAOProcessorConnectedEvent;
65
import com.talexframe.frame.core.modules.event.events.dao.DAOProcessorPreShutdownEvent;
7-
import com.talexframe.frame.core.modules.repository.TRepoPlus;
86
import com.talexframe.frame.core.modules.repository.TRepo;
7+
import com.talexframe.frame.core.modules.repository.TRepoPlus;
98
import com.talexframe.frame.core.pojo.dao.factory.mysql.Mysql;
109
import com.talexframe.frame.core.talex.TFrame;
1110

@@ -25,20 +24,20 @@ public FrameSelfListener() {
2524

2625
}
2726

28-
@TalexSubscribe
29-
public void onMysqlConnected(DAOProcessorConnectedEvent<Mysql> event) {
30-
31-
for ( TRepo repository : tframe.getRepoManager().getRepositories().values() ) {
32-
33-
if ( repository instanceof TRepoPlus ) {
34-
35-
( (TRepoPlus<?>) repository ).onInstall();
36-
37-
}
38-
39-
}
40-
41-
}
27+
// @TalexSubscribe
28+
// public void onMysqlConnected(DAOProcessorConnectedEvent<Mysql> event) {
29+
//
30+
// for ( TRepo repository : tframe.getRepoManager().getRepositories().values() ) {
31+
//
32+
// if ( repository instanceof TRepoPlus ) {
33+
//
34+
// ( (TRepoPlus<?>) repository ).onInstall();
35+
//
36+
// }
37+
//
38+
// }
39+
//
40+
// }
4241

4342
@TalexSubscribe
4443
public void onMysqlPreShutdown(DAOProcessorPreShutdownEvent<Mysql> event) {
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.talexframe.frame.core.modules.event.events.satoken;
2+
3+
import com.talexframe.frame.core.modules.event.TalexEvent;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
6+
7+
/**
8+
* 当用户被踢出时触发
9+
*/
10+
@EqualsAndHashCode( callSuper = true )
11+
@Data
12+
public class SaKickLogoutEvent extends TalexEvent {
13+
14+
private final String loginType;
15+
private final Object loginId;
16+
private final String tokenValue;
17+
18+
public SaKickLogoutEvent(String loginType, Object loginId, String tokenValue) {
19+
20+
this.loginType = loginType;
21+
this.loginId = loginId;
22+
this.tokenValue = tokenValue;
23+
}
24+
25+
26+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.talexframe.frame.core.modules.event.events.satoken;
2+
3+
import cn.dev33.satoken.stp.SaLoginModel;
4+
import com.talexframe.frame.core.modules.event.TalexEvent;
5+
import lombok.Data;
6+
import lombok.EqualsAndHashCode;
7+
8+
/**
9+
* 当用户登录时触发
10+
*/
11+
@EqualsAndHashCode( callSuper = true )
12+
@Data
13+
public class SaPostLoginEvent extends TalexEvent {
14+
15+
private final String loginType;
16+
private final Object loginId;
17+
private final String tokenValue;
18+
private final SaLoginModel loginModel;
19+
20+
public SaPostLoginEvent(String loginType, Object loginId, String tokenValue, SaLoginModel loginModel) {
21+
22+
this.loginType = loginType;
23+
this.loginId = loginId;
24+
this.tokenValue = tokenValue;
25+
this.loginModel = loginModel;
26+
27+
}
28+
29+
30+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.talexframe.frame.core.modules.event.events.satoken;
2+
3+
import com.talexframe.frame.core.modules.event.TalexEvent;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
6+
7+
/**
8+
* 当用户登出时触发
9+
*/
10+
@EqualsAndHashCode( callSuper = true )
11+
@Data
12+
public class SaPostLogoutEvent extends TalexEvent {
13+
14+
private final String loginType;
15+
private final Object loginId;
16+
private final String tokenValue;
17+
18+
public SaPostLogoutEvent(String loginType, Object loginId, String tokenValue) {
19+
20+
this.loginType = loginType;
21+
this.loginId = loginId;
22+
this.tokenValue = tokenValue;
23+
24+
}
25+
26+
27+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.talexframe.frame.core.modules.event.events.satoken;
2+
3+
import com.talexframe.frame.core.modules.event.TalexEvent;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
6+
7+
/**
8+
* 当用户登出时触发
9+
*/
10+
@EqualsAndHashCode( callSuper = true )
11+
@Data
12+
public class SaPostReplacedOutEvent extends TalexEvent {
13+
14+
private final String loginType;
15+
private final Object loginId;
16+
private final String tokenValue;
17+
18+
public SaPostReplacedOutEvent(String loginType, Object loginId, String tokenValue) {
19+
20+
this.loginType = loginType;
21+
this.loginId = loginId;
22+
this.tokenValue = tokenValue;
23+
}
24+
25+
26+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.talexframe.frame.core.modules.event.events.satoken;
2+
3+
import com.talexframe.frame.core.modules.event.TalexEvent;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
6+
7+
/**
8+
* 当 Session创建 时触发
9+
*/
10+
@EqualsAndHashCode( callSuper = true )
11+
@Data
12+
public class SaSessionCreateEvent extends TalexEvent {
13+
14+
private final String id;
15+
16+
public SaSessionCreateEvent(String id) {
17+
18+
this.id = id;
19+
20+
}
21+
22+
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.talexframe.frame.core.modules.event.events.satoken;
2+
3+
import com.talexframe.frame.core.modules.event.TalexEvent;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
6+
7+
/**
8+
* 当 Session注销 时触发
9+
*/
10+
@EqualsAndHashCode( callSuper = true )
11+
@Data
12+
public class SaSessionLogoutEvent extends TalexEvent {
13+
14+
private final String id;
15+
16+
public SaSessionLogoutEvent(String id) {
17+
18+
this.id = id;
19+
20+
}
21+
22+
23+
}

0 commit comments

Comments
 (0)