aboutsummaryrefslogtreecommitdiff
path: root/server-core/src/main/java/com/juick/service/PushQueriesServiceImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'server-core/src/main/java/com/juick/service/PushQueriesServiceImpl.java')
-rw-r--r--server-core/src/main/java/com/juick/service/PushQueriesServiceImpl.java55
1 files changed, 54 insertions, 1 deletions
diff --git a/server-core/src/main/java/com/juick/service/PushQueriesServiceImpl.java b/server-core/src/main/java/com/juick/service/PushQueriesServiceImpl.java
index 0381f913..7c3f9d5b 100644
--- a/server-core/src/main/java/com/juick/service/PushQueriesServiceImpl.java
+++ b/server-core/src/main/java/com/juick/service/PushQueriesServiceImpl.java
@@ -1,10 +1,63 @@
package com.juick.service;
import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
/**
* Created by aalexeev on 11/13/16.
*/
@Repository
-public class PushQueriesServiceImpl extends BaseJdbcDao implements PushQueriesService {
+@Transactional(readOnly = true)
+public class PushQueriesServiceImpl extends BaseJdbcService implements PushQueriesService {
+
+ @Override
+ public List<String> getAndroidRegID(final int uid) {
+ return getJdbcTemplate().queryForList(
+ "SELECT regid FROM android WHERE user_id=?",
+ String.class,
+ uid);
+ }
+
+ @Override
+ public List<String> getAndroidTokens(final List<Integer> uids) {
+ return getJdbcTemplate().queryForList(
+ "SELECT regid FROM android INNER JOIN users " +
+ "ON (users.id=android.user_id) WHERE users.id IN (" + StringUtils.collectionToCommaDelimitedString(uids) + ")",
+ String.class);
+ }
+
+ @Override
+ public List<String> getWinPhoneURL(final int uid) {
+ return getJdbcTemplate().queryForList(
+ "SELECT url FROM winphone WHERE user_id=?",
+ String.class,
+ uid);
+ }
+
+ @Override
+ public List<String> getWindowsTokens(final List<Integer> uids) {
+ return getJdbcTemplate().queryForList(
+ "SELECT url FROM winphone INNER JOIN users " +
+ "ON (users.id=winphone.user_id) WHERE users.id IN (" + StringUtils.collectionToCommaDelimitedString(uids) + ")",
+ String.class);
+ }
+
+ @Override
+ public List<String> getAPNSToken(final int uid) {
+ return getJdbcTemplate().queryForList(
+ "SELECT token from ios WHERE user_id=?",
+ String.class,
+ uid);
+ }
+
+ @Override
+ public List<String> getAPNSTokens(final List<Integer> uids) {
+ return getJdbcTemplate().queryForList(
+ "SELECT token FROM ios INNER JOIN users " +
+ "ON (users.id=ios.user_id) WHERE users.id IN (" + StringUtils.collectionToCommaDelimitedString(uids) + ")",
+ String.class);
+ }
}