<#import "../function.ftl" as func> <#assign class=model.variables.class> <#assign classVar=model.variables.classVar> <#assign sys=model.variables.sys> <#assign module=model.variables.module> <#assign sub=model.sub> <#assign foreignKey=func.convertUnderLine(model.foreignKey)> <#assign isBaseModule=model.variables.isBaseModule> <#if isBaseModule = 'true'> package com.${vars.cAlias}.${sys}.repository.impl; <#else> package com.${vars.cAlias}.${sys}.${module}.repository.impl; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Repository; import com.${vars.cAlias}.base.mongodb.repository.AbstractMongoRepository; import com.${vars.cAlias}.common.querybuilder.MGQueryBuilder; import com.mongodb.BasicDBObject; import com.${vars.cAlias}.base.web.util.PageReqUtil; <#if isBaseModule = 'true'> import com.${vars.cAlias}.${sys}.domain.${class}MGDomain; import com.${vars.cAlias}.${sys}.repository.${class}MGRepository; import com.${vars.cAlias}.${sys}.persistence.dao.${class}MGDao; import com.${vars.cAlias}.${sys}.persistence.entity.${class}Entity; <#else> import com.${vars.cAlias}.${sys}.${module}.domain.${class}MGDomain; import com.${vars.cAlias}.${sys}.${module}.repository.${class}MGRepository; import com.${vars.cAlias}.${sys}.${module}.persistence.dao.${class}MGDao; import com.${vars.cAlias}.${sys}.${module}.persistence.entity.${class}Entity; /** * 对象功能:${model.tabComment} Repository接口的实现类 <#if vars.company?exists> * 开发公司:${vars.company} <#if vars.developer?exists> * 开发人员:${vars.developer} * 创建时间:${date?string("yyyy-MM-dd HH:mm:ss")} */ @Repository public class ${class}MGRepositoryImpl extends AbstractMongoRepository< ${class}Entity,${class}MGDomain> implements ${class}MGRepository{ private ${class}MGDao ${classVar}MGDao=null; public ${class}MGDomain newInstance() { return null; } public ${class}MGDomain newInstance(${class}Entity po) { return null; } @Override public List<${class}Entity> find(Map requestDatas){ ${classVar}MGDao=${class}MGDao.newInstance(); List<${class}Entity> list=null; MGQueryBuilder mongoQueryBuilder=new MGQueryBuilder(requestDatas); //查询条件 BasicDBObject condObject=mongoQueryBuilder.buildGroupCondObj(); if(mongoQueryBuilder.isNotQryGroupBy()){ list=${classVar}MGDao.find(condObject); }else{ //group by key BasicDBObject keyObject=mongoQueryBuilder.buildGroupKeyObj(); //查询初始化数据 BasicDBObject initObject=mongoQueryBuilder.buildGroupInitObj(); String funcStr=mongoQueryBuilder.buildGroupFuncStr("count", "count_"); list=${classVar}MGDao.group(keyObject,condObject,initObject,funcStr); } return list; } protected void setDao(){ } }