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