Commit 618b8f3b by win7

配置更改为服务器配置

parent 3594cf63
......@@ -9,7 +9,6 @@
<packaging>jar</packaging>
<name>messageflow</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
......@@ -42,7 +41,6 @@
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>5.2.2</version><!--$NO-MVN-MAN-VER$ -->
</dependency>
<dependency>
<groupId>com.zhiwei</groupId>
......@@ -53,12 +51,10 @@
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version><!--$NO-MVN-MAN-VER$ -->
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version><!--$NO-MVN-MAN-VER$ -->
</dependency>
<!-- jackson -->
......@@ -85,6 +81,7 @@
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- Jedis -->
<dependency>
<groupId>redis.clients</groupId>
......@@ -118,15 +115,10 @@
<version>1.4.7</version>
</dependency>
<!-- solr -->
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
</dependency>
</dependencies>
<build>
<finalName>messageflow</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
......
......@@ -36,7 +36,7 @@ public class ES4RedisRunner implements ApplicationRunner {
// 手动注入bean ES4RedisStart
ES4RedisStart start = ApplicationContextProvider.getBean("ES4RedisStart", ES4RedisStart.class);
// 定时器 项目启动后100ms运行 每次间隔8min
// 定时器
Timer timer = new Timer();
timer.schedule(
......@@ -48,7 +48,7 @@ public class ES4RedisRunner implements ApplicationRunner {
e.printStackTrace();
}
}
}, 100L, 30 * 1000L);
}, 100L, 50 * 1000L);
// /**
// * ES库消息输出Excel并分析关键词重复数据
......
......@@ -29,6 +29,9 @@ public class ES4RedisStart {
@Autowired
private ES4RedisTask es4RedisTask;
/**
* 启动线程
*/
public void startThread() throws JsonParseException, JsonMappingException, IOException, InterruptedException {
// 项目列表
......
......@@ -53,8 +53,7 @@ public class ES4RedisTask {
@Autowired
private RedisService redisService;
@Autowired
private ObjectMapper mapper;
private ObjectMapper mapper = new ObjectMapper();
private static final int allkeywordcount = 5000;
private static final int keywordscount = 2000;
......@@ -147,8 +146,8 @@ public class ES4RedisTask {
if (platformName.equals("微博")) {
// 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredWeiboMessage(trackRules, noiseRules,
allkeywords, count, allstartrsid, -1L, platformName, project.getProjectName());
RsidAndMessages ram = disposeMessageService.getFilteredWeiboMessage(noiseRules, allkeywords, count,
allstartrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息
List<WeiboMessage> messages = ram.getWlist();
......@@ -172,8 +171,8 @@ public class ES4RedisTask {
} else if (platformName.equals("知乎")) {
// 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredZhihuMessage(trackRules, noiseRules,
allkeywords, count, allstartrsid, -1L, platformName, project.getProjectName());
RsidAndMessages ram = disposeMessageService.getFilteredZhihuMessage(noiseRules, allkeywords, count,
allstartrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息
List<ZhihuMessage> messages = ram.getZlist();
......@@ -195,8 +194,8 @@ public class ES4RedisTask {
} else if (platformName.equals("视频")) {
// 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredVideoMessage(trackRules, noiseRules,
allkeywords, count, allstartrsid, -1L, platformName, project.getProjectName());
RsidAndMessages ram = disposeMessageService.getFilteredVideoMessage(noiseRules, allkeywords, count,
allstartrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息
List<VideoMessage> messages = ram.getVlist();
......@@ -218,8 +217,8 @@ public class ES4RedisTask {
} else {
// 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredMediaMessage(trackRules, noiseRules,
allkeywords, count, allstartrsid, -1L, platformName, project.getProjectName());
RsidAndMessages ram = disposeMessageService.getFilteredMediaMessage(noiseRules, allkeywords, count,
allstartrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息
List<MediaMessage> messages = ram.getMlist();
......@@ -266,7 +265,7 @@ public class ES4RedisTask {
if (platformName.equals("微博")) {
// 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredWeiboMessage(trackRules, noiseRules,
RsidAndMessages ram = disposeMessageService.getFilteredWeiboMessage(noiseRules,
kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息
......@@ -290,7 +289,7 @@ public class ES4RedisTask {
} else if (platformName.equals("知乎")) {
// 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredZhihuMessage(trackRules, noiseRules,
RsidAndMessages ram = disposeMessageService.getFilteredZhihuMessage(noiseRules,
kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息
......@@ -315,7 +314,7 @@ public class ES4RedisTask {
} else if (platformName.equals("视频")) {
// 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredVideoMessage(trackRules, noiseRules,
RsidAndMessages ram = disposeMessageService.getFilteredVideoMessage(noiseRules,
kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息
......@@ -340,7 +339,7 @@ public class ES4RedisTask {
} else {
// 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredMediaMessage(trackRules, noiseRules,
RsidAndMessages ram = disposeMessageService.getFilteredMediaMessage(noiseRules,
kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息
......
......@@ -82,7 +82,7 @@ public class ES4RedisThread extends Thread {
Thread.currentThread().interrupted();
log.warn("{}项目超时", project.getProjectName());
}
}, 29 * 1000L);
}, 49 * 1000L);
// 程序运行
log.info("Running {}", threadName);
......
......@@ -32,4 +32,5 @@ public class MediaMessage {
private String colum;
private String rootSourcce;
private Double channelIndex;
private String crawlerV;
}
\ No newline at end of file
......@@ -5,7 +5,12 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import lombok.Data;
import lombok.ToString;
//redus配置类
@Data
@ToString
@Component
@Configuration
@ConfigurationProperties(prefix = "redis")
......@@ -18,6 +23,7 @@ public class RedisConfig {
private boolean testOnReturn;
private String ip;
private int port;
private String password;
private int keyMaxSize;
......@@ -25,100 +31,4 @@ public class RedisConfig {
private int user_keyMaxSize;
private int cacheSize;
private int intitCount;
public int getMaxTotal() {
return maxTotal;
}
public void setMaxTotal(int maxTotal) {
this.maxTotal = maxTotal;
}
public int getMaxIdle() {
return maxIdle;
}
public void setMaxIdle(int maxIdle) {
this.maxIdle = maxIdle;
}
public int getMaxWaitMillis() {
return maxWaitMillis;
}
public void setMaxWaitMillis(int maxWaitMillis) {
this.maxWaitMillis = maxWaitMillis;
}
public boolean isTestOnBorrow() {
return testOnBorrow;
}
public void setTestOnBorrow(boolean testOnBorrow) {
this.testOnBorrow = testOnBorrow;
}
public boolean isTestOnReturn() {
return testOnReturn;
}
public void setTestOnReturn(boolean testOnReturn) {
this.testOnReturn = testOnReturn;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public int getKeyMaxSize() {
return keyMaxSize;
}
public void setKeyMaxSize(int keyMaxSize) {
this.keyMaxSize = keyMaxSize;
}
public int getSelectDB() {
return selectDB;
}
public void setSelectDB(int selectDB) {
this.selectDB = selectDB;
}
public int getUser_keyMaxSize() {
return user_keyMaxSize;
}
public void setUser_keyMaxSize(int user_keyMaxSize) {
this.user_keyMaxSize = user_keyMaxSize;
}
public int getCacheSize() {
return cacheSize;
}
public void setCacheSize(int cacheSize) {
this.cacheSize = cacheSize;
}
public int getIntitCount() {
return intitCount;
}
public void setIntitCount(int intitCount) {
this.intitCount = intitCount;
}
}
......@@ -9,8 +9,6 @@ import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.springframework.stereotype.Component;
import com.zhiwei.messageflow.config.ESConfig;
@Component
public class ESClient {
public static TransportClient client = ESClientHolder.getESClient();
......@@ -18,15 +16,15 @@ public class ESClient {
private static class ESClientHolder {
private static TransportClient getESClient() {
Settings esSettings = Settings.builder().put("cluster.name", ESConfig.clusterName) // 设置ES实例的名称
.put("client.transport.sniff", false) // 自动嗅探整个集群的状态,把集群中其他ES节点的ip添加到本地的客户端列表中
Settings esSettings = Settings.builder().put("cluster.name", "Media-University") // 设置ES实例的名称
.put("client.transport.sniff", true) // 自动嗅探整个集群的状态,把集群中其他ES节点的ip添加到本地的客户端列表中
// .put("client.transport.ping_timeout", "15s")
.build();
TransportClient client = new PreBuiltTransportClient(esSettings);
// 此步骤添加IP,至少一个,其实一个就够了,因为添加了自动嗅探配置
try {
client.addTransportAddress(
new InetSocketTransportAddress(InetAddress.getByName(ESConfig.ip), ESConfig.esPort));
new InetSocketTransportAddress(InetAddress.getByName("192.168.1.75"), 9300));
} catch (UnknownHostException e) {
e.printStackTrace();
}
......
......@@ -14,7 +14,6 @@ import org.elasticsearch.search.sort.SortOrder;
import org.springframework.stereotype.Component;
import com.zhiwei.es.util.ESIndexesUtil;
import com.zhiwei.messageflow.config.ESConfig;
import com.zhiwei.messageflow.es.ESClient;
import com.zhiwei.messageflow.es.dao.ESDao;
import com.zhiwei.messageflow.util.ESQueryUtil;
......@@ -25,7 +24,9 @@ public class ESDaoImpl implements ESDao {
TransportClient transportClient = ESClient.client;
protected static ESIndexesUtil.ESIndexes indexes = ESIndexesUtil.create("1.119.44.201", 9200);
protected static ESIndexesUtil.ESIndexes indexes = ESIndexesUtil.create("192.168.1.75", 9200);
// protected static ESIndexesUtil.ESIndexes indexes =
// ESIndexesUtil.create("1.119.44.201", 9200);
@Override
public SearchHits getWeiboDataFromEs(List<String> keywords, int count, long startid, long endid, String platform,
......@@ -51,9 +52,9 @@ public class ESDaoImpl implements ESDao {
List<String> list = indexes.getLastIndexes("network", 2);
String[] indexlist = list.toArray(new String[list.size()]);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist)
.setTypes(ESConfig.weiboType).highlighter(highlightBuilder).setQuery(boolQueryBuilder)
.addSort("rstime", SortOrder.DESC).setFrom(0).setSize(count);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist).setTypes("status")
.highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rstime", SortOrder.DESC).setFrom(0)
.setSize(count);
if (startid > 0 && endid <= 0) {
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("rstime").from(startid));
......@@ -94,9 +95,9 @@ public class ESDaoImpl implements ESDao {
HighlightBuilder highlightBuilder = ESQueryUtil.getHighlightBuilder("question_title", "question_content",
"answer_content");// 高亮设置
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(ESConfig.zhihuIndexName)
.setTypes(ESConfig.zhihuType).highlighter(highlightBuilder).setQuery(boolQueryBuilder)
.addSort("rsid", SortOrder.DESC).setFrom(0).setSize(count);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch("zhihu*").setTypes("zhihu")
.highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rsid", SortOrder.DESC).setFrom(0)
.setSize(count);
if (startid > 0 && endid <= 0) {
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("rsid").from(startid));
......@@ -139,9 +140,9 @@ public class ESDaoImpl implements ESDao {
String[] indexlist = list.toArray(new String[list.size()]);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist)
.setTypes(ESConfig.videoType).highlighter(highlightBuilder).setQuery(boolQueryBuilder)
.addSort("rsid", SortOrder.DESC).setFrom(0).setSize(count);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist).setTypes("video")
.highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rsid", SortOrder.DESC).setFrom(0)
.setSize(count);
if (startid > 0 && endid <= 0) {
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("rsid").from(startid));
......@@ -185,8 +186,23 @@ public class ESDaoImpl implements ESDao {
} else if (platform.equals("报刊")) {
boolQueryBuilder.must(QueryBuilders.matchPhraseQuery("type", "平媒"));
} else if (platform.equals("今日头条")) {
boolQueryBuilder.must(QueryBuilders.boolQuery().must(QueryBuilders.matchPhraseQuery("type", "今日头条"))
.must(QueryBuilders.existsQuery("spyderInfoId")));
// boolQueryBuilder.must(
// QueryBuilders.boolQuery()
// .must(
// QueryBuilders.matchPhraseQuery("type", "今日头条")
// )
// .must(
// QueryBuilders.existsQuery("spyderInfoId")
// )
// );
BoolQueryBuilder booljrQueryBuilder1 = QueryBuilders.boolQuery();
BoolQueryBuilder booljrQueryBuilder2 = QueryBuilders.boolQuery();
booljrQueryBuilder1.must(QueryBuilders.matchPhraseQuery("type", "今日头条"))
.must(QueryBuilders.existsQuery("spyderInfoId"));
booljrQueryBuilder2.must(QueryBuilders.matchPhraseQuery("type", "今日头条"))
.must(QueryBuilders.existsQuery("crawlerV"));
boolQueryBuilder.must(QueryBuilders.boolQuery().should(booljrQueryBuilder1).should(booljrQueryBuilder2));
} else if (platform.equals("客户端")) {
boolQueryBuilder.must(QueryBuilders.boolQuery().should(QueryBuilders.wildcardQuery("type", "*客户端"))
.should(QueryBuilders.matchPhraseQuery("type", "脉脉")));
......@@ -258,9 +274,9 @@ public class ESDaoImpl implements ESDao {
List<String> list = indexes.getLastIndexes("network", 2);
String[] indexlist = list.toArray(new String[list.size()]);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist)
.setTypes(ESConfig.weiboType).highlighter(highlightBuilder).setQuery(boolQueryBuilder)
.addSort("rstime", SortOrder.DESC).setFrom(0).setSize(count);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist).setTypes("status")
.highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rstime", SortOrder.DESC).setFrom(0)
.setSize(count);
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("time").from(stime).to(etime));
SearchResponse response = searchRequestBuilder.execute().actionGet();
SearchHits searchHits = response.getHits();
......@@ -297,9 +313,9 @@ public class ESDaoImpl implements ESDao {
HighlightBuilder highlightBuilder = ESQueryUtil.getHighlightBuilder("question_title", "question_content",
"answer_content");// 高亮设置
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(ESConfig.zhihuIndexName)
.setTypes(ESConfig.zhihuType).highlighter(highlightBuilder).setQuery(boolQueryBuilder)
.addSort("rsid", SortOrder.DESC).setFrom(0).setSize(count);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch("zhihu*").setTypes("zhihu")
.highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rsid", SortOrder.DESC).setFrom(0)
.setSize(count);
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("insert_at").from(stime).to(etime));
SearchResponse response = searchRequestBuilder.execute().actionGet();
......@@ -337,9 +353,9 @@ public class ESDaoImpl implements ESDao {
String[] indexlist = list.toArray(new String[list.size()]);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist)
.setTypes(ESConfig.videoType).highlighter(highlightBuilder).setQuery(boolQueryBuilder)
.addSort("rsid", SortOrder.DESC).setFrom(0).setSize(count);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist).setTypes("video")
.highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rsid", SortOrder.DESC).setFrom(0)
.setSize(count);
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("time").from(stime).to(etime));
......@@ -390,8 +406,16 @@ public class ESDaoImpl implements ESDao {
} else if (platform.equals("报刊")) {
boolQueryBuilder.must(QueryBuilders.matchPhraseQuery("type", "平媒"));
} else if (platform.equals("今日头条")) {
boolQueryBuilder.must(QueryBuilders.boolQuery().must(QueryBuilders.matchPhraseQuery("type", "今日头条"))
.must(QueryBuilders.existsQuery("spyderInfoId")));
// boolQueryBuilder.must(QueryBuilders.boolQuery().must(QueryBuilders.matchPhraseQuery("type",
// "今日头条"))
// .must(QueryBuilders.existsQuery("spyderInfoId")));
BoolQueryBuilder booljrQueryBuilder1 = QueryBuilders.boolQuery();
BoolQueryBuilder booljrQueryBuilder2 = QueryBuilders.boolQuery();
booljrQueryBuilder1.must(QueryBuilders.matchPhraseQuery("type", "今日头条"))
.must(QueryBuilders.existsQuery("spyderInfoId"));
booljrQueryBuilder2.must(QueryBuilders.matchPhraseQuery("type", "今日头条"))
.must(QueryBuilders.existsQuery("crawlerV"));
boolQueryBuilder.must(QueryBuilders.boolQuery().should(booljrQueryBuilder1).should(booljrQueryBuilder2));
} else if (platform.equals("客户端")) {
boolQueryBuilder.must(QueryBuilders.boolQuery().should(QueryBuilders.wildcardQuery("type", "*客户端"))
.should(QueryBuilders.matchPhraseQuery("type", "脉脉")));
......
......@@ -40,7 +40,6 @@ public class HighLightFillingServiceImpl implements HighLightFillingService {
@Override
public WeiboMessage getWeiboBean(SearchHit searchHit) {
/**
* ES数据读取
*/
......
......@@ -21,7 +21,7 @@ import com.zhiwei.messageflow.mongo.bean.NoiseRule;
public class NoiseProcessingServiceImpl implements NoiseProcessingService {
@Autowired
HighLightFillingService highLightFillingService;
private HighLightFillingService highLightFillingService;
@Override
public List<WeiboMessage> weiboDenoising(List<NoiseRule> noiseRules, SearchHits searchHits, String platform,
......
......@@ -8,6 +8,8 @@ import java.util.Map;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -23,6 +25,8 @@ import com.zhiwei.messageflow.util.TimeUtil;
@Component
public class TrackHitAndWarnServiceImpl implements TrackHitAndWarnService {
private final static Logger log = LoggerFactory.getLogger(TrackHitAndWarnServiceImpl.class);
@Autowired
private TrackESDao trackESDao;
......@@ -231,14 +235,14 @@ public class TrackHitAndWarnServiceImpl implements TrackHitAndWarnService {
result = userMailService.sendMailByProject(projectName, templateData);
if ((result.get("message") + "").equals("用户组邮件发送成功")) {
System.out.println("发送邮件预警成功");
log.info("发送邮件预警成功");
trackRule.setWarn(true);
trackRuleDao.updateTrackrule(trackRule.get_id());
break;
} else if ((result.get("message") + "").equals("用户组邮箱未获取到")) {
System.out.println("发送邮件预警失败,用户获取问题");
log.error("发送邮件预警失败,用户获取问题");
} else {
System.out.println("本次部分条发送失败");
log.error("本次部分条发送失败");
trackRule.setWarn(true);
trackRuleDao.updateTrackrule(trackRule.get_id());
break;
......
......@@ -73,7 +73,6 @@ public class MatchingInfo {
weibo.setUrl(map.get("url").toString());
if (map.get("time") != null)
weibo.setTime(map.get("time").toString());
System.out.println(weibo.toString());
weibos.add(weibo);
} catch (IOException e) {
e.printStackTrace();
......@@ -123,7 +122,6 @@ public class MatchingInfo {
Date d = sdf.parse(map.get("created_at").toString());
zhihuInfo.setInsert_at(d);
}
System.out.println(zhihuInfo.toString());
zhihuInfos.add(zhihuInfo);
} catch (IOException | ParseException e) {
e.printStackTrace();
......@@ -157,7 +155,6 @@ public class MatchingInfo {
Date d = sdf.parse(map.get("time").toString());
video.setTime(d);
}
System.out.println(video.toString());
videos.add(video);
} catch (IOException | ParseException e) {
e.printStackTrace();
......@@ -186,6 +183,8 @@ public class MatchingInfo {
media.setTitle(map.get("title").toString());
if (map.get("source") != null)
media.setSource(map.get("source").toString());
if (map.get("crawlerV") != null)
media.setCrawlerV(map.get("crawlerV").toString());
if (map.get("content") != null)
media.setContent(map.get("content").toString());
if (map.get("channelIndex") != null)
......@@ -194,7 +193,6 @@ public class MatchingInfo {
Date d = sdf.parse(map.get("time").toString());
media.setTime(d);
}
System.out.println(media.toString());
medias.add(media);
} catch (IOException | ParseException e) {
e.printStackTrace();
......
......@@ -27,4 +27,5 @@ public class Media {
private String dangerLevel;// 危险等级
private String markGroup;// 标记组
private String markPerson;// 标记人
private String crawlerV;
}
......@@ -4,25 +4,48 @@ import java.util.Properties;
public class MailSenderInfo
{
// 发送服务器的IP和端口
/**
* 发送服务器的IP和端口
*/
private String mailServerHost;
private String mailServerPort = "25";
// 邮件发送者地址
/**
* 邮件发送者地址
*/
private String fromAddress;
private String nickName;
// 邮件接受者的地址
/**
* 邮件接受者的地址
*/
private String toAddress;
// 登录邮件发送服务器的用户名和密码
/**
* 登录邮件发送服务器的用户名和密码
*/
private String userName;
private String password;
// 是否需要身份验证
/**
* 是否需要身份验证
*/
private boolean validate = false;
// 邮件主题
/**
* 邮件主题
*/
private String subject;
// 邮件的文本内容
/**
* 邮件的文本内容
*/
private String content;
// 邮件附件的文件名
/**
* 邮件附件的文件名
*/
private String[] attachFileNames;
/*
......
......@@ -3,26 +3,28 @@ package com.zhiwei.messageflow.mail;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class MyAuthenticator extends Authenticator{
String userName=null;//用户名
String password=null;//密码
public class MyAuthenticator extends Authenticator {
String userName = null;// 用户名
String password = null;// 密码
/*
* 无参构造
*/
public MyAuthenticator(){}
public MyAuthenticator() {
}
/*
* 参构造
* 参构造
*/
public MyAuthenticator(String username,String cs){
this.userName=username;
this.password=cs;
public MyAuthenticator(String username, String cs) {
this.userName = username;
this.password = cs;
}
/*
*
*/
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(userName,password);
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(userName, password);
}
}
......@@ -34,39 +34,6 @@ public class SendMail {
return f;
}
// /**
// * @Title: sendMailBriefing
// * @Description: TODO(发送舆情简报)
// * @param email
// * @param mailTitle 邮件标题
// * @param briefs
// * @return 设定文件
// * @date 2017年11月16日 下午5:48:14
// * @return boolean 返回类型
// */
// public static boolean sendMailBriefing(String email, String
// mailTitle,List<Brief> briefs) {
// // 这个类主要是设置邮件
// MailSenderInfo mailInfo = new MailSenderInfo();
// mailInfo.setMailServerHost("smtp.ym.163.com");
// // mailInfo.setMailServerHost("smtp.163.com");
// mailInfo.setMailServerPort("25");
// mailInfo.setValidate(true);
// mailInfo.setUserName("qbjcyj@zhiweidata.com");
// mailInfo.setPassword("1q2w3e4r");// 您的邮箱密码
// mailInfo.setFromAddress("qbjcyj@zhiweidata.com");
// mailInfo.setNickName("知微情报监测服务");
//
// boolean f = false;
// mailInfo.setToAddress(email);
// mailInfo.setSubject(mailTitle);
//
// mailInfo.setContent(mailContent(briefs));
// // 这个类主要来发送邮件
// f = SimpleMailSender.sendHtmlMail(mailInfo);// 发送文体格式
// return f;
// }
/**
*
* @Title: mailContent
......@@ -131,34 +98,6 @@ public class SendMail {
return sb.toString();
}
// /**
// *
// * @Title: mailContent
// * @Description: TODO(拼接所发邮件内容)
// * @param templateData
// * @return 设定文件
// * @date 2017年11月8日 下午4:29:41
// * @return String 返回类型
// */
// private static String mailContent(List<Brief> briefs) {
// StringBuffer sb = new StringBuffer();
//
// Brief brief;
// for (int i = 0; i < briefs.size(); i++) {
// brief = briefs.get(i);
// sb.append("<div><B>" +getHotLink(brief.getTitle(), brief.getUrl())
// +"</B></div><br>");
// sb.append("<div>" + brief.getDetails() + "</div><br>");
// sb.append("<br>");
// }
// sb.append("<div>Best Regards,</div>");
// sb.append("<div>知微——情报监测</div>");
// sb.append("<style>*{ font-size:18px} *{font-family:Microsoft
// YaHei;}</style>");
//
// return sb.toString();
// }
/**
* @Title: getHotLink
* @Description: TODO(这里用一句话描述这个方法的作用)
......
......@@ -8,7 +8,7 @@ import org.springframework.data.mongodb.core.MongoTemplate;
@Configuration
@ConfigurationProperties(prefix = "spring.data.mongodb.primary")
public class PrimaryMongoConfig extends AbstractMongoConfig{
public class PrimaryMongoConfig extends AbstractMongoConfig {
@Primary
@Override
......
......@@ -7,7 +7,7 @@ import org.springframework.data.mongodb.core.MongoTemplate;
@Configuration
@ConfigurationProperties(prefix = "spring.data.mongodb.thirdary")
public class ThirdaryMongoConfig extends AbstractMongoConfig{
public class ThirdaryMongoConfig extends AbstractMongoConfig {
@Override
public @Bean(name = "thirdaryMongoTemplate") MongoTemplate getMongoTemplate() throws Exception {
......
......@@ -5,5 +5,13 @@ import java.util.Map;
import com.zhiwei.messageflow.es.bean.TemplateData;
public interface UserMailService {
Map<String,Object> sendMailByProject(String project, TemplateData templateData);
/**
* 发送邮件
*
* @param project
* @param templateData
* @return
*/
Map<String, Object> sendMailByProject(String project, TemplateData templateData);
}
......@@ -6,6 +6,7 @@ import com.zhiwei.messageflow.mongo.bean.WechatCode;
import net.sf.json.JSONObject;
public interface WechatSendService {
int sendTemplateByProject(String projectName, TemplateData templateData);
int sendDataJson(WechatCode wechatCode,JSONObject dataJson);
......
......@@ -17,19 +17,23 @@ import com.zhiwei.messageflow.mongo.service.UserMailService;
@Component
public class UserMailServiceImpl implements UserMailService {
@SuppressWarnings("unused")
@Autowired
private UserMailDao userMailDao;
@Override
public Map<String, Object> sendMailByProject(String project, TemplateData templateData) {
Map<String, Object> result = new HashMap<>();
// List<UserMail> mails = userMailDao.findUserMailByProject(project);
List<UserMail> mails = new ArrayList<>();
UserMail mail = new UserMail();
mail.setAddress("1454551152@qq.com");
mail.setProject("腾讯");
mails.add(mail);
List<UserMail> mails = userMailDao.findUserMailByProject(project);
/**
* 本地测试
*/
// List<UserMail> mails = new ArrayList<>();
// UserMail mail = new UserMail();
// mail.setAddress("1454551152@qq.com");
// mail.setProject("腾讯");
// mails.add(mail);
List<String> failMails = new ArrayList<>();
int success = 0;
for (UserMail userMail : mails) {
......
package com.zhiwei.messageflow.mongo.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -31,19 +30,21 @@ public class WechatSendServiceImpl implements WechatSendService {
@Autowired
private WechatCodeDao wechatCodeDao;
@SuppressWarnings("unused")
@Autowired
private UserWechatDao userWechatDao;
@SuppressWarnings("unused")
@Override
public int sendTemplateByProject(String projectName, TemplateData templateData) {
WechatCode wechatCode=wechatCodeDao.getWechatCodeByAppId(WechatConstant.WECHAT_APPID);
// List<UserWechat> userWechats=userWechatDao.getUserWechatByProject(projectName);
List<UserWechat> userWechats=new ArrayList<>();
UserWechat userWechat1=new UserWechat();
userWechat1.setOpenid("o_J5m0b9Un5rRfUXZS5S3kKjkzeo");
userWechats.add(userWechat1);
WechatCode wechatCode = wechatCodeDao.getWechatCodeByAppId(WechatConstant.WECHAT_APPID);
List<UserWechat> userWechats = userWechatDao.getUserWechatByProject(projectName);
/**
* 本地测试
*/
// List<UserWechat> userWechats = new ArrayList<>();
// UserWechat userWechat1 = new UserWechat();
// userWechat1.setOpenid("o_J5m0b9Un5rRfUXZS5S3kKjkzeo");
// userWechats.add(userWechat1);
if (null == userWechats) {
log.error("未获取到UserWechat,查询依据【{}】", projectName);
......
......@@ -35,7 +35,7 @@ public class RedisPoolAndTools {
config.setMaxWaitMillis(redisConfig.getMaxWaitMillis());
config.setTestOnBorrow(redisConfig.isTestOnBorrow());
config.setTestOnReturn(redisConfig.isTestOnReturn());
pool = new JedisPool(config, redisConfig.getIp(), redisConfig.getPort(), 0, null, redisConfig.getSelectDB());
pool = new JedisPool(config, redisConfig.getIp(), redisConfig.getPort(), 0, redisConfig.getPassword(), redisConfig.getSelectDB());
}
/**
......@@ -45,34 +45,21 @@ public class RedisPoolAndTools {
*/
private Jedis getJedis() {
// 连接请求次数
int timeoutCount = 0;
if (null == pool) {
initializePool();
}
while (true) {
try {
if (null != pool) {
return pool.getResource();
}
} catch (Exception e) {
if (e instanceof JedisConnectionException) {
timeoutCount++;
log.warn("jedis连接请求次数{}", timeoutCount);
if (timeoutCount > 3) {
break;
}
} else {
log.warn("jedisInfo ... NumActive=" + pool.getNumActive() + ", NumIdle=" + pool.getNumIdle()
+ ", NumWaiters=" + pool.getNumWaiters() + ", isClosed=" + pool.isClosed());
log.error("获取jedis连接错误:{}", e.getMessage());
break;
}
}
break;
}//请求jedis完成
} // 请求jedis完成
return null;
}
......
......@@ -22,7 +22,7 @@ public class RedisServiceImpl implements RedisService {
@Autowired
private RedisPoolAndTools redisPoolAndTools;
static ObjectMapper mapper=new ObjectMapper();
static ObjectMapper mapper = new ObjectMapper();
static {
mapper.setSerializationInclusion(Include.NON_EMPTY);
......
......@@ -3,7 +3,6 @@ package com.zhiwei.messageflow.service;
import java.util.List;
import com.zhiwei.messageflow.mongo.bean.NoiseRule;
import com.zhiwei.messageflow.mongo.bean.TrackRule;
import com.zhiwei.messageflow.redis.bean.RsidAndMessages;
public interface DisposeMessageService {
......@@ -11,8 +10,6 @@ public interface DisposeMessageService {
/**
* 获取微博平台RsidAndMessages
*
* @param trackRules
* 预警规则
* @param noiseRules
* 去噪规则
* @param keywords
......@@ -29,14 +26,12 @@ public interface DisposeMessageService {
* 项目
* @return
*/
RsidAndMessages getFilteredWeiboMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules,
List<String> keywords, int count, Long startid, Long endid, String platform, String project);
RsidAndMessages getFilteredWeiboMessage(List<NoiseRule> noiseRules, List<String> keywords, int count, Long startid,
Long endid, String platform, String project);
/**
* 获取知乎平台RsidAndMessages
*
* @param trackRules
* 预警规则
* @param noiseRules
* 去噪规则
* @param keywords
......@@ -53,14 +48,12 @@ public interface DisposeMessageService {
* 项目
* @return
*/
RsidAndMessages getFilteredZhihuMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules,
List<String> keywords, int count, Long startid, Long endid, String platform, String project);
RsidAndMessages getFilteredZhihuMessage(List<NoiseRule> noiseRules, List<String> keywords, int count, Long startid,
Long endid, String platform, String project);
/**
* 获取视频平台RsidAndMessages
*
* @param trackRules
* 预警规则
* @param noiseRules
* 去噪规则
* @param keywords
......@@ -77,14 +70,12 @@ public interface DisposeMessageService {
* 项目
* @return
*/
RsidAndMessages getFilteredVideoMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules,
List<String> keywords, int count, Long startid, Long endid, String platform, String project);
RsidAndMessages getFilteredVideoMessage(List<NoiseRule> noiseRules, List<String> keywords, int count, Long startid,
Long endid, String platform, String project);
/**
* 获取网媒平台RsidAndMessages
*
* @param trackRules
* 预警规则
* @param noiseRules
* 去噪规则
* @param keywords
......@@ -101,6 +92,6 @@ public interface DisposeMessageService {
* 项目
* @return
*/
RsidAndMessages getFilteredMediaMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules,
List<String> keywords, int count, Long startid, Long endid, String platform, String project);
RsidAndMessages getFilteredMediaMessage(List<NoiseRule> noiseRules, List<String> keywords, int count, Long startid,
Long endid, String platform, String project);
}
......@@ -14,7 +14,6 @@ import com.zhiwei.messageflow.bean.WeiboMessage;
import com.zhiwei.messageflow.bean.ZhihuMessage;
import com.zhiwei.messageflow.es.service.ES4BeanService;
import com.zhiwei.messageflow.mongo.bean.NoiseRule;
import com.zhiwei.messageflow.mongo.bean.TrackRule;
import com.zhiwei.messageflow.redis.bean.RsidAndMessages;
import com.zhiwei.messageflow.service.DisposeMessageService;
......@@ -27,8 +26,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
private ES4BeanService es4BeanDao;
@Override
public RsidAndMessages getFilteredWeiboMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules,
List<String> keywords, int count, Long startid, Long endid, String platform, String project) {
public RsidAndMessages getFilteredWeiboMessage(List<NoiseRule> noiseRules, List<String> keywords, int count,
Long startid, Long endid, String platform, String project) {
RsidAndMessages ram = new RsidAndMessages();
......@@ -39,7 +38,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
/**
* 获取最后消息的rsid
*/
if (messages!=null&&!messages.isEmpty()) {
if (messages != null && !messages.isEmpty()) {
WeiboMessage wmf = messages.get(0);
WeiboMessage wml = messages.get(messages.size() - 1);
ram.setWlist(messages);
......@@ -50,8 +49,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
}
@Override
public RsidAndMessages getFilteredZhihuMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules,
List<String> keywords, int count, Long startid, Long endid, String platform, String project) {
public RsidAndMessages getFilteredZhihuMessage(List<NoiseRule> noiseRules, List<String> keywords, int count,
Long startid, Long endid, String platform, String project) {
RsidAndMessages ram = new RsidAndMessages();
// 消息列表
......@@ -61,7 +60,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
/**
* 获取最后消息的rsid
*/
if (messages!=null&&!messages.isEmpty()) {
if (messages != null && !messages.isEmpty()) {
ZhihuMessage zmf = messages.get(0);
ZhihuMessage zml = messages.get(messages.size() - 1);
ram.setZlist(messages);
......@@ -72,8 +71,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
}
@Override
public RsidAndMessages getFilteredVideoMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules,
List<String> keywords, int count, Long startid, Long endid, String platform, String project) {
public RsidAndMessages getFilteredVideoMessage(List<NoiseRule> noiseRules, List<String> keywords, int count,
Long startid, Long endid, String platform, String project) {
RsidAndMessages ram = new RsidAndMessages();
// 消息列表
......@@ -83,7 +82,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
/**
* 获取最后消息的rsid
*/
if (messages!=null&&!messages.isEmpty()) {
if (messages != null && !messages.isEmpty()) {
VideoMessage vmf = messages.get(0);
VideoMessage vml = messages.get(messages.size() - 1);
ram.setVlist(messages);
......@@ -94,8 +93,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
}
@Override
public RsidAndMessages getFilteredMediaMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules,
List<String> keywords, int count, Long startid, Long endid, String platform, String project) {
public RsidAndMessages getFilteredMediaMessage(List<NoiseRule> noiseRules, List<String> keywords, int count,
Long startid, Long endid, String platform, String project) {
RsidAndMessages ram = new RsidAndMessages();
// 消息列表
......@@ -105,7 +104,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
/**
* 获取最后消息的rsid
*/
if (messages!=null&&!messages.isEmpty()) {
if (messages != null && !messages.isEmpty()) {
MediaMessage mmf = messages.get(0);
MediaMessage mml = messages.get(messages.size() - 1);
ram.setMlist(messages);
......
......@@ -3,36 +3,33 @@ package com.zhiwei.messageflow.util;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public final class CommonUtils
{
public final class CommonUtils {
private final static Log log = LogFactory.getLog(CommonUtils.class);
/**
* 字符串转化为整形,若字符串非法,则返回0
*
* @param str 字符串
* @param str
* 字符串
* @return 整形结果
*/
public static int strToInt(String str)
{
public static int strToInt(String str) {
return strToIntDef(str, 0);
}
/**
* 字符串转化为整形
*
* @param str 字符串
* @param def 默认值(若为非法字符串是提供的返回值)
* @param str
* 字符串
* @param def
* 默认值(若为非法字符串是提供的返回值)
* @return 整形结果
*/
public static int strToIntDef(String str, int def)
{
try
{
public static int strToIntDef(String str, int def) {
try {
return Integer.parseInt(str);
}
catch (NumberFormatException e)
{
} catch (NumberFormatException e) {
if (log.isDebugEnabled())
log.error("[CommonUtils][strToIntDef(String, int)] NumberFormatException: " + str, e);
return def;
......@@ -42,29 +39,27 @@ public final class CommonUtils
/**
* 字符串转化为长整形,若字符串非法,则返回0
*
* @param str 字符串
* @param str
* 字符串
* @return 长整形结果
*/
public static long strToLong(String str)
{
public static long strToLong(String str) {
return strToLongDef(str, 0);
}
/**
* 字符串转化为长整形,若字符串非法,则返回0
*
* @param str 字符串
* @param def 默认值(若为非法字符串是提供的返回值)
* @param str
* 字符串
* @param def
* 默认值(若为非法字符串是提供的返回值)
* @return 长整形结果
*/
public static long strToLongDef(String str, long def)
{
try
{
public static long strToLongDef(String str, long def) {
try {
return Long.parseLong(str);
}
catch (NumberFormatException e)
{
} catch (NumberFormatException e) {
if (log.isDebugEnabled())
log.error("[CommonUtils][strToLong(String, long)] NumberFormatException: " + str, e);
return def;
......@@ -74,18 +69,15 @@ public final class CommonUtils
/**
* 判断是否是大整形格式(@see ava.math.BigDecimal)
*
* @param input 数字格式字符串
* @param input
* 数字格式字符串
* @return
*/
public static boolean isBigDecimal(String input)
{
try
{
public static boolean isBigDecimal(String input) {
try {
new java.math.BigDecimal(input);
return true;
}
catch (NumberFormatException e)
{
} catch (NumberFormatException e) {
if (log.isDebugEnabled())
log.error("[CommonUtils][isBigDecimal(String)] Exception: " + input, e);
return false;
......@@ -95,18 +87,15 @@ public final class CommonUtils
/**
* 判断是否是整形格式
*
* @param input 数字字符
* @param input
* 数字字符
* @return
*/
public static boolean isInteger(String input)
{
try
{
public static boolean isInteger(String input) {
try {
Integer.parseInt(input);
return true;
}
catch (NumberFormatException e)
{
} catch (NumberFormatException e) {
if (log.isDebugEnabled())
log.error("[CommonUtils][strToLong(String)] NumberFormatException: " + input, e);
......@@ -114,8 +103,7 @@ public final class CommonUtils
}
}
public static void main(String[] args)
{
public static void main(String[] args) {
}
}
package com.zhiwei.messageflow.util;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
......@@ -36,8 +37,7 @@ public class HttpRequest {
* 提交的数据
* @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)
*/
public static JSONObject httpRequest(String requestUrl,
String requestMethod, String outputStr) {
public static JSONObject httpRequest(String requestUrl, String requestMethod, String outputStr) {
JSONObject jsonObject = null;
StringBuffer buffer = new StringBuffer();
try {
......@@ -49,8 +49,7 @@ public class HttpRequest {
SSLSocketFactory ssf = sslContext.getSocketFactory();
URL url = new URL(requestUrl);
HttpsURLConnection httpUrlConn = (HttpsURLConnection) url
.openConnection();
HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();
httpUrlConn.setSSLSocketFactory(ssf);
httpUrlConn.setDoOutput(true);
......@@ -72,10 +71,8 @@ public class HttpRequest {
// 将返回的输入流转换成字符串
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(
inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(
inputStreamReader);
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
......
......@@ -11,39 +11,29 @@ import java.io.ObjectOutputStream;
* @author TangTou
*
*/
public class SerializeUtil
{
public class SerializeUtil {
/**
* @deprecated:JDK序列化
* @param obj
* @return
*/
public static byte[] JDKserialize(Object obj)
{
public static byte[] JDKserialize(Object obj) {
ObjectOutputStream oos = null;
ByteArrayOutputStream baos = null;
try
{
try {
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);
oos.writeObject(obj);
return baos.toByteArray();
}
catch (IOException e)
{
} catch (IOException e) {
return baos.toByteArray();
}
finally
{
} finally {
if (oos != null)
try
{
try {
oos.close();
baos.close();
}
catch (IOException e)
{
} catch (IOException e) {
}
}
}
......@@ -53,31 +43,21 @@ public class SerializeUtil
* @param bytes
* @return
*/
public static Object JDKunserialize(byte[] bytes)
throws Exception
{
public static Object JDKunserialize(byte[] bytes) throws Exception {
ObjectInputStream ois = null;
ByteArrayInputStream bais = null;
try
{
try {
bais = new ByteArrayInputStream(bytes);
ois = new ObjectInputStream(bais);
return ois.readObject();
}
catch (Exception e)
{
} catch (Exception e) {
return bais;
}
finally
{
} finally {
if (ois != null)
try
{
try {
ois.close();
bais.close();
}
catch (Exception e)
{
} catch (Exception e) {
e.printStackTrace();
}
}
......
......@@ -2,7 +2,7 @@ package com.zhiwei.messageflow.util;
import java.util.TimerTask;
public class ThreadEndbyTimerTask extends TimerTask{
public class ThreadEndbyTimerTask extends TimerTask {
@Override
public void run() {
......
package com.zhiwei.messageflow.util;
import java.text.DateFormat;
/*
* 创建日期 2006-1-12
*
* 时间运算函数
*
*/
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
......@@ -20,7 +14,12 @@ import java.util.regex.Pattern;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/*
* 创建日期 2006-1-12
*
* 时间运算函数
*
*/
/**
* @author zhengqinyong <br>
* 常用时间函数, 统一格式:日期 yyyy-MM-dd, 时间 yyyy-MM-dd HH:mm:ss
......@@ -270,21 +269,17 @@ public class TimeUtil {
*
* @Title: getTimePointToNowOrEnd
* @Description: 获取开始到结束时间的时间点,按小时
* @param @return 设定文件
* @param @return
* 设定文件
* @return List<String> 返回类型
* @throws ParseException
*/
public static List<String> getTimePointToNowOrEnd(Date startTime,
Date endTime,String timeType)
{
public static List<String> getTimePointToNowOrEnd(Date startTime, Date endTime, String timeType) {
Date start = startTime;
Long end = null;
if (null == endTime)
{
if (null == endTime) {
end = System.currentTimeMillis();
}
else
{
} else {
end = endTime.getTime();
}
......@@ -296,22 +291,18 @@ public class TimeUtil {
// 创建完整时间点
List<String> times = new ArrayList<String>();
if ("day".equals(timeType)) {
while (flag)
{
while (flag) {
times.add(DATE_FORMATE.format(car.getTime()));
if (end <= car.getTimeInMillis())
{
if (end <= car.getTimeInMillis()) {
flag = false;
}
car.add(Calendar.DAY_OF_MONTH, 1);
}
}else {
while (flag)
{
} else {
while (flag) {
times.add(HOUR_FORMATE.format(car.getTime()));
if (end <= car.getTimeInMillis())
{
if (end <= car.getTimeInMillis()) {
flag = false;
}
car.add(Calendar.HOUR, 1);
......@@ -663,7 +654,7 @@ public class TimeUtil {
}
public static synchronized Date addTimeHour(Date date, int hour) {
long ms = date.getTime()+hour*60*60*1000;
long ms = date.getTime() + hour * 60 * 60 * 1000;
return new Date(ms);
}
......@@ -765,7 +756,7 @@ public class TimeUtil {
* @return String 返回类型
*/
@SuppressWarnings("finally")
public static Date stringFormatDate(String dateStr){
public static Date stringFormatDate(String dateStr) {
HashMap<String, String> dateRegFormat = new HashMap<String, String>();
dateRegFormat.put("^\\d{4}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}\\D*$",
"yyyy-MM-dd-HH-mm-ss");// 2014年3月12日 13时5分34秒,2014-03-12
......@@ -810,7 +801,7 @@ public class TimeUtil {
}
}
} catch (Exception e) {
logger.info("日期格式无效",e.fillInStackTrace());
logger.info("日期格式无效", e.fillInStackTrace());
} finally {
return date;
}
......
#es.ip=192.168.1.75
es.ip=1.119.44.201
#es.ip=192.168.0.234
#es.ip=115.231.214.234
......
......@@ -3,12 +3,13 @@ redis.maxIdle=200
redis.maxWaitMillis=1000
redis.testOnBorrow=true
redis.testOnReturn=true
#redis.ip=127.0.0.1
#redis.ip = 192.168.0.202
#redis.ip = 202.107.192.94
#redis.ip=127.0.0.1
#redis.port=6379
redis.ip=192.168.1.74
redis.port=6388
redis.password=fjouero&^%^%^$*()*)))*^$$KDFJDKJF9ruorudlfdljfldjf
redis.keyMaxSize=5000
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment