新增历史表(0-9),用于分担单表压力。

This commit is contained in:
zhouxiunai
2019-05-27 11:21:32 +08:00
parent 5a05570196
commit c786e83784
9 changed files with 429 additions and 25 deletions
@@ -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));