新增历史表(0-9),用于分担单表压力。
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
package com.gzzn.omms.msgexchangeapi.scheduled;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collector;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -15,9 +16,9 @@ import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import com.gzzn.omms.msgexchangeapi.dao.CminmsgDao;
|
||||
import com.gzzn.omms.msgexchangeapi.dao.CminmsgHstDao;
|
||||
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
|
||||
import com.gzzn.omms.msgexchangeapi.entity.CminmsgHst;
|
||||
import com.gzzn.omms.msgexchangeapi.service.ICminmsgHstService;
|
||||
|
||||
/**
|
||||
* cminmsgs 消息转历史
|
||||
@@ -27,9 +28,9 @@ import com.gzzn.omms.msgexchangeapi.entity.CminmsgHst;
|
||||
@Component
|
||||
@Async
|
||||
public class CminmsgsHisScheduled {
|
||||
|
||||
@Autowired
|
||||
CminmsgHstDao cminmsgHstDao;
|
||||
ICminmsgHstService cminmsgHstService;
|
||||
|
||||
|
||||
@Autowired
|
||||
CminmsgDao cminmsgDao;
|
||||
@@ -41,30 +42,36 @@ public class CminmsgsHisScheduled {
|
||||
{
|
||||
logger.info("开始cminmsgs消息转历史..");
|
||||
|
||||
Date dateNow = new Date();
|
||||
List<Cminmsg> lsCminmsg = null;
|
||||
|
||||
do
|
||||
{
|
||||
Date dateNow = new Date();
|
||||
lsCminmsg = cminmsgDao.findByCminmsgsDateProcessedIsNotNullAndCminmsgsDateReceivedBefore
|
||||
(
|
||||
dateNow,new PageRequest(0,100)); //
|
||||
|
||||
if(!CollectionUtils.isEmpty(lsCminmsg))
|
||||
dateNow,new PageRequest(0,300)
|
||||
);
|
||||
if(CollectionUtils.isEmpty(lsCminmsg))
|
||||
{
|
||||
//插入历史表
|
||||
List<CminmsgHst> lsCminmsgHst = new ArrayList();
|
||||
for(Cminmsg cminmsg : lsCminmsg)
|
||||
{
|
||||
CminmsgHst cminmsgHst = new CminmsgHst();
|
||||
BeanUtils.copyProperties(cminmsg, cminmsgHst);
|
||||
lsCminmsgHst.add(cminmsgHst);
|
||||
}
|
||||
cminmsgHstDao.save(lsCminmsgHst);
|
||||
continue;
|
||||
}
|
||||
|
||||
List<CminmsgHst> successLs = cminmsgHstService.insert(
|
||||
cminmsgHstService.toCminmsgHstLs(lsCminmsg)
|
||||
);
|
||||
|
||||
//从原始表删除成功列表
|
||||
if(!CollectionUtils.isEmpty(successLs))
|
||||
{
|
||||
List<Cminmsg> waitDeleteLs = successLs.stream()
|
||||
.map(node->{
|
||||
Cminmsg cminmsg = new Cminmsg();
|
||||
BeanUtils.copyProperties(node, cminmsg);
|
||||
return cminmsg;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
//从原始表删除
|
||||
cminmsgDao.delete(lsCminmsg);
|
||||
}
|
||||
cminmsgDao.delete(waitDeleteLs);
|
||||
}
|
||||
}
|
||||
while(!CollectionUtils.isEmpty(lsCminmsg));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user