|
@@ -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;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|