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