Files
msgexchange-api/src/main/java/com/gzzn/omms/msgexchangeapi/scheduled/CminmsgsHisScheduled.java
T

80 lines
2.3 KiB
Java
Raw Normal View History

package com.gzzn.omms.msgexchangeapi.scheduled;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import com.gzzn.omms.msgexchangeapi.dao.CminmsgDao;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.entity.CminmsgHst;
import com.gzzn.omms.msgexchangeapi.service.ICminmsgHstService;
/**
* cminmsgs 消息转历史
* @author zhouxiunai
*
*/
@Component
2018-12-30 22:51:42 +08:00
@Async
public class CminmsgsHisScheduled {
@Autowired
ICminmsgHstService cminmsgHstService;
@Autowired
CminmsgDao cminmsgDao;
private static Logger logger = LoggerFactory.getLogger(CminmsgsHisScheduled.class);
2018-12-30 22:51:42 +08:00
@Scheduled(cron = "${scheduled.cminmsgHisCron}")
public void scheduled()
{
logger.info("开始cminmsgs消息转历史..");
List<Cminmsg> lsCminmsg = null;
do
{
Date dateNow = new Date();
lsCminmsg = cminmsgDao.findByCminmsgsDateProcessedIsNotNullAndCminmsgsDateReceivedBefore
(
dateNow,new PageRequest(0,300)
);
if(CollectionUtils.isEmpty(lsCminmsg))
{
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(waitDeleteLs);
}
}
while(!CollectionUtils.isEmpty(lsCminmsg));
logger.info("结束本次cminmsgs消息转历史..");
}//end shceduled
}