From f65443d8abeaedc9d102324565e8368e7c9d90c8 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Mon, 19 Jun 2023 14:41:54 +0800
Subject: [PATCH] commit
---
src/main/java/com/gk/firework/Domain/Utils/CommonUtil.java | 139 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 139 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gk/firework/Domain/Utils/CommonUtil.java b/src/main/java/com/gk/firework/Domain/Utils/CommonUtil.java
new file mode 100644
index 0000000..b8bdc08
--- /dev/null
+++ b/src/main/java/com/gk/firework/Domain/Utils/CommonUtil.java
@@ -0,0 +1,139 @@
+package com.gk.firework.Domain.Utils;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.setting.Setting;
+import com.google.common.base.Splitter;
+import com.google.common.collect.Lists;
+import io.jsonwebtoken.Claims;
+import io.jsonwebtoken.Jwts;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Optional;
+import java.util.function.Function;
+import java.util.function.Supplier;
+import java.util.stream.Collectors;
+
+/**
+ * 常用工具类
+ *
+ * @author zhangby
+ * @date 2019-05-13 12:20
+ */
+public class CommonUtil {
+
+ /**
+ * 解析token
+ * @return
+ */
+ public static Claims parseJwtNoBearer(String jwt){
+ try{
+ Claims claims = Jwts.parser()
+ .setSigningKey("springCloud_oauth_service".getBytes())
+ .parseClaimsJws(jwt).getBody();
+ return claims;
+ }catch(Exception ex){
+ ex.printStackTrace();
+ return null;
+ }
+ }
+
+ /**
+ * 解析token
+ * @param jsonWebToken
+ * @param base64Security
+ * @return
+ */
+ public static Claims parseJWT(String jsonWebToken, String base64Security){
+ String jwt = jsonWebToken.replace("Bearer ", "");
+ try{
+ Claims claims = Jwts.parser()
+ .setSigningKey(base64Security.getBytes())
+ .parseClaimsJws(jwt).getBody();
+ return claims;
+ }catch(Exception ex){
+ ex.printStackTrace();
+ return null;
+ }
+ }
+
+ /**
+ * 解析token
+ * @param jsonWebToken
+ * @return
+ */
+ public static Claims parseJWT(String jsonWebToken){
+ return emptyStr(jsonWebToken).map(token -> CommonUtil.parseJWT(token, "springCloud_oauth_service")).orElse(null);
+ }
+
+ /**
+ * list数据转换
+ * @param list list对象
+ * @param func lamdba 表达式 function
+ * @param <E> 原对象
+ * @param <T> 转换完的对象
+ * @return List<E>
+ */
+ public static <E,T> List<E> convers(List<T> list, Function<T, E> func) {
+ return list.stream().collect(ArrayList::new, (li, p) -> li.add(func.apply(p)), List::addAll);
+ }
+
+ /**
+ * 加载错误信息
+ * @return
+ */
+ public static String loadErrorMsg(String num, Object... msg) {
+ //获取错误码配置信息
+ Setting errorSetting = ConfigUtil.getErrorSetting();
+ //获取错误码
+ String errMsg = errorSetting.get(StrUtil.format("code_{}", num));
+ if (ObjectUtil.isNotNull(msg)) {
+ errMsg = StrUtil.format(errMsg, msg);
+ }
+ return errMsg;
+ }
+
+ /**
+ * 字符串模板替换 截取
+ * ClassTest::getDictList4Function,{}::{} ->[ClassTest,getDictList4Function]
+ *
+ * @param str
+ * @param temp
+ * @return
+ */
+ public static List<String> splitStr4Temp(String str, String temp) {
+ List<String> rsList = Lists.newArrayList();
+ Iterator<String> iterator = Splitter.on("{}").omitEmptyStrings().split(temp).iterator();
+ while (iterator.hasNext()) {
+ str = str.replace(iterator.next(), "〆");
+ }
+ Iterator<String> split = Splitter.on("〆").omitEmptyStrings().split(str).iterator();
+ while (split.hasNext()) {
+ rsList.add(split.next());
+ }
+ return rsList.stream().filter(StrUtil::isNotBlank).collect(Collectors.toList());
+ }
+
+ /**
+ * 异常捕获
+ * @param resolver resolver
+ * @param <T> T
+ * @return
+ */
+ public static <T> Optional<T> resolve(Supplier<T> resolver) {
+ Optional<T> optional = Optional.empty();
+ try {
+ T result = resolver.get();
+ optional = Optional.ofNullable(result);
+ } catch (Exception e) {
+ optional = Optional.empty();
+ }
+ return optional;
+ }
+
+ public static Optional<String> emptyStr(String string) {
+ return Optional.ofNullable(string).filter(StrUtil::isNotBlank);
+ }
+}
--
Gitblit v1.9.2