From aa3c1a06ed46f49b617e2956b6cf9a1b0d367fb0 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Tue, 22 Nov 2016 17:49:03 +0300 Subject: add APNS feedback component --- .../com/juick/configuration/DataConfiguration.java | 1 - .../main/java/com/juick/server/PushQueries.java | 4 +++ .../java/com/juick/server/helpers/TokensList.java | 30 ++++++++++++++++++++++ .../java/com/juick/service/PushQueriesService.java | 2 ++ .../com/juick/service/PushQueriesServiceImpl.java | 5 ++++ 5 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 juick-server/src/main/java/com/juick/server/helpers/TokensList.java (limited to 'juick-server/src/main/java/com/juick') diff --git a/juick-server/src/main/java/com/juick/configuration/DataConfiguration.java b/juick-server/src/main/java/com/juick/configuration/DataConfiguration.java index 9f733184..89fda764 100644 --- a/juick-server/src/main/java/com/juick/configuration/DataConfiguration.java +++ b/juick-server/src/main/java/com/juick/configuration/DataConfiguration.java @@ -1,7 +1,6 @@ package com.juick.configuration; import org.apache.commons.dbcp2.BasicDataSource; -import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; diff --git a/juick-server/src/main/java/com/juick/server/PushQueries.java b/juick-server/src/main/java/com/juick/server/PushQueries.java index 904b3c0d..5ee3cef3 100644 --- a/juick-server/src/main/java/com/juick/server/PushQueries.java +++ b/juick-server/src/main/java/com/juick/server/PushQueries.java @@ -41,4 +41,8 @@ public class PushQueries { return sql.queryForList("SELECT token FROM ios INNER JOIN users " + "ON (users.id=ios.user_id) WHERE users.id IN (" + StringUtils.collectionToCommaDelimitedString(uids) + ")", String.class); } + + public static boolean deleteAPNSToken(JdbcTemplate sql, String token) { + return sql.update("DELETE FROM ios WHERE token=?", token) > 0; + } } diff --git a/juick-server/src/main/java/com/juick/server/helpers/TokensList.java b/juick-server/src/main/java/com/juick/server/helpers/TokensList.java new file mode 100644 index 00000000..cb331e04 --- /dev/null +++ b/juick-server/src/main/java/com/juick/server/helpers/TokensList.java @@ -0,0 +1,30 @@ +package com.juick.server.helpers; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.util.List; + +/** + * Created by vitalyster on 22.11.2016. + */ +public class TokensList { + private String type; + private List tokens; + + @JsonProperty("type") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public List getTokens() { + return tokens; + } + + public void setTokens(List tokens) { + this.tokens = tokens; + } +} diff --git a/juick-server/src/main/java/com/juick/service/PushQueriesService.java b/juick-server/src/main/java/com/juick/service/PushQueriesService.java index 8e7ce543..fe956c3a 100644 --- a/juick-server/src/main/java/com/juick/service/PushQueriesService.java +++ b/juick-server/src/main/java/com/juick/service/PushQueriesService.java @@ -17,4 +17,6 @@ public interface PushQueriesService { List getAPNSToken(int uid); List getAPNSTokens(List uids); + + boolean deleteAPNSToken(String token); } diff --git a/juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java b/juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java index 91861bd9..9bbadef6 100644 --- a/juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java +++ b/juick-server/src/main/java/com/juick/service/PushQueriesServiceImpl.java @@ -60,6 +60,11 @@ public class PushQueriesServiceImpl extends BaseJdbcService implements PushQueri uid); } + @Override + public boolean deleteAPNSToken(String token) { + return getJdbcTemplate().update("DELETE FROM ios WHERE token=?", token) > 0; + } + @Override public List getAPNSTokens(final List uids) { return getJdbcTemplate().queryForList( -- cgit v1.2.3