| 
					
				 | 
			
			
				@@ -1,22 +1,18 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.yonge.log.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.mongodb.operation.AggregateOperation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.log.dal.dao.HistoryMessageDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.log.dal.model.HistoryMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.yonge.log.dal.model.HistoryMessageTencent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.log.service.HistoryMessageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.mongodb.PageInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.mongodb.dao.BaseDaoWithMongo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.mongodb.service.impl.BaseServiceImplWithMongo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.data.mongodb.core.MongoTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.data.mongodb.core.aggregation.Aggregation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.data.mongodb.core.query.Criteria; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.data.mongodb.core.query.Query; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.data.mongodb.core.query.Update; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.BufferedReader; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.File; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -33,7 +29,6 @@ import java.util.Set; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.LocalDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.ZoneId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.format.DateTimeFormatter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.zip.ZipEntry; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.zip.ZipFile; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -64,7 +59,7 @@ public class HistoryMessageServiceImpl extends BaseServiceImplWithMongo<String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public long selectCount(int status, Date date) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public long selectCount(int status, Date date, int targetType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Query query = new Query(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 查询status 为null or 0 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,12 +72,14 @@ public class HistoryMessageServiceImpl extends BaseServiceImplWithMongo<String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Criteria criteria = Criteria.where("dateTime").gt(dateFormat).orOperator(Criteria.where("status").is(0),Criteria.where("status").is(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        criteria.and("targetType").is(targetType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        criteria.and("classname").in("RC:ImgMsg", "RC:GIFMsg", "RC:HQVCMsg", "RC:FileMsg", "RC:SightMsg", "RC:LBSMsg", "RC:ImgTextMsg","RC:TxtMsg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         query.addCriteria(criteria); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return mongoTemplate.count(query,HistoryMessage.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public PageInfo<HistoryMessage> selectPage(int page, int size, int status, Date date) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public PageInfo<HistoryMessage> selectPage(int page, int size, int status, Date date, int targetType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PageInfo<HistoryMessage> pageInfo = new PageInfo<HistoryMessage>(page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // date 转 LocalDateTime 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -90,12 +87,14 @@ public class HistoryMessageServiceImpl extends BaseServiceImplWithMongo<String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String dateFormat = ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<HistoryMessage> dataList = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        long total = this.selectCount(status,date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        long total = this.selectCount(status,date, targetType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (total > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             pageInfo.setTotal(total); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Query query = new Query(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Criteria criteria = Criteria.where("dateTime").gt(dateFormat).orOperator(Criteria.where("status").is(0),Criteria.where("status").is(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            criteria.and("targetType").is(targetType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            criteria.and("classname").in("RC:ImgMsg", "RC:GIFMsg", "RC:HQVCMsg", "RC:FileMsg", "RC:SightMsg", "RC:LBSMsg", "RC:ImgTextMsg","RC:TxtMsg"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             query.addCriteria(criteria); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             query.skip(pageInfo.getOffset()).limit(pageInfo.getLimit()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dataList = mongoTemplate.find(query, HistoryMessage.class); 
			 |