|
@@ -33,13 +33,17 @@ import com.github.zuihou.database.mybatis.auth.DataScope;
|
|
|
import com.github.zuihou.database.mybatis.conditions.Wraps;
|
|
|
import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
|
|
|
import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
|
|
|
+import com.github.zuihou.exception.BizException;
|
|
|
+import com.github.zuihou.exception.code.ExceptionCode;
|
|
|
import com.github.zuihou.jwt.utils.JwtUtil;
|
|
|
import com.github.zuihou.security.model.SysUser;
|
|
|
+import com.github.zuihou.utils.Charsets;
|
|
|
import com.github.zuihou.utils.DateUtils;
|
|
|
import com.google.common.collect.Maps;
|
|
|
import io.jsonwebtoken.Claims;
|
|
|
+import io.jsonwebtoken.ExpiredJwtException;
|
|
|
+import io.jsonwebtoken.Jwts;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.apache.cxf.security.claims.authorization.Claim;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.slf4j.MDC;
|
|
@@ -100,25 +104,12 @@ public class DashboardJob {
|
|
|
BaseContextHandler.setTenant("0000");
|
|
|
|
|
|
List<String> userIds = webSocketServer.getUserIds();
|
|
|
- //List<Session> sessions = webSocketServer.getSessions();
|
|
|
userIds.forEach(item->{
|
|
|
List<Session> sessions = webSocketServer.getSessions(item);
|
|
|
- String userid = JwtUtil.parseJWT(item).get("userid").toString();
|
|
|
+ String userid = this.parseJWT(item).get("userid").toString();
|
|
|
this.broadCastData(userid, sessions);
|
|
|
//webSocketServer.BroadCastInfo(pushMsg, sessions);
|
|
|
});
|
|
|
-
|
|
|
- //logger.info("推送前端======"+pushMsg);
|
|
|
- //webSocketServer.BroadCastInfo(pushMsg);
|
|
|
- //更新推送状态
|
|
|
-// if(CollectionUtil.isNotEmpty(warnData.getRecords())) {
|
|
|
-// Long[] ids = warnData.getRecords().stream().map(item -> {
|
|
|
-// return item.getId();
|
|
|
-// }).toArray(Long[]::new);
|
|
|
-// UpdateWrapper<AAutoNodeLog> updateWrapper = new UpdateWrapper<AAutoNodeLog>();
|
|
|
-// updateWrapper.lambda().set(AAutoNodeLog::getSendStatus, "1").in(AAutoNodeLog::getId, ids);
|
|
|
-// autoNodeLogService.update(null, updateWrapper);
|
|
|
-// }
|
|
|
}
|
|
|
|
|
|
private void broadCastData(String userid, List<Session> sessions){
|
|
@@ -211,6 +202,21 @@ public class DashboardJob {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private Claims parseJWT(String token){
|
|
|
+ final String BASE64_SECURITY = Base64.getEncoder().encodeToString(BaseContextConstants.JWT_SIGN_KEY.getBytes(Charsets.UTF_8));
|
|
|
+ Claims claims = null;
|
|
|
+ try {
|
|
|
+ claims = Jwts.parserBuilder()
|
|
|
+ .setSigningKey(Base64.getDecoder().decode(BASE64_SECURITY)) // 设置标识名
|
|
|
+ .build()
|
|
|
+ .parseClaimsJws(token) //解析token
|
|
|
+ .getBody();
|
|
|
+ } catch (ExpiredJwtException e) {
|
|
|
+ claims = e.getClaims();
|
|
|
+ }
|
|
|
+ return claims;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private QueryWrap handlerWrapper(Object model, PageParams params) {
|
|
|
QueryWrap wrapper = model == null ? Wraps.q() : Wraps.q(model);
|