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