#parse("vms/$version/common/variable/head.vm") package ${companyName}.${projectName}.admin.api.${lowerEntity}; import ${companyName}.${projectName}.core.service.CommonRestController; import org.springframework.beans.factory.InitializingBean; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; #if($hasDateQuery) import java.util.Date; import java.sql.Time; import java.sql.Timestamp; #end import java.math.*; import java.util.List; import java.util.Map; import java.util.HashMap; import java.util.Set; import ${companyName}.${projectName}.core.common.constant.PageConstant; import ${companyName}.${projectName}.core.common.exception.BusinessException; import ${companyName}.${projectName}.core.serialize.ResponseMsg; import ${companyName}.${projectName}.model.${Entity}; import ${companyName}.${projectName}.service.${lowerEntity}.service.${Entity}Service; import ${companyName}.${projectName}.core.utils.ListUtil; import ${companyName}.${projectName}.core.utils.MapUtil; import ${companyName}.${projectName}.core.utils.StringUtil; #parse("vms/$version/common/comment/ClassDesc.vm") @RequestMapping("/admin/${tableRealName}_rest/") @RestController public class Admin${Entity}RestController extends CommonRestController<${Entity},$dbPriorityKeyJavaType> implements InitializingBean { @Resource private ${Entity}Service ${entity}Service; #if($childrenList) //外键下拉查询接口 @RequestMapping(value = "search") public ResponseMsg search( @RequestParam(required = false) String uniqueField, @RequestParam(required = false,value = "uniqueValue[]") Set<$dbPriorityKeyJavaType> uniqueValue,//主键多个值 @RequestParam(required = false,defaultValue = "20") Integer limit, @RequestParam(required = false) String keyword ){ limit = Math.min(PageConstant.MAX_LIMIT,limit); List<$Entity> list = null; Map query = new HashMap(); query.put("limit",limit); ##默认排序逻辑 #set($defaultOrderBy = $TableFieldUtil.buildDefaultOrderBy($nodeList)) #if($StringUtil.isNotBlank($defaultOrderBy)) query.put("notSafeOrderBy","$defaultOrderBy"); #end if(uniqueValue!=null){//说明是来初始化的 list = ${entity}Service.getModelInList(uniqueValue); }else {//正常搜索 #foreach($node in $nodeList) #set($inputType = $node.formItem.inputType) #if($node.formQueryList) #foreach($formQuery in $node.formQueryList) #if($formQuery.foreignInputSelectShow == 1) #if($StringUtil.isNotBlank($formQuery.firstCompare)) if(ListUtil.isBlank(list)){ query.put("${node.dbField.javaField}First",keyword); list = ${entity}Service.getModelList(query); query.remove("${node.dbField.javaField}First"); } #end #if($StringUtil.isNotBlank($formQuery.secondCompare)) if(ListUtil.isBlank(list)){ query.put("${node.dbField.javaField}Second",keyword); list = ${entity}Service.getModelList(query); query.remove("${node.dbField.javaField}Second"); } #end #end #end #end #end } return new ResponseMsg(list); } #end //分页查询 @RequestMapping(value={"page"}, method={RequestMethod.GET}) public ResponseMsg page( #parse("vms/$version/controller/include/self/pageParam.vm") @RequestParam int page,@RequestParam int limit,@RequestParam(required = false) String safeOrderBy ,HttpServletResponse response,@RequestParam(required = false) Integer queryType ){ Map query = new HashMap(); #parse("vms/$version/controller/include/self/pageQueryMap.vm") Integer count = ${entity}Service.getModelListCount(query); ##默认排序逻辑 #set($defaultOrderBy = $TableFieldUtil.buildDefaultOrderBy($nodeList)) #if($StringUtil.isBlank($defaultOrderBy)) query.put("safeOrderBy",safeOrderBy); #else if(StringUtil.isBlank(safeOrderBy)){ query.put("notSafeOrderBy","$defaultOrderBy"); }else{ query.put("safeOrderBy",safeOrderBy); } #end if(queryType==null || queryType == QUERY_TYPE_SEARCH){//普通查询 limit = Math.min(limit, PageConstant.MAX_LIMIT); query.put("start",(page - 1) * limit);query.put("limit",limit); return new ResponseMsg(count,${entity}Service.getModelList(query)); }else if(queryType == QUERY_TYPE_EXPORT_EXCEL){ query.put("start",(page - 1) * limit);query.put("limit",limit); exportExcel(response,${entity}Service.getModelList(query),"$tableComment", new String[]{#foreach($node in $nodeList)#if($velocityCount!=1),#end"${node.formItem.title}"#end}, new String[]{#foreach($node in $nodeList)#if($velocityCount!=1),#end #set($selectValueMap = $TableFieldUtil.parseJsonToMap($node.formItem.selectValue))"#set($keyValueList = $selectValueMap.get('keyValueList'))#if($keyValueList)$TableFieldUtil.replaceDoubleYinHao($JSON.toJSONString($keyValueList))#end"#end}); } return null; } @Override public void afterPropertiesSet() throws Exception { super.commonService = ${entity}Service; super.primaryKey = "$dbPriorityKeyJavaField";//硬编码此实体的主键名称 } }