From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/push/DeviceTokenHWServiceImpl.java |  189 ++++++++++++++++++++++++++--------------------
 1 files changed, 106 insertions(+), 83 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/DeviceTokenHWServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/DeviceTokenHWServiceImpl.java
index 5b03516..109115d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/DeviceTokenHWServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/DeviceTokenHWServiceImpl.java
@@ -1,83 +1,106 @@
-package com.yeshi.fanli.service.impl.push;
-
-import java.util.Date;
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-
-import com.yeshi.fanli.dao.mybatis.push.DeviceTokenHWMapper;
-import com.yeshi.fanli.entity.bus.user.UserInfo;
-import com.yeshi.fanli.entity.push.DeviceTokenHW;
-import com.yeshi.fanli.service.inter.push.DeviceTokenHWService;
-import com.yeshi.fanli.util.StringUtil;
-
-@Service
-public class DeviceTokenHWServiceImpl implements DeviceTokenHWService {
-
-	@Resource
-	private DeviceTokenHWMapper deviceTokenHWMapper;
-
-	@Override
-	public List<DeviceTokenHW> getDeviceTokenList(int page, int pageSize) {
-		return deviceTokenHWMapper.selectList((page - 1) * pageSize, pageSize);
-	}
-
-	@Override
-	public Long getDeviceTokenCount() {
-		Long count = deviceTokenHWMapper.selectCount();
-		return count == null ? 0 : count;
-	}
-
-	@Override
-	public void addDeviceToken(String token, String device, Long uid) {
-		if (StringUtil.isNullOrEmpty(device))
-			return;
-		//
-		if (uid != null && uid == 0)
-			uid = null;
-
-		List<DeviceTokenHW> list = deviceTokenHWMapper.selectByDevice(device);
-		if (list == null || list.size() == 0) {
-			DeviceTokenHW deviceTokenHW = new DeviceTokenHW();
-			deviceTokenHW.setDevice(device);
-			deviceTokenHW.setDeviceToken(token);
-			deviceTokenHW.setUpdateTime(new Date());
-			if (uid != null)
-				deviceTokenHW.setUser(new UserInfo(uid));
-			deviceTokenHWMapper.insertSelective(deviceTokenHW);
-		} else {
-			for (DeviceTokenHW deviceTokenHW : list) {
-				DeviceTokenHW update = new DeviceTokenHW();
-				update.setId(deviceTokenHW.getId());
-				if (!StringUtil.isNullOrEmpty(token))
-					update.setDeviceToken(token);
-				update.setUpdateTime(new Date());
-				if (uid != null)
-					update.setUser(new UserInfo(uid));
-				deviceTokenHWMapper.updateByPrimaryKeySelective(update);
-			}
-		}
-	}
-
-	@Override
-	public List<DeviceTokenHW> getDeviceTokenByUid(Long uid) {
-		if (uid == null)
-			return null;
-		return deviceTokenHWMapper.selectByUid(uid);
-	}
-
-	@Override
-	public void unBindDeviceToken(String device) {
-		List<DeviceTokenHW> list = deviceTokenHWMapper.selectByDevice(device);
-		if (list == null || list.size() == 0)
-			return;
-		for (DeviceTokenHW deviceTokenHW : list) {
-			deviceTokenHW.setUser(null);
-			deviceTokenHW.setUpdateTime(new Date());
-			deviceTokenHWMapper.updateByPrimaryKey(deviceTokenHW);
-		}
-	}
-
-}
+package com.yeshi.fanli.service.impl.push;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.yeshi.fanli.dao.mybatis.push.DeviceTokenHWMapper;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.push.DeviceTokenHW;
+import com.yeshi.fanli.service.inter.push.DeviceTokenHWService;
+import com.yeshi.fanli.util.StringUtil;
+
+@Service
+public class DeviceTokenHWServiceImpl implements DeviceTokenHWService {
+
+    @Resource
+    private DeviceTokenHWMapper deviceTokenHWMapper;
+
+    @Override
+    public List<DeviceTokenHW> getDeviceTokenList(int page, int pageSize, List<Integer> versionList, Date minUpdateTime) {
+        return deviceTokenHWMapper.selectList((page - 1) * pageSize, pageSize, minUpdateTime, versionList);
+    }
+
+    @Override
+    public Long countDeviceToken(List<Integer> versionList,Date minUpdateTime) {
+        Long count = deviceTokenHWMapper.selectCount(versionList,minUpdateTime);
+        return count == null ? 0 : count;
+    }
+
+    @Transactional
+    @Override
+    public void addDeviceToken(String token, String device, Long uid, int version) {
+        if (StringUtil.isNullOrEmpty(device))
+            return;
+        //
+        if (uid != null && uid == 0)
+            uid = null;
+
+        List<DeviceTokenHW> list = deviceTokenHWMapper.selectByDeviceForUpdate(device);
+        if (list == null || list.size() == 0) {
+            DeviceTokenHW deviceTokenHW = new DeviceTokenHW();
+            deviceTokenHW.setDevice(device);
+            deviceTokenHW.setDeviceToken(token);
+            deviceTokenHW.setDeviceTokenMd5(StringUtil.Md5(token));
+            deviceTokenHW.setVersion(version);
+            deviceTokenHW.setUpdateTime(new Date());
+            if (uid != null)
+                deviceTokenHW.setUser(new UserInfo(uid));
+            deviceTokenHWMapper.insertSelective(deviceTokenHW);
+        } else {
+            for (DeviceTokenHW deviceTokenHW : list) {
+                DeviceTokenHW update = new DeviceTokenHW();
+                update.setId(deviceTokenHW.getId());
+                if (!StringUtil.isNullOrEmpty(token)) {
+                    update.setDeviceToken(token);
+                    update.setDeviceTokenMd5(StringUtil.Md5(token));
+                    update.setVersion(version);
+                }
+                update.setUpdateTime(new Date());
+                if (uid != null)
+                    update.setUser(new UserInfo(uid));
+                deviceTokenHWMapper.updateByPrimaryKeySelective(update);
+            }
+        }
+    }
+
+    @Override
+    public List<DeviceTokenHW> getDeviceTokenByUid(Long uid) {
+        if (uid == null)
+            return null;
+        return deviceTokenHWMapper.selectByUid(uid, null);
+    }
+
+    @Override
+    public void unBindDeviceToken(String device) {
+        List<DeviceTokenHW> list = deviceTokenHWMapper.selectByDevice(device);
+        if (list == null || list.size() == 0)
+            return;
+        for (DeviceTokenHW deviceTokenHW : list) {
+            deviceTokenHW.setUser(null);
+            deviceTokenHW.setUpdateTime(new Date());
+            deviceTokenHWMapper.updateByPrimaryKey(deviceTokenHW);
+        }
+    }
+
+    @Override
+    public void bindUid(String device, Long uid) {
+        deviceTokenHWMapper.bindUidByDevice(uid, device);
+    }
+
+    @Override
+    public List<DeviceTokenHW> getDeviceTokenByUid(Long uid, List<Integer> versionList) {
+        if (uid == null)
+            return null;
+
+        if (versionList != null && versionList.size() == 0)
+            return null;
+
+        return deviceTokenHWMapper.selectByUid(uid, versionList);
+    }
+
+}

--
Gitblit v1.8.0