Pārlūkot izejas kodu

feat(utils): 新增商户认证工具类

- 添加 MercAuthUtils 类,用于处理商户认证相关功能
hechunping 4 mēneši atpakaļ
vecāks
revīzija
ec4a6d4663

+ 43 - 0
src/main/java/com/xynet/marketing/utils/MercAuthUtils.java

@@ -0,0 +1,43 @@
+package com.xynet.marketing.utils;
+
+import com.xynet.marketing.service.ProviderService;
+import com.xynet.marketing.utils.collections.map.JHashMap;
+import com.xynet.marketing.utils.redis.utils.RedisService;
+
+import java.util.Map;
+
+/**
+ * @author hechunping
+ * @date 2025/2/12
+ */
+public class MercAuthUtils {
+    private static String redisPrefix = "marketing:token:merc:";
+
+
+    public static Integer getMercId(String token, String providerId) {
+        RedisService<Integer> redisService = SpringBeanUtils.getBean(RedisService.class);
+        if (!Emptys.check(token)) {
+            throw new RuntimeException("token不能为空");
+        }
+        //判断redis里是否有对应的商户ID
+        Integer mercId = redisService.get(redisPrefix + providerId + ":" + token);
+        if (!Emptys.check(mercId)) {
+            //redis不存在,调用服务商获取商户ID的接口
+            mercId = getMercIdByProvider(token, providerId);
+            //将token存到redis中
+            redisService.set(redisPrefix + providerId + ":" + token, mercId, 7200);
+        }
+        return mercId;
+    }
+
+    private static Integer getMercIdByProvider(String token, String providerId) {
+        ProviderService providerService = SpringBeanUtils.getBean(ProviderService.class);
+        JHashMap<String, Object> param = new JHashMap<>();
+        param.set("id", providerId);
+        Map<String, Object> provider = providerService.obj(param);
+        //HttpUtil.post(provider.);
+        //TODO 调用第三方
+        return 1;
+    }
+
+}