diff options
Diffstat (limited to 'juick-api/src')
-rw-r--r-- | juick-api/src/main/java/com/juick/api/TopManager.java | 21 |
1 files changed, 21 insertions, 0 deletions
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); }); } } |