You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
5.6 KiB
129 lines
5.6 KiB
#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<String,Object> 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<String,Object> 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";//硬编码此实体的主键名称
|
|
}
|
|
}
|