aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--juick-api/build.gradle1
-rw-r--r--juick-api/src/main/java/com/juick/api/TopManager.java21
2 files changed, 22 insertions, 0 deletions
diff --git a/juick-api/build.gradle b/juick-api/build.gradle
index bba2be89..efd6af84 100644
--- a/juick-api/build.gradle
+++ b/juick-api/build.gradle
@@ -17,6 +17,7 @@ dependencies {
compile 'com.github.pengrad:java-telegram-bot-api:3.5.2'
compile 'com.github.messenger4j:messenger4j:1.0.0-M2'
+ compile "org.springframework.social:spring-social-facebook:2.0.3.RELEASE"
compile "org.springframework.social:spring-social-twitter:1.1.2.RELEASE"
compile 'org.apache.commons:commons-email:1.5'
compile 'org.imgscalr:imgscalr-lib:4.2'
diff --git a/juick-api/src/main/java/com/juick/api/TopManager.java b/juick-api/src/main/java/com/juick/api/TopManager.java
index ddf8e092..cfbea9a2 100644
--- a/juick-api/src/main/java/com/juick/api/TopManager.java
+++ b/juick-api/src/main/java/com/juick/api/TopManager.java
@@ -17,12 +17,19 @@
package com.juick.api;
+import com.juick.Message;
import com.juick.service.MessagesService;
+import com.juick.util.MessageUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.social.facebook.api.Facebook;
+import org.springframework.social.facebook.api.impl.FacebookTemplate;
import org.springframework.stereotype.Component;
+import javax.annotation.PostConstruct;
import javax.inject.Inject;
@Component
@@ -30,12 +37,26 @@ public class TopManager {
private static Logger logger = LoggerFactory.getLogger(TopManager.class);
@Inject
private MessagesService messagesService;
+ @Value("${facebook_appid}")
+ private String FACEBOOK_APPID;
+ @Value("${facebook_secret}")
+ private String FACEBOOK_SECRET;
+
+ private Facebook facebookTemplate;
+
+ @PostConstruct
+ public void init() {
+ facebookTemplate = new FacebookTemplate(String.format("%s|%s", FACEBOOK_APPID, FACEBOOK_SECRET));
+ }
@Scheduled(fixedRate = 3600000)
public void updateTop() {
messagesService.getPopularCandidates().forEach(m -> {
logger.info("added {} to popular", m);
messagesService.setMessagePopular(m, 1);
+ Message jmsg = messagesService.getMessage(m);
+ String status = MessageUtils.getMessageHashTags(jmsg) + StringUtils.defaultString(jmsg.getText()) + " https://juick.com/" + jmsg.getMid();
+ facebookTemplate.feedOperations().updateStatus(status);
});
}
}