From fac5d01bfcddfc8edef0a5fd3d401b1fe383fe16 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 29 三月 2022 16:48:15 +0800
Subject: [PATCH] 采用配置文件自动化生成代码

---
 src/main/java/org/yeshi/utils/generater/vo/dao/MongoDBDaoVO.java |   45 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 36 insertions(+), 9 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 9bc53a3..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
@@ -5,6 +5,8 @@
 import org.yeshi.utils.StringUtil;
 import org.yeshi.utils.generater.annotation.admin.DaoQueryCondition;
 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;
@@ -31,6 +33,8 @@
         private Class entity;
         private ClassInfo dao;
 
+        private DaoData daoData;
+
         public Builder setBaseDao(ClassInfo baseDao) {
             this.baseDao = baseDao;
             return this;
@@ -43,6 +47,11 @@
 
         public Builder setDao(ClassInfo dao) {
             this.dao = dao;
+            return this;
+        }
+
+        public Builder setDaoData(DaoData daoData) {
+            this.daoData = daoData;
             return this;
         }
 
@@ -95,16 +104,34 @@
                 }
 
                 //鑾峰彇鏌ヨ鏉′欢
-                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()));
+
+                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()));
+                            }
                         }
-                        break;
+                    }
+
+                } 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