调整包路径

This commit is contained in:
zhouxiunai
2018-11-29 13:33:46 +08:00
parent f8d392d5af
commit 7bfef3b0cd
12 changed files with 178 additions and 66 deletions
@@ -1,34 +1,18 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.dao;
import java.util.Date;
import java.util.List;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
public interface CminmsgDao extends CrudRepository<Cminmsg, Long> {
/**
*
* @return
*/
@Query("select count(*) from Cminmsg c where cminmsgsDateProcessed is not null")
public Long getCminmsgsDateProcessedIsNotNullCount();
/**
* 根据处理时间字段查询列表,Null情况
* @param date
* @return
*/
public List<Cminmsg> findByCminmsgsDateProcessedIsNull(Pageable pageable);
/**
* 非空情况
* @return
*/
public List<Cminmsg> findByCminmsgsDateProcessedIsNotNull(Pageable pageable);
public List<Cminmsg> findByCminmsgsDateReceivedAfterOrderByCminmsgsDateReceived(Date date);
public List<Cminmsg> findByCminmsgsIdGreaterThanOrderByCminmsgsDateReceived(Long id);
}
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entiy.msg.rqfd;
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.rqfd;
import java.util.Date;
import java.util.Locale;
@@ -21,6 +21,7 @@ public class RefdMsg extends Msg {
meta.setSndr("OMMS");
meta.setSeqn("1"); //消息序号自增
meta.setDttm(DateTimeUtil.gtFormatStr(new Date(), "yyMMddHHmmss", Locale.CHINA));
meta.setType("RQFD");
meta.setStyp("NONE");
this.setMeta(meta);
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entiy.msg.rqfd;
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.rqfd;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -0,0 +1,9 @@
package com.gzzn.omms.msgexchangeapi.domain.secondary.dao;
import org.springframework.data.repository.CrudRepository;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.Context;
public interface ContextDao extends CrudRepository<Context, String> {
}
@@ -1,9 +0,0 @@
package com.gzzn.omms.msgexchangeapi.domain.secondary.dao;
import org.springframework.data.repository.CrudRepository;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.Status;
public interface StatusDao extends CrudRepository<Status, Long> {
}
@@ -0,0 +1,34 @@
package com.gzzn.omms.msgexchangeapi.domain.secondary.entity;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* 应用上下文
* @author Administrator
*
*/
@Entity
@Table(name="context")
public class Context {
public static String KEY_ISWAITSCHD="isWaitSchd";
public static String KEY_MSGPROGRESS="msgProgress";
@Id
private String key;
private String value;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
@@ -1,27 +0,0 @@
package com.gzzn.omms.msgexchangeapi.domain.secondary.entity;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="status")
public class Status {
@Id
private Long id;
private String remark;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
@@ -10,8 +10,10 @@ import org.springframework.boot.CommandLineRunner;
import com.gzzn.omms.msgexchangeapi.domain.primary.dao.CmoutmsgDao;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cmoutmsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entiy.msg.rqfd.RefdMsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entiy.msg.rqfd.RefdMsgBody;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.rqfd.RefdMsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.rqfd.RefdMsgBody;
import com.gzzn.omms.msgexchangeapi.domain.secondary.dao.ContextDao;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.Context;
import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil;
@@ -24,29 +26,47 @@ public class AppRunner implements CommandLineRunner {
@Autowired
private CmoutmsgDao cmoutmsgDao;
@Autowired
private ContextDao contextDao;
@Autowired
private IExchangeService exchangeService;
@Override
public void run(String... args) throws Exception {
//构造消息
Date nowDate = new Date();
Cmoutmsg cmoutmsg = new Cmoutmsg();
RefdMsgBody body = new RefdMsgBody();
body.setStdb(
DateTimeUtil.gtFormatStr(
new Date(),
nowDate,
"ddMMMyyHHmm",
Locale.ENGLISH)
.toUpperCase()
);
RefdMsg msg = new RefdMsg();
msg.setRefd(body);
cmoutmsg.setCminmsgsClobMsg(exchangeService.objectToXmlstr(msg));
cmoutmsg.setCminmsgsStatus("VALID");
cmoutmsgDao.save(cmoutmsg);
//
Context isWaitSchd = new Context();
isWaitSchd.setKey(Context.KEY_ISWAITSCHD); //等待返回日计划状态
isWaitSchd.setValue("true");
contextDao.save(isWaitSchd);
//初始化消息进度
Context msgProgress = new Context();
msgProgress.setKey(Context.KEY_MSGPROGRESS);
msgProgress.setValue( DateTimeUtil.gtFormatStr(
nowDate,
"yyyy-MM-dd hh:mm:ss",
Locale.ENGLISH)
);
contextDao.save(msgProgress);
}//end function run
}
@@ -1,6 +1,8 @@
package com.gzzn.omms.msgexchangeapi.service;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -23,4 +25,28 @@ public class CminmsgServiceImpl implements ICminmsgService {
Cminmsg rt = cminmsgDao.save(cminmsg);
return rt;
}
@Override
public List<Cminmsg> getNewMsgsAfterDate(Date afterdate) {
List<Cminmsg> lsCminmsgs = cminmsgDao.findByCminmsgsDateReceivedAfterOrderByCminmsgsDateReceived(afterdate);
if(null == lsCminmsgs)
{
return Collections.emptyList();
}
return lsCminmsgs;
} //end function
@Override
public List<Cminmsg> getNewMsgsAfterId(Long id) {
List<Cminmsg> lsCminmsgs = cminmsgDao.findByCminmsgsIdGreaterThanOrderByCminmsgsDateReceived(id);
if(null == lsCminmsgs)
{
return Collections.emptyList();
}
return lsCminmsgs;
}
}
@@ -1,7 +1,11 @@
package com.gzzn.omms.msgexchangeapi.service;
import java.util.Date;
import java.util.List;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
public interface ICminmsgService {
/**
@@ -9,4 +13,17 @@ public interface ICminmsgService {
* @param xmlMsg
*/
public Cminmsg sendXmlMsg(String xmlMsg);
/**
* 获取指定时间后的新消息
* @return
*/
public List<Cminmsg> getNewMsgsAfterDate(Date afterdate);
/**
* 获取指定id后的消息,消息id有序
* @param id
* @return
*/
public List<Cminmsg> getNewMsgsAfterId(Long id);
}
@@ -1,14 +1,23 @@
package com.gzzn.omms.msgexchangeapi.task;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.domain.secondary.dao.ContextDao;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.Context;
import com.gzzn.omms.msgexchangeapi.service.ICminmsgService;
import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
import com.gzzn.omms.msgexchangeapi.service.IKafkaService;
import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil;
/**
* 转换任务,获取cim的消息,转换成json,写入到kafka队列中
@@ -27,12 +36,39 @@ public class ExchangeTask {
@Autowired
private ICminmsgService cminmsgService;
@Autowired
private ContextDao contextDao;
@Scheduled(cron="0 0/1 * * * ?")
public void corn()
{
logger.info("定时任务启动....");
Context isWaitSchd = contextDao.findOne(Context.KEY_ISWAITSCHD);
Context msgProgress = contextDao.findOne(Context.KEY_MSGPROGRESS);
while (isWaitSchd.getValue().equalsIgnoreCase("true")) {
//查找回复的日计划消息
String strDate = msgProgress.getValue();
Date date = DateTimeUtil.toDate(strDate, "yyyy-MM-dd hh:mm:ss");
List<Cminmsg> lsCminmsgs = cminmsgService.getNewMsgsAfterDate(date);
Optional<Cminmsg> opCminmsg = lsCminmsgs.stream().findFirst();
//如果找到,添加到内存数据库动态航班信息表
//更新状态
isWaitSchd.setValue("false");
contextDao.save(isWaitSchd);
}
//
logger.info("同步完成");
@@ -1,5 +1,6 @@
package com.gzzn.omms.msgexchangeapi.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
@@ -17,4 +18,24 @@ public class DateTimeUtil {
SimpleDateFormat sdf = new SimpleDateFormat(pattern,locale);
return sdf.format(date);
}
/**
* 字符串转日期
* @param strDate 字符串的日期
* @param pattern 日期格式
* @return
* @throws ParseException
*/
public static Date toDate(String strDate,String pattern)
{
try {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.parse(strDate);
}
catch (ParseException e)
{
throw new RuntimeException("日期转换失败:"+e.getMessage());
}
}
}