diff --git a/pom.xml b/pom.xml
index 5f2fc2ee..de87e14f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,6 +87,12 @@
jackson-databind
+
+ com.h2database
+ h2
+ runtime
+
+
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/config/DataSourceConfig.java b/src/main/java/com/gzzn/omms/msgexchangeapi/config/DataSourceConfig.java
new file mode 100644
index 00000000..492493e3
--- /dev/null
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/config/DataSourceConfig.java
@@ -0,0 +1,28 @@
+package com.gzzn.omms.msgexchangeapi.config;
+
+import javax.sql.DataSource;
+
+import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+
+@Configuration
+public class DataSourceConfig {
+ @Bean(name = "primaryDataSource")
+ @Primary
+ @ConfigurationProperties(prefix="spring.datasource.primary")
+ public DataSource primaryDataSource()
+ {
+ return DataSourceBuilder.create().build();
+ }
+
+
+ @Bean(name = "secondaryDataSource")
+ @ConfigurationProperties(prefix="spring.datasource.secondary")
+ public DataSource secondaryDataSource()
+ {
+ return DataSourceBuilder.create().build();
+ }
+}
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/config/PrimaryConfig.java b/src/main/java/com/gzzn/omms/msgexchangeapi/config/PrimaryConfig.java
new file mode 100644
index 00000000..ef79eff9
--- /dev/null
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/config/PrimaryConfig.java
@@ -0,0 +1,70 @@
+package com.gzzn.omms.msgexchangeapi.config;
+
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+import javax.sql.DataSource;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
+import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+import org.springframework.orm.jpa.JpaTransactionManager;
+import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+
+
+@Configuration
+@EnableTransactionManagement
+@EnableJpaRepositories(
+ entityManagerFactoryRef="entityManagerFactoryPrimary",
+ transactionManagerRef="transactionManagerPrimary",
+ basePackages= { "com.gzzn.omms.msgexchangeapi.domain.primary.dao" }
+ ) //设置Repository所在位置
+ public class PrimaryConfig
+ {
+
+ @Autowired
+ @Qualifier("primaryDataSource")
+ private DataSource primaryDataSource;
+
+ @Primary
+ @Bean(name = "entityManagerPrimary")
+ public EntityManager entityManager(EntityManagerFactoryBuilder builder)
+ {
+ return entityManagerFactoryPrimary(builder).getObject().createEntityManager();
+ }
+
+ @Primary
+ @Bean(name = "entityManagerFactoryPrimary")
+ public LocalContainerEntityManagerFactoryBean entityManagerFactoryPrimary (EntityManagerFactoryBuilder builder)
+ {
+ return builder
+ .dataSource(primaryDataSource)
+ .properties(getVendorProperties(primaryDataSource))
+ .packages("com.gzzn.omms.msgexchangeapi.domain.primary.entity") //设置实体类所在位置
+ .persistenceUnit("primaryPersistenceUnit")
+ .build();
+ }
+
+ @Autowired private JpaProperties jpaProperties;
+ private Map getVendorProperties(DataSource dataSource)
+ {
+ return jpaProperties.getHibernateProperties(dataSource);
+ }
+
+ @Primary
+ @Bean(name = "transactionManagerPrimary")
+ public PlatformTransactionManager transactionManagerPrimary(EntityManagerFactoryBuilder builder)
+ {
+ return new JpaTransactionManager(entityManagerFactoryPrimary(builder).getObject());
+ }
+
+ }
+
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/config/SecondaryConfig.java b/src/main/java/com/gzzn/omms/msgexchangeapi/config/SecondaryConfig.java
new file mode 100644
index 00000000..10dad7a4
--- /dev/null
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/config/SecondaryConfig.java
@@ -0,0 +1,64 @@
+package com.gzzn.omms.msgexchangeapi.config;
+
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+import javax.sql.DataSource;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
+import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+import org.springframework.orm.jpa.JpaTransactionManager;
+import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+@Configuration
+@EnableTransactionManagement
+@EnableJpaRepositories(
+ entityManagerFactoryRef="entityManagerFactorySecondary",
+ transactionManagerRef="transactionManagerSecondary",
+ basePackages= { "com.gzzn.omms.msgexchangeapi.domain.secondary.dao" }
+ ) //设置Repository所在位置
+
+ public class SecondaryConfig
+ {
+ @Autowired
+ @Qualifier("secondaryDataSource")
+ private DataSource secondaryDataSource;
+
+ @Bean(name = "entityManagerSecondary")
+ public EntityManager entityManager(EntityManagerFactoryBuilder builder)
+ {
+ return entityManagerFactorySecondary(builder).getObject().createEntityManager();
+ }
+
+ @Bean(name = "entityManagerFactorySecondary")
+ public LocalContainerEntityManagerFactoryBean
+ entityManagerFactorySecondary (EntityManagerFactoryBuilder builder)
+ {
+ return builder
+ .dataSource(secondaryDataSource)
+ .properties(getVendorProperties(secondaryDataSource))
+ .packages("com.gzzn.omms.msgexchangeapi.domain.secondary.entity") //设置实体类所在位置
+ .persistenceUnit("secondaryPersistenceUnit")
+ .build();
+ }
+
+ @Autowired
+ private JpaProperties jpaProperties;
+ private Map getVendorProperties(DataSource dataSource)
+ {
+ return jpaProperties.getHibernateProperties(dataSource);
+ }
+
+ @Bean(name = "transactionManagerSecondary")
+ PlatformTransactionManager transactionManagerSecondary(EntityManagerFactoryBuilder builder)
+ {
+ return new JpaTransactionManager(entityManagerFactorySecondary(builder).getObject());
+ }
+ }
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/config/swagger/SwaggerConfig.java b/src/main/java/com/gzzn/omms/msgexchangeapi/config/swagger/SwaggerConfig.java
index 93175ab3..a2572cf7 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/config/swagger/SwaggerConfig.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/config/swagger/SwaggerConfig.java
@@ -23,7 +23,7 @@ public class SwaggerConfig {
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo())
- .host("130.120.3.231:91/msgexchangeapi")
+ .host("localhost:8080")
;
}
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/controller/CminmsgsController.java b/src/main/java/com/gzzn/omms/msgexchangeapi/controller/CminmsgsController.java
index 13243a35..5a371cbe 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/controller/CminmsgsController.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/controller/CminmsgsController.java
@@ -1,23 +1,34 @@
package com.gzzn.omms.msgexchangeapi.controller;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.dto.ResponseDto;
+import com.gzzn.omms.msgexchangeapi.service.ICminmsgService;
@RestController
@RequestMapping("/cminmsgs")
public class CminmsgsController {
-
+
+ @Autowired
+ private ICminmsgService cminmsgService;
+
+
/***
* 发送消息到Cminmsgs数据库表
* @param msg
* @param topic
* @return
*/
- @GetMapping(value = "/send")
- public ResponseDto send(String msg,String topic) {
- return ResponseDto.success();
+ @PostMapping(value = "/send")
+ public ResponseDto send(@RequestBody String xmlmsg) {
+
+ Cminmsg minmsg = cminmsgService.sendXmlMsg(xmlmsg);
+
+ return ResponseDto.success(minmsg.getCminmsgsId());
}
}
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/dao/CminmsgDao.java b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/dao/CminmsgDao.java
similarity index 82%
rename from src/main/java/com/gzzn/omms/msgexchangeapi/dao/CminmsgDao.java
rename to src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/dao/CminmsgDao.java
index 3c73576c..a5caf2a5 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/dao/CminmsgDao.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/dao/CminmsgDao.java
@@ -1,4 +1,4 @@
-package com.gzzn.omms.msgexchangeapi.dao;
+package com.gzzn.omms.msgexchangeapi.domain.primary.dao;
import java.util.List;
@@ -6,7 +6,7 @@ import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
-import com.gzzn.omms.msgexchangeapi.entiy.Cminmsg;
+import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
public interface CminmsgDao extends CrudRepository {
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/dao/CmoutmsgDao.java b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/dao/CmoutmsgDao.java
similarity index 50%
rename from src/main/java/com/gzzn/omms/msgexchangeapi/dao/CmoutmsgDao.java
rename to src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/dao/CmoutmsgDao.java
index 6d71c63d..43d37adb 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/dao/CmoutmsgDao.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/dao/CmoutmsgDao.java
@@ -1,8 +1,8 @@
-package com.gzzn.omms.msgexchangeapi.dao;
+package com.gzzn.omms.msgexchangeapi.domain.primary.dao;
import org.springframework.data.repository.CrudRepository;
-import com.gzzn.omms.msgexchangeapi.entiy.Cmoutmsg;
+import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cmoutmsg;
public interface CmoutmsgDao extends CrudRepository {
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cminmsg.java b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/Cminmsg.java
similarity index 87%
rename from src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cminmsg.java
rename to src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/Cminmsg.java
index 822212d1..923dc2bb 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cminmsg.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/Cminmsg.java
@@ -1,4 +1,4 @@
-package com.gzzn.omms.msgexchangeapi.entiy;
+package com.gzzn.omms.msgexchangeapi.domain.primary.entity;
import java.io.Serializable;
import javax.persistence.*;
@@ -11,10 +11,12 @@ import java.util.Date;
*/
@Entity
@Table(name="CMINMSGS")
+@SequenceGenerator(name = "sequenceGenerator", sequenceName = "SEQ_CMINMSGS")
public class Cminmsg implements Serializable {
private static final long serialVersionUID = 1L;
@Id
+ @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="sequenceGenerator")
@Column(name="CMINMSGS_ID")
private long cminmsgsId;
@@ -22,18 +24,18 @@ public class Cminmsg implements Serializable {
@Column(name="CMINMSGS_CLOB_MSG")
private String cminmsgsClobMsg;
- @Temporal(TemporalType.DATE)
+ @Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_DATE_PROCESSED")
private Date cminmsgsDateProcessed;
- @Temporal(TemporalType.DATE)
+ @Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_DATE_RECEIVED")
private Date cminmsgsDateReceived;
@Column(name="CMINMSGS_STATUS")
private String cminmsgsStatus;
- @Temporal(TemporalType.DATE)
+ @Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_SUBSYSTEM_DATE_SENT")
private Date cminmsgsSubsystemDateSent;
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cmoutmsg.java b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/Cmoutmsg.java
similarity index 91%
rename from src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cmoutmsg.java
rename to src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/Cmoutmsg.java
index db4e8d30..2ac9089a 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cmoutmsg.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/Cmoutmsg.java
@@ -1,4 +1,4 @@
-package com.gzzn.omms.msgexchangeapi.entiy;
+package com.gzzn.omms.msgexchangeapi.domain.primary.entity;
import java.io.Serializable;
import javax.persistence.*;
@@ -23,18 +23,18 @@ public class Cmoutmsg implements Serializable {
@Column(name="CMINMSGS_CLOB_MSG")
private String cminmsgsClobMsg;
- @Temporal(TemporalType.DATE)
+ @Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_DATE_PROCESSED")
private Date cminmsgsDateProcessed;
- @Temporal(TemporalType.DATE)
+ @Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_DATE_RECEIVED")
private Date cminmsgsDateReceived;
@Column(name="CMINMSGS_STATUS")
private String cminmsgsStatus;
- @Temporal(TemporalType.DATE)
+ @Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_SUBSYSTEM_DATE_SENT")
private Date cminmsgsSubsystemDateSent;
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Meta.java b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/msg/Meta.java
similarity index 88%
rename from src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Meta.java
rename to src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/msg/Meta.java
index 5af75b01..c83731e9 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Meta.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/msg/Meta.java
@@ -1,4 +1,4 @@
-package com.gzzn.omms.msgexchangeapi.entiy.msg;
+package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg;
import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Msg.java b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/msg/Msg.java
similarity index 80%
rename from src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Msg.java
rename to src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/msg/Msg.java
index f5ad68e6..87b1f847 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Msg.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entity/msg/Msg.java
@@ -1,4 +1,4 @@
-package com.gzzn.omms.msgexchangeapi.entiy.msg;
+package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsg.java b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entiy/msg/rqfd/RefdMsg.java
similarity index 75%
rename from src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsg.java
rename to src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entiy/msg/rqfd/RefdMsg.java
index e2d347fe..74e00e27 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsg.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entiy/msg/rqfd/RefdMsg.java
@@ -1,12 +1,12 @@
-package com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd;
+package com.gzzn.omms.msgexchangeapi.domain.primary.entiy.msg.rqfd;
import java.util.Date;
import java.util.Locale;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
-import com.gzzn.omms.msgexchangeapi.entiy.msg.Meta;
-import com.gzzn.omms.msgexchangeapi.entiy.msg.Msg;
+import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Meta;
+import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg;
import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil;
@JacksonXmlRootElement(localName="MSG")
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsgBody.java b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entiy/msg/rqfd/RefdMsgBody.java
similarity index 86%
rename from src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsgBody.java
rename to src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entiy/msg/rqfd/RefdMsgBody.java
index b7f6749b..e913d9e5 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsgBody.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/primary/entiy/msg/rqfd/RefdMsgBody.java
@@ -1,4 +1,4 @@
-package com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd;
+package com.gzzn.omms.msgexchangeapi.domain.primary.entiy.msg.rqfd;
import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/domain/secondary/dao/StatusDao.java b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/secondary/dao/StatusDao.java
new file mode 100644
index 00000000..a9469d0d
--- /dev/null
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/secondary/dao/StatusDao.java
@@ -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.Status;
+
+public interface StatusDao extends CrudRepository {
+
+}
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/domain/secondary/entity/Status.java b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/secondary/entity/Status.java
new file mode 100644
index 00000000..15066b79
--- /dev/null
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/domain/secondary/entity/Status.java
@@ -0,0 +1,27 @@
+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;
+ }
+}
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/runner/AppRunner.java b/src/main/java/com/gzzn/omms/msgexchangeapi/runner/AppRunner.java
index d0dd759e..d525ef35 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/runner/AppRunner.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/runner/AppRunner.java
@@ -8,10 +8,10 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
-import com.gzzn.omms.msgexchangeapi.dao.CmoutmsgDao;
-import com.gzzn.omms.msgexchangeapi.entiy.Cmoutmsg;
-import com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd.RefdMsg;
-import com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd.RefdMsgBody;
+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.service.IExchangeService;
import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil;
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/service/CminmsgServiceImpl.java b/src/main/java/com/gzzn/omms/msgexchangeapi/service/CminmsgServiceImpl.java
new file mode 100644
index 00000000..f0aea46a
--- /dev/null
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/service/CminmsgServiceImpl.java
@@ -0,0 +1,26 @@
+package com.gzzn.omms.msgexchangeapi.service;
+
+import java.util.Date;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.gzzn.omms.msgexchangeapi.domain.primary.dao.CminmsgDao;
+import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
+
+@Service
+public class CminmsgServiceImpl implements ICminmsgService {
+ @Autowired
+ private CminmsgDao cminmsgDao;
+
+
+ @Override
+ public Cminmsg sendXmlMsg(String xmlMsg) {
+ Cminmsg cminmsg = new Cminmsg();
+ cminmsg.setCminmsgsClobMsg(xmlMsg);
+ cminmsg.setCminmsgsDateReceived(new Date());
+
+ Cminmsg rt = cminmsgDao.save(cminmsg);
+ return rt;
+ }
+}
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/service/ICminmsgService.java b/src/main/java/com/gzzn/omms/msgexchangeapi/service/ICminmsgService.java
new file mode 100644
index 00000000..7bac73e9
--- /dev/null
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/service/ICminmsgService.java
@@ -0,0 +1,12 @@
+package com.gzzn.omms.msgexchangeapi.service;
+
+import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
+
+public interface ICminmsgService {
+
+ /**
+ * 发送xml格式的消息到cminmsgs表
+ * @param xmlMsg
+ */
+ public Cminmsg sendXmlMsg(String xmlMsg);
+}
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/task/ExchangeTask.java b/src/main/java/com/gzzn/omms/msgexchangeapi/task/ExchangeTask.java
index 0f55b516..3dcd97c0 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/task/ExchangeTask.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/task/ExchangeTask.java
@@ -1,18 +1,12 @@
package com.gzzn.omms.msgexchangeapi.task;
-import java.util.List;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.PageRequest;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
-import org.springframework.util.StringUtils;
-import com.gzzn.omms.msgexchangeapi.dao.CminmsgDao;
-import com.gzzn.omms.msgexchangeapi.entiy.Cminmsg;
-import com.gzzn.omms.msgexchangeapi.exception.ExchangeServiceException;
+import com.gzzn.omms.msgexchangeapi.service.ICminmsgService;
import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
import com.gzzn.omms.msgexchangeapi.service.IKafkaService;
@@ -32,39 +26,14 @@ public class ExchangeTask {
IExchangeService exchangeService;
@Autowired
- private CminmsgDao cminmsgDao;
+ private ICminmsgService cminmsgService;
@Scheduled(cron="0 0/1 * * * ?")
public void corn()
{
logger.info("定时任务启动....");
- Long maxPerLong = 1000L; //每次最大发送多少条消息
- Long lenTotal = cminmsgDao.getCminmsgsDateProcessedIsNotNullCount();
- Long lenSend = 0L;
- Integer pageIndex = 0;
- Integer pageSize = 50;
- while(lenSend < lenTotal && lenSend < maxPerLong)
- {
- List ls = cminmsgDao.findByCminmsgsDateProcessedIsNotNull(new PageRequest(pageIndex,pageSize));
- for(Cminmsg node:ls)
- {
- String strJson = null;
- try {
- strJson = exchangeService.xmlToJson(node.getCminmsgsClobMsg());
- if(!StringUtils.isEmpty(strJson))
- {
- kafkaservice.msgSend("topic2", strJson);
- }
- } catch (ExchangeServiceException e) {
- logger.error(e.getMessage());
- }
- } // end for
-
-
- lenSend += ls.size();
- pageIndex++;
- }//end while
+
//
logger.info("同步完成");
}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 33f78422..a7b73ab2 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -1,3 +1,24 @@
+spring:
+ datasource:
+ primary:
+ username: ommsxc
+ password: ommsxc
+ url: jdbc:oracle:thin:@130.120.3.236:1521/xe
+ driver: oracle.jdbc.driver.OracleDriver
+ tomcat:
+ max-active: 30
+ test-on-borrow: true
+ initial-size: 3
+
+ secondary:
+ username: ommsxc
+ password: ommsxc
+ url: jdbc:oracle:thin:@130.120.3.236:1521/xe
+ driver: oracle.jdbc.driver.OracleDriver
+ tomcat:
+ max-active: 30
+ test-on-borrow: true
+ initial-size: 3
kafka:
producer:
retries: 0
@@ -28,13 +49,4 @@ kafka:
concurrency: 10
group:
id: test
-spring:
- datasource:
- username: ommsxc
- password: ommsxc
- url: jdbc:oracle:thin:@130.120.3.236:1521/xe
- driver: oracle.jdbc.driver.OracleDriver
- tomcat:
- max-active: 30
- test-on-borrow: true
- initial-size: 3
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/test/java/com/gzzn/omms/msgexchangeapi/tools/DatetimeFormatTest.java b/src/test/java/com/gzzn/omms/msgexchangeapi/tools/DatetimeFormatTest.java
new file mode 100644
index 00000000..3f0b0d5c
--- /dev/null
+++ b/src/test/java/com/gzzn/omms/msgexchangeapi/tools/DatetimeFormatTest.java
@@ -0,0 +1,26 @@
+package com.gzzn.omms.msgexchangeapi.tools;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class DatetimeFormatTest {
+
+ @Test
+ public void testFormat()
+ {
+ SimpleDateFormat sdf = new SimpleDateFormat("ddMMMyyHHmm",Locale.ENGLISH);
+ System.out.println(sdf.format(new Date()).toUpperCase());
+
+
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyMMddHHmmss",Locale.CHINA);
+ System.out.println(sdf1.format(new Date()));
+ }
+}
diff --git a/src/test/java/com/gzzn/omms/msgexchangeapi/tools/ToolTest.java b/src/test/java/com/gzzn/omms/msgexchangeapi/tools/ToolTest.java
new file mode 100644
index 00000000..8f7f1285
--- /dev/null
+++ b/src/test/java/com/gzzn/omms/msgexchangeapi/tools/ToolTest.java
@@ -0,0 +1,90 @@
+package com.gzzn.omms.msgexchangeapi.tools;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.List;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.gzzn.omms.msgexchangeapi.domain.primary.dao.CminmsgDao;
+import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
+import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg;
+import com.gzzn.omms.msgexchangeapi.exception.ExchangeServiceException;
+import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
+import com.gzzn.omms.msgexchangeapi.utils.JsonUtil;
+
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class ToolTest {
+
+ private static Logger logger = LoggerFactory.getLogger(ToolTest.class);
+
+ @Autowired
+ private CminmsgDao cminmsgDao;
+
+ @Autowired
+ private IExchangeService exchangeService;
+
+ @Test
+ public void test() {
+
+ }
+
+ @Test
+ public void exportToXmlFiles() throws JsonParseException, JsonMappingException, IOException
+ {
+ List lsCmin = (List) cminmsgDao.findAll();
+
+ for(Cminmsg x : lsCmin)
+ {
+ String json = exchangeService.xmlToJson(x.getCminmsgsClobMsg());
+ Msg msg =JsonUtil.getObject(json,Msg.class);
+ String Dttm = msg.getMeta().getDttm();
+
+ String dir = "xml/" + Dttm.substring(0, 10);
+
+ StringBuilder path = new StringBuilder();
+ path.append(dir);
+ path.append("/");
+ path.append(msg.getMeta().getDttm().substring(10, Dttm.length()));//time
+ path.append("-"+x.getCminmsgsId());
+ path.append("-"+msg.getMeta().getType());//Type
+ path.append("-"+msg.getMeta().getStyp());//Subtype
+ path.append(".xml");
+
+ //父目录是否存在
+ File fileDir = new File(dir);
+ if(fileDir.exists() == false)
+ {
+ fileDir.mkdirs();
+ }
+
+ //
+ File f = new File(path.toString());
+ try (FileOutputStream fop = new FileOutputStream(f)) {
+ byte[] contentInBytes = x.getCminmsgsClobMsg().getBytes("UTF-8");
+
+ fop.write(contentInBytes);
+ fop.flush();
+ fop.close();
+ }
+ catch (ExchangeServiceException e) {
+ logger.error(e.getMessage());
+ }
+ catch (IOException e) {
+ logger.error(e.getMessage());
+ }
+ }
+
+ } //end function
+}