admin
2024-07-25 47e3087067abd35e6337c011f96d2338c0bb1aae
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;
                        }
                    }
                }