From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 26 四月 2024 18:02:17 +0800
Subject: [PATCH] 唯品会链接解析升级

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 48 insertions(+), 9 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java
index 5f22725..42b5dfd 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java
@@ -2,6 +2,7 @@
 
 import com.alipay.api.AlipayApiException;
 import com.google.gson.Gson;
+import com.ks.push.service.BDeviceTokenService;
 import com.yeshi.fanli.dto.wx.WXAccountInfoDTO;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.*;
@@ -31,10 +32,14 @@
 import com.yeshi.fanli.util.wx.MyWXLoginUtil;
 import com.yeshi.fanli.vo.user.QQUserInfoVO;
 import net.sf.json.JSONObject;
+import org.apache.dubbo.config.annotation.Reference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.TimeUtil;
 import org.yeshi.utils.encrypt.DESUtil;
 import org.yeshi.utils.entity.ProxyIP;
 import org.yeshi.utils.entity.wx.WeiXinUser;
@@ -53,6 +58,8 @@
 @Controller
 @RequestMapping("api/v1/user")
 public class UserAccountController {
+
+    private Logger logger = LoggerFactory.getLogger(UserAccountController.class);
 
     @Resource
     private UserInfoService userInfoService;
@@ -119,6 +126,10 @@
 
     @Resource
     private DeviceActiveService deviceActiveService;
+
+
+    @Reference(version = "1.0", check = false)
+    private BDeviceTokenService bDeviceTokenService;
 
     private BusinessSystem getSystem(AcceptData acceptData) {
         BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
@@ -1055,16 +1066,27 @@
             return;
         if ("android".equalsIgnoreCase(acceptData.getPlatform())) {
             DeviceActive deviceActive = deviceActiveService.getFirstActiveInfo(acceptData.getDevice());
-            // 闇�瑕佽В缁慔W鎺ㄩ�佺殑鐢ㄦ埛缁戝畾
-            deviceTokenHWService.unBindDeviceToken(acceptData.getDevice());
-            if (deviceActive != null) {
-                // 瑙g粦OPPO鎺ㄩ�佺殑鐢ㄦ埛缁戝畾
-                deviceTokenOPPOService.unBindUid(uid, deviceActive.getId());
-                // 瑙g粦VIVO鎺ㄩ�佺殑鐢ㄦ埛缁戝畾
-                deviceTokenVIVOService.unBindUid(uid, deviceActive.getId());
-                // 瑙g粦XM鎺ㄩ�佺殑鐢ㄦ埛缁戝畾
-                deviceTokenXMService.unBindUid(deviceActive.getId());
+
+            //鏂扮増鎺ㄩ�佽В缁�
+            if (acceptData.getSystem().isNewPush()) {
+                try {
+                    bDeviceTokenService.unBindUid(acceptData.getSystem().name(), StringUtil.isNullOrEmpty(acceptData.getUtdid()) ? acceptData.getDevice() : acceptData.getUtdid());
+                } catch (Exception e) {
+                    logger.error("鏂扮増鎺ㄩ�佽В缁戝嚭閿欙細{}", uid, e);
+                }
+            } else {
+                // 闇�瑕佽В缁慔W鎺ㄩ�佺殑鐢ㄦ埛缁戝畾
+                deviceTokenHWService.unBindDeviceToken(acceptData.getDevice());
+                if (deviceActive != null) {
+                    // 瑙g粦OPPO鎺ㄩ�佺殑鐢ㄦ埛缁戝畾
+                    deviceTokenOPPOService.unBindUid(uid, deviceActive.getId());
+                    // 瑙g粦VIVO鎺ㄩ�佺殑鐢ㄦ埛缁戝畾
+                    deviceTokenVIVOService.unBindUid(uid, deviceActive.getId());
+                    // 瑙g粦XM鎺ㄩ�佺殑鐢ㄦ埛缁戝畾
+                    deviceTokenXMService.unBindUid(deviceActive.getId());
+                }
             }
+
         }
         out.print(JsonUtil.loadTrueResult(""));
     }
@@ -1088,6 +1110,14 @@
         if (!VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion())) {
             out.print("璇峰崌绾у埌鏈�鏂扮増鏈�");
             return;
+        }
+
+        if (!StringUtil.isNullOrEmpty(aliAccessToken)) {
+            long now = System.currentTimeMillis();
+            String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.oneKeyLoginCount, StringUtil.Md5(StringUtil.isNullOrEmpty(acceptData.getUtdid()) ? acceptData.getDevice() : acceptData.getUtdid()));
+            redisManager.increase(key);
+            int expire = (int) ((TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now + 1000 * 60 * 60 * 24L, "yyyyMMdd"), "yyyyMMdd") - now) / 1000);
+            redisManager.expire(key, expire);
         }
 
         try {
@@ -1170,6 +1200,15 @@
             out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�"));
             return;
         }
+
+        if (!StringUtil.isNullOrEmpty(aliAccessToken)) {
+            long now = System.currentTimeMillis();
+            String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.oneKeyLoginCount, StringUtil.Md5(StringUtil.isNullOrEmpty(acceptData.getUtdid()) ? acceptData.getDevice() : acceptData.getUtdid()));
+            redisManager.increase(key);
+            int expire = (int) ((TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now + 1000 * 60 * 60 * 24L, "yyyyMMdd"), "yyyyMMdd") - now) / 1000);
+            redisManager.expire(key, expire);
+        }
+
         String mobile = null;
         try {
             mobile = userAccountService.getMobile(vcode, phone, aliAccessToken, acceptData.getSystem(), SMSHistory.TYPE_BIND);

--
Gitblit v1.8.0