增加定时消息表CMINMSGS已经处理数据 转 历史表操作

This commit is contained in:
zhouxiunai
2018-12-30 22:43:20 +08:00
parent f799c64682
commit 695fff6b22
8 changed files with 251 additions and 1 deletions
@@ -3,6 +3,7 @@ package com.gzzn.omms.msgexchangeapi.dao;
import java.util.Date;
import java.util.List;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.CrudRepository;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
@@ -15,4 +16,6 @@ public interface CminmsgDao extends CrudRepository<Cminmsg, Long> {
public List<Cminmsg> findByCminmsgsDateReceivedAfterOrderByCminmsgsDateReceived(Date date);
public List<Cminmsg> findByCminmsgsIdGreaterThanAndCminmsgsDateProcessedIsNull(Long id);
public List<Cminmsg> findByCminmsgsDateProcessedIsNotNullAndCminmsgsDateReceivedBefore(Date date,Pageable pageable);
}
@@ -0,0 +1,11 @@
package com.gzzn.omms.msgexchangeapi.dao;
import org.springframework.data.repository.CrudRepository;
import com.gzzn.omms.msgexchangeapi.entity.CminmsgHst;
public interface CminmsgHstDao extends CrudRepository<CminmsgHst, Long> {
}
@@ -0,0 +1,135 @@
package com.gzzn.omms.msgexchangeapi.entity;
import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
/**
* The persistent class for the CMINMSGS_HST database table.
*
*/
@Entity
@Table(name="CMINMSGS_HST")
public class CminmsgHst implements Serializable {
private static final long serialVersionUID = 2L;
@Id
@Column(name="CMINMSGS_ID")
private long cminmsgsId;
@Lob
@Column(name="CMINMSGS_CLOB_MSG")
private String cminmsgsClobMsg;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_DATE_PROCESSED")
private Date cminmsgsDateProcessed;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_DATE_RECEIVED")
private Date cminmsgsDateReceived;
@Column(name="CMINMSGS_STATUS")
private String cminmsgsStatus;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_SUBSYSTEM_DATE_SENT")
private Date cminmsgsSubsystemDateSent;
@Column(name="CMINMSGS_SUBSYSTEM_NAME")
private String cminmsgsSubsystemName;
@Column(name="CMINMSGS_SUBSYSTEM_SEQUENCE")
private int cminmsgsSubsystemSequence;
@Column(name="CMINMSGS_SUBSYSTEM_SUBTYPE")
private String cminmsgsSubsystemSubtype;
@Column(name="CMINMSGS_SUBSYSTEM_TYPE")
private String cminmsgsSubsystemType;
public CminmsgHst() {
}
public long getCminmsgsId() {
return this.cminmsgsId;
}
public void setCminmsgsId(long cminmsgsId) {
this.cminmsgsId = cminmsgsId;
}
public String getCminmsgsClobMsg() {
return this.cminmsgsClobMsg;
}
public void setCminmsgsClobMsg(String cminmsgsClobMsg) {
this.cminmsgsClobMsg = cminmsgsClobMsg;
}
public Date getCminmsgsDateProcessed() {
return this.cminmsgsDateProcessed;
}
public void setCminmsgsDateProcessed(Date cminmsgsDateProcessed) {
this.cminmsgsDateProcessed = cminmsgsDateProcessed;
}
public Date getCminmsgsDateReceived() {
return this.cminmsgsDateReceived;
}
public void setCminmsgsDateReceived(Date cminmsgsDateReceived) {
this.cminmsgsDateReceived = cminmsgsDateReceived;
}
public String getCminmsgsStatus() {
return this.cminmsgsStatus;
}
public void setCminmsgsStatus(String cminmsgsStatus) {
this.cminmsgsStatus = cminmsgsStatus;
}
public Date getCminmsgsSubsystemDateSent() {
return this.cminmsgsSubsystemDateSent;
}
public void setCminmsgsSubsystemDateSent(Date cminmsgsSubsystemDateSent) {
this.cminmsgsSubsystemDateSent = cminmsgsSubsystemDateSent;
}
public String getCminmsgsSubsystemName() {
return this.cminmsgsSubsystemName;
}
public void setCminmsgsSubsystemName(String cminmsgsSubsystemName) {
this.cminmsgsSubsystemName = cminmsgsSubsystemName;
}
public int getCminmsgsSubsystemSequence() {
return this.cminmsgsSubsystemSequence;
}
public void setCminmsgsSubsystemSequence(int cminmsgsSubsystemSequence) {
this.cminmsgsSubsystemSequence = cminmsgsSubsystemSequence;
}
public String getCminmsgsSubsystemSubtype() {
return this.cminmsgsSubsystemSubtype;
}
public void setCminmsgsSubsystemSubtype(String cminmsgsSubsystemSubtype) {
this.cminmsgsSubsystemSubtype = cminmsgsSubsystemSubtype;
}
public String getCminmsgsSubsystemType() {
return this.cminmsgsSubsystemType;
}
public void setCminmsgsSubsystemType(String cminmsgsSubsystemType) {
this.cminmsgsSubsystemType = cminmsgsSubsystemType;
}
}
@@ -0,0 +1,73 @@
package com.gzzn.omms.msgexchangeapi.scheduled;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
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.dao.CminmsgHstDao;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.entity.CminmsgHst;
/**
* cminmsgs 消息转历史
* @author zhouxiunai
*
*/
@Component
//@Async
public class CminmsgsHisScheduled {
@Autowired
CminmsgHstDao cminmsgHstDao;
@Autowired
CminmsgDao cminmsgDao;
private static Logger logger = LoggerFactory.getLogger(CminmsgsHisScheduled.class);
//@Scheduled(cron = "${scheduled.cminmsgHisCron}")
public void scheduled()
{
logger.info("开始cminmsgs消息转历史..");
Date dateNow = new Date();
List<Cminmsg> lsCminmsg = null;
do
{
lsCminmsg = cminmsgDao.findByCminmsgsDateProcessedIsNotNullAndCminmsgsDateReceivedBefore
(
dateNow,new PageRequest(0,100)); //
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);
//从原始表删除
cminmsgDao.delete(lsCminmsg);
}
}
while(!CollectionUtils.isEmpty(lsCminmsg));
logger.info("结束本次cminmsgs消息转历史..");
}//end shceduled
}