2018-11-28 20:32:19 +08:00
|
|
|
package com.gzzn.omms.msgexchangeapi.service;
|
|
|
|
|
|
2018-11-29 13:33:46 +08:00
|
|
|
import java.util.Collections;
|
2018-11-28 20:32:19 +08:00
|
|
|
import java.util.Date;
|
2018-11-29 13:33:46 +08:00
|
|
|
import java.util.List;
|
2018-12-03 10:44:14 +08:00
|
|
|
import java.util.Optional;
|
2018-11-28 20:32:19 +08:00
|
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
2018-12-03 15:27:53 +08:00
|
|
|
import com.gzzn.omms.msgexchangeapi.dao.CminmsgDao;
|
|
|
|
|
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
|
|
|
|
|
import com.gzzn.omms.msgexchangeapi.entity.msg.Msg;
|
2018-11-28 20:32:19 +08:00
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
public class CminmsgServiceImpl implements ICminmsgService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private CminmsgDao cminmsgDao;
|
|
|
|
|
|
2018-12-03 10:44:14 +08:00
|
|
|
@Autowired
|
|
|
|
|
IExchangeService exchangeService;
|
|
|
|
|
|
2018-11-28 20:32:19 +08:00
|
|
|
@Override
|
|
|
|
|
public Cminmsg sendXmlMsg(String xmlMsg) {
|
|
|
|
|
Cminmsg cminmsg = new Cminmsg();
|
|
|
|
|
cminmsg.setCminmsgsClobMsg(xmlMsg);
|
|
|
|
|
cminmsg.setCminmsgsDateReceived(new Date());
|
|
|
|
|
|
|
|
|
|
Cminmsg rt = cminmsgDao.save(cminmsg);
|
|
|
|
|
return rt;
|
|
|
|
|
}
|
2018-11-29 13:33:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@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;
|
|
|
|
|
}
|
2018-12-03 10:44:14 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Optional<Cminmsg> getRespSchdCminmsg(Date date) {
|
|
|
|
|
List<Cminmsg> lsCminmsgs = getNewMsgsAfterDate(date);
|
|
|
|
|
Optional<Cminmsg> opCminmsg = lsCminmsgs
|
|
|
|
|
.stream()
|
|
|
|
|
.filter(x->{
|
|
|
|
|
String msgBlob = x.getCminmsgsClobMsg();
|
|
|
|
|
Msg msg = exchangeService.xmlstrToObject(msgBlob, Msg.class);
|
|
|
|
|
String type = msg.getMeta().getType();
|
|
|
|
|
String subType = msg.getMeta().getStyp();
|
|
|
|
|
return type.equals("SCHD") && subType.equals("RESP");
|
|
|
|
|
})
|
|
|
|
|
.findFirst();
|
|
|
|
|
return opCminmsg;
|
|
|
|
|
}//end function
|
2018-11-28 20:32:19 +08:00
|
|
|
}
|