USVISATRAC-48 将自动更新的方法更新到自动程序处理中,便于自动运行
This commit is contained in:
parent
5aa18e8e71
commit
d2958bd364
@ -1,6 +1,7 @@
|
||||
package com.usvisatrack.services;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@ -19,7 +20,13 @@ import org.jsoup.select.Elements;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.rometools.rome.feed.synd.SyndEntry;
|
||||
import com.rometools.rome.feed.synd.SyndFeed;
|
||||
import com.rometools.rome.io.SyndFeedInput;
|
||||
import com.rometools.rome.io.XmlReader;
|
||||
import com.usvisatrack.core.dao.model.CheckeeVisa;
|
||||
import com.usvisatrack.core.dao.model.CmsArticle;
|
||||
import com.usvisatrack.core.dao.model.CmsArticleOssezContent;
|
||||
import com.usvisatrack.core.dao.model.ConfApp;
|
||||
import com.usvisatrack.core.dao.model.SocialMedia;
|
||||
import com.usvisatrack.core.dao.model.SocialMediaLog;
|
||||
@ -30,6 +37,7 @@ import com.usvisatrack.core.dao.model.VisaStatusLog;
|
||||
import com.usvisatrack.core.dao.model.data.VisaEntry;
|
||||
import com.usvisatrack.core.dao.model.data.VisaStatus;
|
||||
import com.usvisatrack.core.factories.ConfFactory;
|
||||
import com.usvisatrack.core.factories.DataFactory;
|
||||
import com.usvisatrack.core.factories.LogFactory;
|
||||
import com.usvisatrack.core.factories.SocialMediaFactory;
|
||||
import com.usvisatrack.core.factories.USFactory;
|
||||
@ -53,6 +61,8 @@ public class VisaImporter extends DataCrawl {
|
||||
private static final String CONF_LAST_RUNTIME = VisaImporter.class.getName() + "-lastRuntime";
|
||||
private static final String CONF_TWITTER_COUNT = VisaImporter.class.getName() + "-twitterCount";
|
||||
|
||||
private static final String RSS_URL = "http://rss.ossez.com/public.php?op=rss&id=-2&view-mode=all_articles&key=ofclrs5a01d7c3bdab2";
|
||||
|
||||
private static final String TWITTER = "Twitter";
|
||||
private static final String URL_CHECKEE = "https://www.checkee.info/main.php?dispdate=";
|
||||
|
||||
@ -103,8 +113,8 @@ public class VisaImporter extends DataCrawl {
|
||||
logger.debug("NOT RUN");
|
||||
}
|
||||
|
||||
// SOCIAL MEDIA
|
||||
SocialMedia();
|
||||
socialMedia();// SOCIAL MEDIA
|
||||
rssArticle(); // RSS
|
||||
|
||||
processCleanup();
|
||||
}
|
||||
@ -204,30 +214,30 @@ public class VisaImporter extends DataCrawl {
|
||||
String visaClassName = StringUtils.trimToEmpty(tds.get(2).text());
|
||||
if (StringUtils.isNotBlank(visaClassName)) {
|
||||
switch (visaClassName) {
|
||||
case "B1" :
|
||||
visaClassName = "B-1";
|
||||
break;
|
||||
case "B2" :
|
||||
visaClassName = "B-2";
|
||||
break;
|
||||
case "H1" :
|
||||
visaClassName = "H1-B";
|
||||
break;
|
||||
case "H4" :
|
||||
visaClassName = "H-4";
|
||||
break;
|
||||
case "F1" :
|
||||
visaClassName = "F-1";
|
||||
break;
|
||||
case "F2" :
|
||||
visaClassName = "F-2";
|
||||
break;
|
||||
case "J1" :
|
||||
visaClassName = "J-1";
|
||||
break;
|
||||
case "L1" :
|
||||
visaClassName = "L-1";
|
||||
break;
|
||||
case "B1":
|
||||
visaClassName = "B-1";
|
||||
break;
|
||||
case "B2":
|
||||
visaClassName = "B-2";
|
||||
break;
|
||||
case "H1":
|
||||
visaClassName = "H1-B";
|
||||
break;
|
||||
case "H4":
|
||||
visaClassName = "H-4";
|
||||
break;
|
||||
case "F1":
|
||||
visaClassName = "F-1";
|
||||
break;
|
||||
case "F2":
|
||||
visaClassName = "F-2";
|
||||
break;
|
||||
case "J1":
|
||||
visaClassName = "J-1";
|
||||
break;
|
||||
case "L1":
|
||||
visaClassName = "L-1";
|
||||
break;
|
||||
}
|
||||
|
||||
visa.setVisaClass(visaClassMap.get(visaClassName));
|
||||
@ -237,12 +247,12 @@ public class VisaImporter extends DataCrawl {
|
||||
String visaEntryName = StringUtils.upperCase(StringUtils.trimToEmpty(tds.get(3).text()));
|
||||
if (StringUtils.isNotBlank(visaEntryName)) {
|
||||
switch (visaEntryName) {
|
||||
case "NEW" :
|
||||
visa.setVisaEntry(VisaEntry.NEW);
|
||||
break;
|
||||
case "RENEWAL" :
|
||||
visa.setVisaEntry(VisaEntry.RENEWAL);
|
||||
break;
|
||||
case "NEW":
|
||||
visa.setVisaEntry(VisaEntry.NEW);
|
||||
break;
|
||||
case "RENEWAL":
|
||||
visa.setVisaEntry(VisaEntry.RENEWAL);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
@ -251,27 +261,27 @@ public class VisaImporter extends DataCrawl {
|
||||
String usEmbassyName = StringUtils.upperCase(StringUtils.trimToEmpty(tds.get(4).text()));
|
||||
if (StringUtils.isNotBlank(usEmbassyName)) {
|
||||
switch (usEmbassyName) {
|
||||
case "BEIJING" :
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "BeiJing"));
|
||||
break;
|
||||
case "CHENGDU" :
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "Chengdu"));
|
||||
break;
|
||||
case "GUANGZHOU" :
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "Guangzhou"));
|
||||
break;
|
||||
case "SHANGHAI" :
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "Shanghai"));
|
||||
break;
|
||||
case "SHENYANG" :
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "Shenyang"));
|
||||
break;
|
||||
case "WUHAN" :
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "Wuhan"));
|
||||
break;
|
||||
case "HONGKONG" :
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "HongKong"));
|
||||
break;
|
||||
case "BEIJING":
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "BeiJing"));
|
||||
break;
|
||||
case "CHENGDU":
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "Chengdu"));
|
||||
break;
|
||||
case "GUANGZHOU":
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "Guangzhou"));
|
||||
break;
|
||||
case "SHANGHAI":
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "Shanghai"));
|
||||
break;
|
||||
case "SHENYANG":
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "Shenyang"));
|
||||
break;
|
||||
case "WUHAN":
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "Wuhan"));
|
||||
break;
|
||||
case "HONGKONG":
|
||||
visa.setUsEmbassy(USFactory.searchUSEmbassy("China", "HongKong"));
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
@ -284,15 +294,15 @@ public class VisaImporter extends DataCrawl {
|
||||
String visaStatusName = StringUtils.upperCase(StringUtils.trimToEmpty(tds.get(6).text()));
|
||||
if (StringUtils.isNotBlank(visaStatusName)) {
|
||||
switch (visaStatusName) {
|
||||
case "CLEAR" :
|
||||
visa.setVisaStatus(VisaStatus.ISSUED);
|
||||
break;
|
||||
case "PENDING" :
|
||||
visa.setVisaStatus(VisaStatus.ADMINISTRATIVE_PROCESSING);
|
||||
break;
|
||||
case "REJECT" :
|
||||
visa.setVisaStatus(VisaStatus.REFUSED);
|
||||
break;
|
||||
case "CLEAR":
|
||||
visa.setVisaStatus(VisaStatus.ISSUED);
|
||||
break;
|
||||
case "PENDING":
|
||||
visa.setVisaStatus(VisaStatus.ADMINISTRATIVE_PROCESSING);
|
||||
break;
|
||||
case "REJECT":
|
||||
visa.setVisaStatus(VisaStatus.REFUSED);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
@ -334,7 +344,7 @@ public class VisaImporter extends DataCrawl {
|
||||
|
||||
}
|
||||
|
||||
private void SocialMedia() {
|
||||
private void socialMedia() {
|
||||
List<VisaStatusLog> visaStatusLogList = LogFactory.getVisaStatusLogAfter(new DateTime().minusHours(2));
|
||||
|
||||
// Twitter
|
||||
@ -353,6 +363,55 @@ public class VisaImporter extends DataCrawl {
|
||||
|
||||
}
|
||||
|
||||
private void rssArticle() {
|
||||
|
||||
try {
|
||||
URL urls = new URL(RSS_URL);
|
||||
|
||||
SyndFeedInput input = new SyndFeedInput();
|
||||
SyndFeed feed = input.build(new XmlReader(urls));
|
||||
|
||||
for (SyndEntry entry : feed.getEntries()) {
|
||||
|
||||
CmsArticle cmsArticle = null;
|
||||
|
||||
String aid = StringUtils.substringBetween(entry.getLink(), "article-", "-");
|
||||
|
||||
logger.debug("article Id/Title - [{}]/[{}]", aid, entry.getTitle());
|
||||
DateTime dt = new DateTime(entry.getUpdatedDate());
|
||||
|
||||
CmsArticleOssezContent cmsArticleOssezContent = DataFactory.getCmsArticleOssezContent(NumberUtils.toLong(aid));
|
||||
cmsArticle = DataFactory.getCmsArticle(aid);
|
||||
|
||||
if (cmsArticle == null) {
|
||||
cmsArticle = new CmsArticle();
|
||||
cmsArticle.setRssArticleId(aid);
|
||||
} else if (dt.compareTo(new DateTime(cmsArticle.getRssDateUpdate())) == 0) {
|
||||
continue;
|
||||
|
||||
}
|
||||
|
||||
cmsArticle.setTitle(entry.getTitle());
|
||||
cmsArticle.setSummary(entry.getContents().get(0).getValue());
|
||||
cmsArticle.setContent(cmsArticleOssezContent.getContent());
|
||||
cmsArticle.setRssDateUpdate(dt.toDate());
|
||||
|
||||
DataFactory.save(cmsArticle);
|
||||
|
||||
// logger.debug("SAVE");
|
||||
// break;
|
||||
|
||||
}
|
||||
|
||||
} catch (Exception ex) {
|
||||
logger.error("RSS data update error.", ex);
|
||||
//
|
||||
}
|
||||
|
||||
// System.out.println(feed);
|
||||
|
||||
}
|
||||
|
||||
private void publishTwitter(VisaStatusLog visaStatusLog) {
|
||||
SocialMedia socialMedia = SocialMediaFactory.get(TWITTER);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user