diff --git a/platform-biz-patient-service/pom.xml b/platform-biz-patient-service/pom.xml
index 272d3af..6578c4e 100644
--- a/platform-biz-patient-service/pom.xml
+++ b/platform-biz-patient-service/pom.xml
@@ -16,6 +16,11 @@
platform-common
${project.version}
+
+ com.lyms.core
+ platform-dal
+ ${project.version}
+
diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java
new file mode 100644
index 0000000..77c4340
--- /dev/null
+++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java
@@ -0,0 +1,27 @@
+package com.lyms.platform.biz;
+
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+import com.lyms.platform.biz.service.BasicConfigService;
+import com.lyms.platform.pojo.BasicConfig;
+
+
+
+
+public class BasicConfigServiceTest {
+ public static void main(String[] args) {
+ ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient.xml");
+ BasicConfigService basicConfigService = (BasicConfigService) applicationContext.getBean("basicConfigService");
+
+
+ for(int i = 6;i<10;i++){
+ BasicConfig obj = new BasicConfig();
+ obj.setCode("xc"+i);
+ obj.setName("哮喘"+i);
+ obj.setYn(1);
+ obj.setParentId("56e8cf6e24fdcc51d22a4f27");
+ basicConfigService.addBasicConfig(obj);
+ }
+ }
+}
diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBasicConfigDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBasicConfigDao.java
new file mode 100644
index 0000000..4e6f66c
--- /dev/null
+++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBasicConfigDao.java
@@ -0,0 +1,24 @@
+package com.lyms.platform.biz.dal;
+
+import java.util.List;
+
+import com.lyms.platform.common.dao.operator.MongoQuery;
+import com.lyms.platform.common.dao.operator.Page;
+import com.lyms.platform.pojo.BasicConfig;
+
+public interface IBasicConfigDao {
+
+ public BasicConfig addBasicConfig(BasicConfig obj);
+
+ public void updateBasicConfig(BasicConfig obj, String id);
+
+ public void deleteBasicConfig(String id);
+
+ public BasicConfig getBasicConfig(String id);
+
+ public int queryBasicConfigCount(MongoQuery query);
+
+ public List queryBasicConfig(MongoQuery query);
+
+ public Page findPage(MongoQuery query);
+}
\ No newline at end of file
diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BasicConfigDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BasicConfigDaoImpl.java
new file mode 100644
index 0000000..468a320
--- /dev/null
+++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BasicConfigDaoImpl.java
@@ -0,0 +1,44 @@
+package com.lyms.platform.biz.dal.impl;
+
+import java.util.List;
+
+import org.springframework.stereotype.Repository;
+
+import com.lyms.platform.biz.dal.IBasicConfigDao;
+import com.lyms.platform.common.dao.BaseMongoDAOImpl;
+import com.lyms.platform.common.dao.operator.MongoCondition;
+import com.lyms.platform.common.dao.operator.MongoOper;
+import com.lyms.platform.common.dao.operator.MongoQuery;
+import com.lyms.platform.common.dao.operator.Page;
+import com.lyms.platform.pojo.BasicConfig;
+
+@Repository("basicConfigDao")
+public class BasicConfigDaoImpl extends BaseMongoDAOImpl implements IBasicConfigDao {
+ public BasicConfig addBasicConfig(BasicConfig obj) {
+ return save(obj);
+ }
+
+ public void updateBasicConfig(BasicConfig obj, String id) {
+ update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj);
+ }
+
+ public void deleteBasicConfig(String id) {
+ delete(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery());
+ }
+
+ public BasicConfig getBasicConfig(String id) {
+ return findById(id);
+ }
+
+ public int queryBasicConfigCount(MongoQuery query) {
+ return (int) count(query.convertToMongoQuery());
+ }
+
+ public List queryBasicConfig(MongoQuery query) {
+ return find(query.convertToMongoQuery());
+ }
+
+ public Page findPage(MongoQuery query) {
+ return findPage(query.convertToMongoQuery());
+ }
+}
\ No newline at end of file
diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BasicConfigService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BasicConfigService.java
new file mode 100644
index 0000000..6ae4034
--- /dev/null
+++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BasicConfigService.java
@@ -0,0 +1,36 @@
+package com.lyms.platform.biz.service;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.stereotype.Service;
+
+import com.lyms.platform.biz.dal.IBasicConfigDao;
+import com.lyms.platform.common.dao.operator.MongoCondition;
+import com.lyms.platform.common.dao.operator.Page;
+import com.lyms.platform.pojo.BasicConfig;
+
+@Service("basicConfigService")
+public class BasicConfigService {
+ @Autowired
+ private IBasicConfigDao basicConfigDao;
+
+ public void addBasicConfig(BasicConfig obj) {
+ basicConfigDao.addBasicConfig(obj);
+ }
+
+ public void updateBasicConfig(BasicConfig obj) {
+ basicConfigDao.updateBasicConfig(obj, obj.getId());
+ }
+
+ public List queryGuides(int start, int end) {
+ return basicConfigDao.queryBasicConfig(MongoCondition.newInstance().toMongoQuery().start(start).end(end)
+ .addOrder(Direction.ASC, "id"));
+ }
+
+ public Page queryGuidesAndPage(int start, int end) {
+ return basicConfigDao.findPage(MongoCondition.newInstance().toMongoQuery().start(start).end(end)
+ .addOrder(Direction.ASC, "id"));
+ }
+}
\ No newline at end of file
diff --git a/platform-biz-patient-service/src/main/resources/database.properties b/platform-biz-patient-service/src/main/resources/database.properties
new file mode 100644
index 0000000..ddfb82a
--- /dev/null
+++ b/platform-biz-patient-service/src/main/resources/database.properties
@@ -0,0 +1,3 @@
+mongo.db.host=localhost
+mongo.db.port=27017
+mongo.db.dbname=platform
\ No newline at end of file
diff --git a/platform-biz-patient-service/src/main/resources/spring/applicationContext_biz_patient.xml b/platform-biz-patient-service/src/main/resources/spring/applicationContext_biz_patient.xml
deleted file mode 100644
index a587f43..0000000
--- a/platform-biz-patient-service/src/main/resources/spring/applicationContext_biz_patient.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- dalInterceptor
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/platform-biz-patient-service/src/main/resources/spring/applicationContext_biz_patient1.xml b/platform-biz-patient-service/src/main/resources/spring/applicationContext_biz_patient1.xml
new file mode 100644
index 0000000..27055bb
--- /dev/null
+++ b/platform-biz-patient-service/src/main/resources/spring/applicationContext_biz_patient1.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+ classpath:database.properties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dalInterceptor
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/platform-biz-patient-service/src/main/resources/spring/spring-mongodb.xml b/platform-biz-patient-service/src/main/resources/spring/spring-mongodb.xml
deleted file mode 100644
index 12d900e..0000000
--- a/platform-biz-patient-service/src/main/resources/spring/spring-mongodb.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/platform-biz-patient-service/src/main/resources/spring/spring-mongodb1.xml b/platform-biz-patient-service/src/main/resources/spring/spring-mongodb1.xml
new file mode 100644
index 0000000..12d900e
--- /dev/null
+++ b/platform-biz-patient-service/src/main/resources/spring/spring-mongodb1.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/platform-biz-service/pom.xml b/platform-biz-service/pom.xml
index f1d4fd1..5818424 100644
--- a/platform-biz-service/pom.xml
+++ b/platform-biz-service/pom.xml
@@ -16,6 +16,11 @@
platform-common
${project.version}
+
+ com.lyms.core
+ platform-dal
+ ${project.version}
+
diff --git a/platform-common/com/lyms/platform/common/dao/IBasicConfigDao.java b/platform-common/com/lyms/platform/common/dao/IBasicConfigDao.java
new file mode 100644
index 0000000..3949866
--- /dev/null
+++ b/platform-common/com/lyms/platform/common/dao/IBasicConfigDao.java
@@ -0,0 +1,15 @@
+package com.lyms.biz.core.dao.mongo;
+
+import com.lyms.biz.core.model.BasicConfig;
+import com.lyms.platform.common.dao.operator.Page;
+import java.util.List;
+
+public interface IBasicConfigDao {
+public BasicConfig addBasicConfig(BasicConfig obj);
+public void updateBasicConfig(BasicConfig obj,String id);
+public void deleteBasicConfig (String id);
+public BasicConfig getBasicConfig (String id);
+public int queryBasicConfigCount (com.lyms.biz.core.dao.mongo.operator.MongoQuery query);
+public List queryBasicConfig (com.lyms.biz.core.dao.mongo.operator.MongoQuery query);
+public Page findPage(com.lyms.biz.core.dao.mongo.operator.MongoQuery query);
+}
\ No newline at end of file
diff --git a/platform-common/com/lyms/platform/common/dao/impl/BasicConfigDaoImpl.java b/platform-common/com/lyms/platform/common/dao/impl/BasicConfigDaoImpl.java
new file mode 100644
index 0000000..9fe7198
--- /dev/null
+++ b/platform-common/com/lyms/platform/common/dao/impl/BasicConfigDaoImpl.java
@@ -0,0 +1,38 @@
+package com.lyms.biz.core.dao.mongo.impl;
+
+import com.lyms.biz.core.model.BasicConfig;
+import org.springframework.stereotype.Repository;
+import com.lyms.platform.common.dao.BaseMongoDAOImpl;
+import com.lyms.platform.common.dao.IBasicConfigDao;
+import java.util.List;
+import com.lyms.platform.common.dao.operator.MongoQuery;
+import com.lyms.platform.common.dao.operator.MongoCondition;
+import com.lyms.platform.common.dao.operator.MongoOper;
+import com.lyms.platform.common.dao.operator.Page;
+
+
+
+@Repository("basicConfigDao")
+public class BasicConfigDaoImpl extends BaseMongoDAOImpl implements IBasicConfigDao {
+ public BasicConfig addBasicConfig(BasicConfig obj){
+ return save(obj);
+ }
+ public void updateBasicConfig(BasicConfig obj,String id){
+ update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj);
+ }
+ public void deleteBasicConfig(String id){
+ delete(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery());
+ }
+ public BasicConfig getBasicConfig (String id){
+ return findById(id);
+ }
+ public int queryBasicConfigCount(MongoQuery query){
+ return (int)count(query.convertToMongoQuery());
+ }
+ public List queryBasicConfig(MongoQuery query){
+ return find(query.convertToMongoQuery());
+ }
+ public Page findPage(MongoQuery query){
+ return findPage(query.convertToMongoQuery());
+}
+}
diff --git a/platform-common/src/main/java/com/lyms/platform/common/GAllMysql.java b/platform-common/src/main/java/com/lyms/platform/common/GAllMysql.java
new file mode 100644
index 0000000..14d66d9
--- /dev/null
+++ b/platform-common/src/main/java/com/lyms/platform/common/GAllMysql.java
@@ -0,0 +1,93 @@
+package com.lyms.platform.common;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.io.IOException;
+
+import org.apache.commons.io.FileUtils;
+
+/**
+ * Created by riecard on 15/3/26.
+ */
+public class GAllMysql {
+ private static final String packageStr = "com.lyms.biz.core";
+ private static final String baseDir = "C:/pd/";
+ private static final String BASE_MONGO_DAO= "com.lyms.platform.common.dao";
+ private static final String BASE_MONGO_DAO1= "com/lyms/platform/common/dao";
+ public static void main(String[] args) {
+ GAllMysql g = new GAllMysql();
+ File file = new File(baseDir);
+ File[] files = file.listFiles(new FilenameFilter() {
+
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.endsWith(".java");
+ }
+ });
+ for(File f :files){
+ g.generate(f);
+ }
+ }
+
+ public void generate(File file) {
+ String className = file.getName().replace(".java", "");
+ StringBuffer mapper = new StringBuffer();
+ StringBuffer daoImpl = new StringBuffer();
+
+ daoImpl.append("package " + packageStr + ".dao.mongo.impl;\n" + "\n" + "import "
+ + packageStr + ".model." + className + ";"+ "\nimport org.springframework.stereotype.Repository;\nimport "+BASE_MONGO_DAO+".BaseMongoDAOImpl;\n"+"import "+BASE_MONGO_DAO+".I"+className+ "Dao;\n"
+ + "import java.util.List;\nimport " +BASE_MONGO_DAO+".operator.MongoQuery;\nimport "+BASE_MONGO_DAO+".operator.MongoCondition;\nimport " +BASE_MONGO_DAO+".operator.MongoOper;\nimport "+BASE_MONGO_DAO+".operator.Page;\n"+ "\n\n\n" + "@Repository(\""+className.substring(0,1).toLowerCase()+className.substring(1)+"Dao\")\npublic class "
+ + className + "DaoImpl extends BaseMongoDAOImpl<"+className+">"+" implements I"
+ + className + "Dao {\n");
+
+
+
+ daoImpl.append(" public "+className+" add" + className + "(" + className
+ + " obj){\n").append(" return save(obj);\n").append(" }\n");
+
+ daoImpl.append(" public void update" + className + "(" + className
+ + " obj,String id){\n").append(" update(new MongoQuery(new MongoCondition(\"id\", id, MongoOper.IS)).convertToMongoQuery(), obj);").append("\n }\n");
+
+
+ daoImpl.append(" public void delete" + className + "(String id){\n delete(new MongoQuery(new MongoCondition(\"id\", id, MongoOper.IS)).convertToMongoQuery());\n }\n");
+ daoImpl.append(" public " + className + " get" + className
+ + " (String id){\n").append(" return findById(id);\n }\n");
+ daoImpl.append(" public int query" + className + "Count("+ "MongoQuery query){\n")
+ .append(" return (int)count(query.convertToMongoQuery());\n }\n");
+
+
+ daoImpl.append(" public List<" + className + "> query" + className + "("
+ + "MongoQuery query){\n").append(" return find(query.convertToMongoQuery()); \n }\n");
+ daoImpl.append(" public Page<"+className+"> findPage(MongoQuery query){\n").append(" return findPage(query.convertToMongoQuery());\n}\n");
+ daoImpl.append("}\n");
+ System.out.println(daoImpl);
+ // dao interface
+ mapper.append("package " + packageStr + ".dao.mongo;\n" + "\n" + "import "
+ + packageStr + ".model." + className + ";\n" + "import "+BASE_MONGO_DAO+".operator.Page;\n"
+ + "import java.util.List;\n" + "\n" + "public interface I"
+ + className + "Dao {\n");
+ mapper.append("public "+className+" add" + className + "(" + className
+ + " obj);\n");
+ mapper.append("public void update" + className + "(" + className
+ + " obj,String id);\n");
+ mapper.append("public void delete" + className + " (String id);\n");
+ mapper.append("public " + className + " get" + className
+ + " (String id);\n");
+ mapper.append("public int query" + className + "Count ("+ "com.lyms.biz.core.dao.mongo.operator.MongoQuery query);\n");
+ mapper.append("public List<" + className + "> query" + className + " ("
+ + "com.lyms.biz.core.dao.mongo.operator.MongoQuery query);\n");
+ mapper.append("public Page<"+className+"> findPage(com.lyms.biz.core.dao.mongo.operator.MongoQuery query);\n");
+ mapper.append("}");
+
+ try {
+ System.out.println(mapper);
+ FileUtils.writeStringToFile(new File(BASE_MONGO_DAO1 + "/I" + className
+ + "Dao.java"), mapper.toString());
+
+ FileUtils.writeStringToFile(new File(BASE_MONGO_DAO1 + "/impl/" + className
+ + "DaoImpl.java"), daoImpl.toString());
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAO.java b/platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAO.java
new file mode 100644
index 0000000..6512b60
--- /dev/null
+++ b/platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAO.java
@@ -0,0 +1,95 @@
+package com.lyms.platform.common.dao;
+
+import java.util.List;
+
+import org.springframework.data.mongodb.core.query.Query;
+
+import com.lyms.platform.common.dao.operator.Page;
+
+public interface BaseMongoDAO {
+
+ /**
+ * 通过条件查询实体(集合)
+ *
+ * @param query
+ */
+ public List find(Query query);
+
+ /**
+ * 通过一定的条件查询一个实体
+ *
+ * @param query
+ * @return
+ */
+ public T findOne(Query query);
+
+ /**
+ * 通过条件查询更新数据
+ *
+ * @param query
+ * @param update
+ * @return
+ */
+ public void update(Query query, T update);
+
+ /**
+ * 保存一个对象到mongodb
+ *
+ * @param entity
+ * @return
+ */
+ public T save(T entity);
+
+ /**
+ * 保存一个对象到mongodb的指定集合
+ *
+ * @param entity
+ * @return
+ */
+ public T save(T entity, String collection);
+
+ /**
+ * 通过ID获取记录
+ *
+ * @param id
+ * @return
+ */
+ public T findById(String id);
+
+ /**
+ * 通过ID获取记录,并且指定了集合名(表的意思)
+ *
+ * @param id
+ * @param collectionName
+ * 集合名
+ * @return
+ */
+ public T findById(String id, String collectionName);
+
+ /**
+ * 分页查询
+ *
+ * @param page
+ * @param query
+ * @return
+ */
+ public Page findPage(Query query);
+
+ /**
+ * 求数据总和
+ *
+ * @param query
+ * @return
+ */
+ public long count(Query query);
+
+ /**
+ * 查询某个指定集合的数量
+ *
+ * @param query
+ * @param collection
+ * @return
+ */
+ public long count(Query query, String collection);
+
+}
\ No newline at end of file
diff --git a/platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAOImpl.java b/platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAOImpl.java
new file mode 100644
index 0000000..5fca2f0
--- /dev/null
+++ b/platform-common/src/main/java/com/lyms/platform/common/dao/BaseMongoDAOImpl.java
@@ -0,0 +1,103 @@
+package com.lyms.platform.common.dao;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.data.mongodb.core.query.Update;
+import org.springframework.util.Assert;
+
+import com.lyms.platform.common.dao.operator.Page;
+import com.lyms.platform.common.utils.MongoConvertHelper;
+import com.lyms.platform.common.utils.ReflectionUtils;
+
+public class BaseMongoDAOImpl implements BaseMongoDAO {
+
+ /**
+ * spring mongodb 集成操作类
+ */
+ @Autowired
+ private MongoTemplate mongoTemplate;
+
+ @Override
+ public List find(Query query) {
+ Assert.notNull(query, "execute find method query must not null.");
+ return mongoTemplate.find(query, this.getEntityClass());
+ }
+
+ @Override
+ public T findOne(Query query) {
+ Assert.notNull(query, "execute findOne method query must not null.");
+ return mongoTemplate.findOne(query, this.getEntityClass());
+ }
+
+ /**
+ * 修改根据所有查询条件查出来的数据
+ */
+ public void update(Query query, T obj) {
+ Update update = MongoConvertHelper
+ .convertToNativeUpdate(ReflectionUtils.getUpdateField(obj));
+ Assert.notNull(update, "execute update method must not null.");
+ mongoTemplate.updateMulti(query, update, this.getEntityClass());
+ }
+
+ @Override
+ public T save(T entity) {
+ Assert.notNull(entity, "execute insert method must not null.");
+ mongoTemplate.insert(entity);
+ return entity;
+ }
+
+ @Override
+ public T save(T entity, String collection) {
+ Assert.notNull(entity, "execute insert method must not null.");
+ mongoTemplate.insert(entity, collection);
+ return entity;
+ }
+
+ @Override
+ public T findById(String id) {
+ return mongoTemplate.findById(id, this.getEntityClass());
+ }
+
+ @Override
+ public T findById(String id, String collectionName) {
+ return mongoTemplate
+ .findById(id, this.getEntityClass(), collectionName);
+ }
+
+ public Page findPage(Query query) {
+ Page page = new Page();
+ page.setPage(query.getSkip());
+ page.setLimit(query.getLimit());
+
+ long count = this.count(query);
+ page.reBuild((int) count);
+ List rows = this.find(query);
+ page.setDataList(rows);
+ return page;
+ }
+
+ @Override
+ public long count(Query query) {
+ return mongoTemplate.count(query, this.getEntityClass());
+ }
+
+ public long count(Query query, String collection) {
+ return mongoTemplate.count(query, collection);
+ }
+
+ public void delete(Query query) {
+ mongoTemplate.findAllAndRemove(query, this.getEntityClass());
+ }
+
+ /**
+ * 获取需要操作的实体类class
+ *
+ * @return
+ */
+ private Class getEntityClass() {
+ return ReflectionUtils.getSuperClassGenricType(getClass());
+ }
+}
\ No newline at end of file
diff --git a/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java
new file mode 100644
index 0000000..606d193
--- /dev/null
+++ b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java
@@ -0,0 +1,136 @@
+package com.lyms.platform.common.dao.operator;
+
+import org.springframework.data.mongodb.core.query.Criteria;
+
+/**
+ * 封装mongo 条件属性的操作
+ *
+ * 对于模糊查询的时候 obj为一个正则表达式 如:
+ *
+ *
+ *
+ * 1.MongoCondition.newInstance("name", "^小七测试",MongoOper.LIKE) '^小七测试' 查询名字为小七测试开头
+ * 2.MongoCondition.newInstance("name", "小七测试$",MongoOper.LIKE) '小七测试$' 查询名字为小七测试结尾
+ *
+ *
+ *
+ *
+ *
+ * @link MongoOper
+ *
+ * @author Administrator
+ *
+ */
+public class MongoCondition {
+
+ private Criteria criteria;
+
+ public Criteria getCriteria() {
+ return criteria;
+ }
+
+ public static MongoCondition newInstance() {
+ return new MongoCondition();
+ }
+
+ /**
+ *
+ * 创建一个实例
+ *
+ * @param key
+ * 字段名
+ * @param obj
+ * 值
+ * @param oper
+ * 查询运算符
+ * @return
+ */
+ public static MongoCondition newInstance(String key, Object obj,
+ MongoOper oper) {
+ return new MongoCondition(key, obj, oper);
+ }
+
+ public MongoCondition(String key, Object obj, MongoOper oper) {
+ super();
+ if (null == criteria) {
+ criteria = Criteria.where(key);
+ }
+ set(oper, obj, criteria);
+ }
+
+ public MongoCondition() {
+ }
+
+ /**
+ * and 条件查询
+ *
+ * @param key
+ * 数据库中的字段名
+ * @param obj
+ * 值
+ * @param oper
+ * 运算符 @link MongoOper
+ * @return
+ */
+ public MongoCondition and(String key, Object obj, MongoOper oper) {
+ Criteria criteria1 = criteria.and(key);
+ set(oper, obj, criteria1);
+ criteria = criteria1;
+ return this;
+ }
+
+ /**
+ * 2个查询条件的交集
+ *
+ * @param con
+ * @return
+ */
+ public MongoCondition andCondition(MongoCondition con) {
+ Criteria localCriteria = con.criteria;
+ criteria = criteria.andOperator(localCriteria);
+ return this;
+ }
+
+ /**
+ * 2个查询条件的并集
+ *
+ * @param con
+ * @return
+ */
+ public MongoCondition orCondition(MongoCondition con) {
+ criteria = criteria.orOperator(con.criteria);
+ return this;
+ }
+
+ /**
+ * 如果是模糊匹配,obj则为需要匹配的正则表达式
+ *
+ * @param oper
+ * @param obj
+ * @param criteria
+ */
+ private void set(MongoOper oper, Object obj, Criteria criteria) {
+ if (MongoOper.GT == oper) {
+ criteria.gt(obj);
+ } else if (MongoOper.GTE == oper) {
+ criteria.gte(obj);
+ } else if (MongoOper.IS == oper) {
+ criteria.is(obj);
+ } else if (MongoOper.LIKE == oper) {
+ criteria.regex(String.valueOf(obj), "m");
+ } else if (MongoOper.LT == oper) {
+ criteria.lt(obj);
+ } else if (MongoOper.NE == oper) {
+ criteria.ne(obj);
+ }
+ }
+
+ /**
+ * 把当前条件转成查询对象
+ *
+ * @return
+ */
+ public MongoQuery toMongoQuery() {
+ return new MongoQuery(this);
+ }
+}
\ No newline at end of file
diff --git a/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoOper.java b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoOper.java
new file mode 100644
index 0000000..c3ce1db
--- /dev/null
+++ b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoOper.java
@@ -0,0 +1,23 @@
+package com.lyms.platform.common.dao.operator;
+/**
+ * 查询的操作符
+ *
+ * @author Administrator
+ *
+ */
+public enum MongoOper {
+ // 等于
+ IS,
+ // 小于
+ LT,
+ // 小于等于
+ LTE,
+ // 大于
+ GT,
+ // 大于等于
+ GTE,
+ //不等于
+ NE,
+ //模糊
+ LIKE;
+}
\ No newline at end of file
diff --git a/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoQuery.java b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoQuery.java
new file mode 100644
index 0000000..0374a40
--- /dev/null
+++ b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoQuery.java
@@ -0,0 +1,94 @@
+package com.lyms.platform.common.dao.operator;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.data.mongodb.core.query.Query;
+
+/**
+ * 封装对mongodb的查询请求
+ *
+ * @author Administrator
+ *
+ */
+public class MongoQuery {
+ // 排序的列表
+ private List sortList = new ArrayList();
+ // 查询条件
+ private MongoCondition coniticon;
+
+ // 分页的开始数
+ private int start;
+ // 结束
+ private int end;
+
+ /**
+ * 转换成spring data 的query 对象
+ *
+ * @return
+ */
+ public Query convertToMongoQuery() {
+ Query query = new Query();
+ if (null != coniticon &&coniticon.getCriteria() !=null) {
+ query.addCriteria(coniticon.getCriteria());
+ }
+ if (CollectionUtils.isNotEmpty(sortList)) {
+ query.with(new Sort(sortList));
+ }
+ if (end > 0) {
+ query.skip(start).limit(end);
+ }
+ return query;
+ }
+
+ /**
+ * 增加排序的方式
+ *
+ * @param direction
+ * {@link Direction}
+ * 排序 DESC OR ASC
+ * @param field
+ * 按照那个字段进行排序
+ * @return 当前的实例
+ */
+ public MongoQuery addOrder(Direction direction, String field) {
+ sortList.add(new Sort.Order(direction, field));
+ return this;
+ }
+
+ public MongoQuery(MongoCondition queryCondition) {
+ this.coniticon = queryCondition;
+ }
+
+ public int getStart() {
+ return start;
+ }
+
+ /**
+ * 分页条数的起始数
+ *
+ * @param start
+ * @return
+ */
+ public MongoQuery start(int start) {
+ this.start = start;
+ return this;
+ }
+
+ public int getEnd() {
+ return end;
+ }
+ /**
+ * 取多少条
+ *
+ * @param end
+ * @return
+ */
+ public MongoQuery end(int end) {
+ this.end = end;
+ return this;
+ }
+}
\ No newline at end of file
diff --git a/platform-common/src/main/java/com/lyms/platform/common/dao/operator/Page.java b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/Page.java
new file mode 100644
index 0000000..4190e96
--- /dev/null
+++ b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/Page.java
@@ -0,0 +1,85 @@
+package com.lyms.platform.common.dao.operator;
+
+import java.util.List;
+
+import org.codehaus.jackson.annotate.JsonIgnore;
+
+import com.lyms.platform.common.result.BaseModel;
+
+public class Page extends BaseModel {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private Integer page;
+ private Integer lastPage;
+ private Integer count;
+ private Integer limit;
+
+ @SuppressWarnings("unused")
+ @JsonIgnore
+ private int offset;
+ @JsonIgnore
+ private List dataList;
+
+ public List getDataList() {
+ return dataList;
+ }
+
+ public void setDataList(List dataList) {
+ this.dataList = dataList;
+ }
+ public Page(){
+
+ }
+ public Page(Integer page, Integer lastPage, Integer count, Integer limit) {
+ this.page = page;
+ this.lastPage = lastPage;
+ this.count = count;
+ this.limit = limit;
+ }
+
+ public Integer getPage() {
+ return page;
+ }
+
+ public void setPage(Integer page) {
+ this.page = page;
+ }
+
+ public Integer getLastPage() {
+ return lastPage;
+ }
+
+ public void setLastPage(Integer lastPage) {
+ this.lastPage = lastPage;
+ }
+
+ public Integer getCount() {
+ return count;
+ }
+
+ public void setCount(Integer count) {
+ this.count = count;
+ }
+
+ public Integer getLimit() {
+ return limit;
+ }
+
+ public void setLimit(Integer limit) {
+ this.limit = limit;
+ }
+
+ public void reBuild(int count) {
+ this.count = count;
+ lastPage = count / limit;
+ if (count % limit > 0) {
+ lastPage += 1;
+ }
+ if (page < 1) {
+ page = 1;
+ }
+ offset = page * limit - limit;
+ }
+}
\ No newline at end of file
diff --git a/platform-common/src/main/java/com/lyms/platform/common/result/BaseListResponse.java b/platform-common/src/main/java/com/lyms/platform/common/result/BaseListResponse.java
new file mode 100644
index 0000000..0970973
--- /dev/null
+++ b/platform-common/src/main/java/com/lyms/platform/common/result/BaseListResponse.java
@@ -0,0 +1,21 @@
+package com.lyms.platform.common.result;
+
+import java.util.List;
+
+@SuppressWarnings("rawtypes")
+public class BaseListResponse extends BaseResponse {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ protected List data;
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+}
\ No newline at end of file
diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/MongoConvertHelper.java b/platform-common/src/main/java/com/lyms/platform/common/utils/MongoConvertHelper.java
new file mode 100644
index 0000000..501d84a
--- /dev/null
+++ b/platform-common/src/main/java/com/lyms/platform/common/utils/MongoConvertHelper.java
@@ -0,0 +1,41 @@
+package com.lyms.platform.common.utils;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.apache.commons.collections.MapUtils;
+import org.springframework.data.mongodb.core.query.Update;
+
+/**
+ * mongo的转换工具类
+ *
+ * @author Administrator
+ *
+ */
+public class MongoConvertHelper {
+
+ /**
+ * 将修改参数的值转换成mongo的执行对象
+ *
+ * @param updateMap
+ * @return
+ */
+ public static Update convertToNativeUpdate(Map updateMap){
+ if(MapUtils.isEmpty(updateMap)){
+ return null;
+ }
+ Update update = null;
+ Iterator> it = updateMap.entrySet().iterator();
+ if(it.hasNext()){
+ Map.Entry currentEntry = it.next();
+ //首先构建update对象
+ update = Update.update(currentEntry.getKey(), currentEntry.getValue());
+ //然后在循环去设置
+ while(it.hasNext()){
+ currentEntry = it.next();
+ update.set(currentEntry.getKey(), currentEntry.getValue());
+ }
+ }
+ return update;
+ }
+}
diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfig.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfig.java
new file mode 100644
index 0000000..abbe519
--- /dev/null
+++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfig.java
@@ -0,0 +1,66 @@
+package com.lyms.platform.pojo;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import com.lyms.platform.common.result.BaseModel;
+
+@Document
+public class BasicConfig extends BaseModel {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ @Id
+ private String id;
+
+ private String parentId;
+
+ private String code;
+
+ private String name;
+
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ private int yn;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getParentId() {
+ return parentId;
+ }
+
+ public void setParentId(String parentId) {
+ this.parentId = parentId;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public int getYn() {
+ return yn;
+ }
+
+ public void setYn(int yn) {
+ this.yn = yn;
+ }
+}
\ No newline at end of file
diff --git a/platform-operate-api/pom.xml b/platform-operate-api/pom.xml
index b19d18b..33c741d 100644
--- a/platform-operate-api/pom.xml
+++ b/platform-operate-api/pom.xml
@@ -17,16 +17,23 @@
platform-common
${project.version}
-
+
+
+ com.lyms.core
+ platform-biz-patient-service
+ ${project.version}
+
+
+
diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java
new file mode 100644
index 0000000..0445146
--- /dev/null
+++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java
@@ -0,0 +1,43 @@
+package com.lyms.platform.operate.web.controller;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.lyms.platform.biz.service.BasicConfigService;
+import com.lyms.platform.common.result.BaseListResponse;
+import com.lyms.platform.common.result.BaseResponse;
+import com.lyms.platform.operate.web.request.BasicConfigRequest;
+import com.lyms.platform.pojo.BasicConfig;
+
+@Controller
+public class BasicConfigController {
+ @Autowired
+ private BasicConfigService basicConfigService;
+
+ @RequestMapping(method = RequestMethod.GET, value = "/basicConfig")
+ @ResponseBody
+ public BaseListResponse queryBasicConfig() {
+ List data = basicConfigService.queryGuides(0, 100);
+ BaseListResponse baseListResponse = new BaseListResponse();
+ baseListResponse.setData(data);
+ baseListResponse.setErrorcode("0");
+ baseListResponse.setErrormsg("成功");
+ return baseListResponse;
+ }
+ @RequestMapping(method = RequestMethod.POST, value = "/basicConfig")
+ @ResponseBody
+ public BaseResponse addBasicConfig(BasicConfigRequest basicConfigRequests){
+// basicConfigService.addBasicConfig(basicConfigRequests);
+
+ BaseResponse baseResponse = new BaseResponse();
+ baseResponse.setErrorcode("0");
+ baseResponse.setErrormsg("成功");
+ return baseResponse;
+ }
+}
\ No newline at end of file
diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BasicConfigRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BasicConfigRequest.java
new file mode 100644
index 0000000..662154b
--- /dev/null
+++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BasicConfigRequest.java
@@ -0,0 +1,34 @@
+package com.lyms.platform.operate.web.request;
+
+import org.hibernate.validator.constraints.NotEmpty;
+
+import com.lyms.platform.common.core.annotation.form.Form;
+import com.lyms.platform.common.core.annotation.form.FormParam;
+
+@Form
+public class BasicConfigRequest {
+ @FormParam
+ private String parentId;
+ @NotEmpty(message="名称不能为空")
+ private String name;
+ @NotEmpty(message="简码不能为空")
+ private String code;
+ public String getParentId() {
+ return parentId;
+ }
+ public void setParentId(String parentId) {
+ this.parentId = parentId;
+ }
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public String getCode() {
+ return code;
+ }
+ public void setCode(String code) {
+ this.code = code;
+ }
+}
\ No newline at end of file
diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BasicConfigResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BasicConfigResult.java
new file mode 100644
index 0000000..1c9302e
--- /dev/null
+++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BasicConfigResult.java
@@ -0,0 +1,32 @@
+package com.lyms.platform.operate.web.result;
+
+public class BasicConfigResult {
+ private String id;
+ private String code;
+ private int yn;
+ private String parentId;
+ public String getId() {
+ return id;
+ }
+ public void setId(String id) {
+ this.id = id;
+ }
+ public String getCode() {
+ return code;
+ }
+ public void setCode(String code) {
+ this.code = code;
+ }
+ public int getYn() {
+ return yn;
+ }
+ public void setYn(int yn) {
+ this.yn = yn;
+ }
+ public String getParentId() {
+ return parentId;
+ }
+ public void setParentId(String parentId) {
+ this.parentId = parentId;
+ }
+}
\ No newline at end of file
diff --git a/platform-operate-api/src/main/resources/database.properties b/platform-operate-api/src/main/resources/database.properties
new file mode 100644
index 0000000..ddfb82a
--- /dev/null
+++ b/platform-operate-api/src/main/resources/database.properties
@@ -0,0 +1,3 @@
+mongo.db.host=localhost
+mongo.db.port=27017
+mongo.db.dbname=platform
\ No newline at end of file
diff --git a/platform-operate-api/src/main/resources/spring/applicationContext-mvc.xml b/platform-operate-api/src/main/resources/spring/applicationContext-mvc.xml
index 96b657c..572ae2c 100644
--- a/platform-operate-api/src/main/resources/spring/applicationContext-mvc.xml
+++ b/platform-operate-api/src/main/resources/spring/applicationContext-mvc.xml
@@ -8,7 +8,7 @@
default-lazy-init="true">
-
@@ -16,11 +16,11 @@
-
+
-
+
diff --git a/platform-operate-api/src/main/resources/spring/applicationContext.xml b/platform-operate-api/src/main/resources/spring/applicationContext.xml
index 1dc27d6..b84b2b9 100644
--- a/platform-operate-api/src/main/resources/spring/applicationContext.xml
+++ b/platform-operate-api/src/main/resources/spring/applicationContext.xml
@@ -13,5 +13,10 @@
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/platform-operate-api/src/main/resources/spring/applicationContext_biz_patient.xml b/platform-operate-api/src/main/resources/spring/applicationContext_biz_patient.xml
new file mode 100644
index 0000000..27055bb
--- /dev/null
+++ b/platform-operate-api/src/main/resources/spring/applicationContext_biz_patient.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+ classpath:database.properties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dalInterceptor
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/platform-operate-api/src/main/resources/spring/spring-mongodb.xml b/platform-operate-api/src/main/resources/spring/spring-mongodb.xml
new file mode 100644
index 0000000..12d900e
--- /dev/null
+++ b/platform-operate-api/src/main/resources/spring/spring-mongodb.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/platform-operate-api/src/main/webapp/WEB-INF/cxf-servlet.xml b/platform-operate-api/src/main/webapp/WEB-INF/cxf-servlet.xml
deleted file mode 100644
index cc10158..0000000
--- a/platform-operate-api/src/main/webapp/WEB-INF/cxf-servlet.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/platform-operate-api/src/main/webapp/WEB-INF/web.xml b/platform-operate-api/src/main/webapp/WEB-INF/web.xml
index 2c6f850..f372c87 100644
--- a/platform-operate-api/src/main/webapp/WEB-INF/web.xml
+++ b/platform-operate-api/src/main/webapp/WEB-INF/web.xml
@@ -18,24 +18,13 @@
under the License.
-->
- cxf
contextConfigLocation
- classpath*:/applicationContext.xml
+ classpath*:/spring/applicationContext.xml
-
- Apache CXF Endpoint
- cxf
- cxf
- org.apache.cxf.transport.servlet.CXFServlet
- 1
-
-
- cxf
- /services/*
-
+
60
@@ -47,6 +36,19 @@
log4jRefreshInterval
60000
+
+ dispatcher
+ org.springframework.web.servlet.DispatcherServlet
+
+ contextConfigLocation
+ classpath*:/spring/applicationContext-mvc.xml
+
+ 1
+
+
+ dispatcher
+ /
+
org.springframework.web.context.ContextLoaderListener