From 211840b64fa1132d76d6dff6c779e9ba2c0c450f Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 07 四月 2022 19:13:54 +0800 Subject: [PATCH] 优化自动化代码 --- src/main/java/org/yeshi/utils/generater/vo/dao/MongoDBDaoVO.java | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 39 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/yeshi/utils/generater/vo/dao/MongoDBDaoVO.java b/src/main/java/org/yeshi/utils/generater/vo/dao/MongoDBDaoVO.java index d214ea5..159938f 100644 --- a/src/main/java/org/yeshi/utils/generater/vo/dao/MongoDBDaoVO.java +++ b/src/main/java/org/yeshi/utils/generater/vo/dao/MongoDBDaoVO.java @@ -2,11 +2,11 @@ import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Transient; +import org.yeshi.utils.StringUtil; import org.yeshi.utils.generater.annotation.admin.DaoQueryCondition; -import org.yeshi.utils.generater.entity.BaseData; -import org.yeshi.utils.generater.entity.ClassInfo; -import org.yeshi.utils.generater.entity.ColumnData; -import org.yeshi.utils.generater.entity.DaoQueryColumnData; +import org.yeshi.utils.generater.entity.*; +import org.yeshi.utils.generater.vo.xmlconfig.dao.DaoData; +import org.yeshi.utils.generater.vo.xmlconfig.dao.DaoQuery; import java.lang.annotation.Annotation; import java.lang.reflect.Field; @@ -33,6 +33,8 @@ private Class entity; private ClassInfo dao; + private DaoData daoData; + public Builder setBaseDao(ClassInfo baseDao) { this.baseDao = baseDao; return this; @@ -45,6 +47,11 @@ public Builder setDao(ClassInfo dao) { this.dao = dao; + return this; + } + + public Builder setDaoData(DaoData daoData) { + this.daoData = daoData; return this; } @@ -97,10 +104,34 @@ } //鑾峰彇鏌ヨ鏉′欢 - for (Annotation a : as) { - if (a instanceof DaoQueryCondition) { - daoQueryColumnList.add(new DaoQueryColumnData(columName, columnDataType, ((DaoQueryCondition) a).queryType())); - break; + + if (daoData != null) { + //鏌ヨ鏉′欢浠庡閮ㄤ紶鍏� + for (DaoQuery query : daoData.getQueryList()) { + if (query.getName().equalsIgnoreCase(columName)) { + MybatisColumnData columnData = new MybatisColumnData(columName); + if (fd.getType().getSimpleName().equalsIgnoreCase("Date")) { + daoQueryColumnList.add(new DaoQueryColumnData("max" + StringUtil.firstCharToUpper(columName), columnData, fd.getType().getSimpleName(), DaoQueryCondition.QueryType.lt)); + daoQueryColumnList.add(new DaoQueryColumnData("min" + StringUtil.firstCharToUpper(columName), columnData, fd.getType().getSimpleName(), DaoQueryCondition.QueryType.gte)); + } else { + daoQueryColumnList.add(new DaoQueryColumnData(columName, columnData, fd.getType().getSimpleName(), query.getQueryType())); + } + } + } + + } else { + //鏍规嵁娉ㄨВ璁剧疆鐨勬煡璇㈡潯浠� + for (Annotation a : as) { + if (a instanceof DaoQueryCondition) { + MybatisColumnData columnData = new MybatisColumnData(columName); + if (fd.getType().getSimpleName().equalsIgnoreCase("Date")) { + daoQueryColumnList.add(new DaoQueryColumnData("max" + StringUtil.firstCharToUpper(columName), columnData, fd.getType().getSimpleName(), DaoQueryCondition.QueryType.lt)); + daoQueryColumnList.add(new DaoQueryColumnData("min" + StringUtil.firstCharToUpper(columName), columnData, fd.getType().getSimpleName(), DaoQueryCondition.QueryType.gte)); + } else { + daoQueryColumnList.add(new DaoQueryColumnData(columName, columnData, fd.getType().getSimpleName(), ((DaoQueryCondition) a).queryType())); + } + break; + } } } -- Gitblit v1.8.0