diff options
-rw-r--r-- | juick-api/build.gradle | 1 | ||||
-rw-r--r-- | juick-api/src/main/java/com/juick/api/TopManager.java | 21 |
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); }); } } |