#include "../function.ftl"> <#include "../variable.ftl"> <#assign pkVar=convertUnderLine(pk) > package com.${cAlias}.${cPlatform}.${app}.${module}.controller; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.${scAlias}.${scPlatform}.base.core.util.string.StringUtil; import com.${scAlias}.${scPlatform}.base.core.entity.ResultMessage; import com.${scAlias}.${scPlatform}.base.framework.page.PageList; import com.${scAlias}.${scPlatform}.api.base.query.QueryFilter; import com.${scAlias}.${scPlatform}.base.web.controller.GenericController; import com.${scAlias}.${scPlatform}.base.web.json.PageJson; import com.${scAlias}.${scPlatform}.base.web.util.RequestUtil; <#if isBaseModule = 'true'> import com.${cAlias}.${cPlatform}.${sys}.repository.${class}Repository; import com.${cAlias}.${cPlatform}.${sys}.persistence.entity.${class}Po; <#if hasSub?exists && hasSub==true> <#list model.subTableList as subTable> import com.${cAlias}.${cPlatform}.${sys}.persistence.entity.${subTable.variables.class}Po; #list> #if> import com.${cAlias}.${cPlatform}.${sys}.domain.${class}; <#else> import com.${cAlias}.${cPlatform}.${sys}.${module}.repository.${class}Repository; import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.entity.${class}Po; <#if hasSub?exists && hasSub==true> <#list model.subTableList as subTable> import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.entity.${subTable.variables.class}Po; #list> #if> import com.${cAlias}.${cPlatform}.${sys}.${module}.domain.${class}; #if> import com.${scAlias}.${scPlatform}.base.core.util.json.JsonUtil; import net.sf.json.JSONObject; <#if hasSub?exists && hasSub==true> import java.util.List; #if> /** * ${comment} 控制类 * *
<#if vars.company?exists>
* 开发公司:${vars.company}
#if>
<#if vars.developer?exists>
* 开发人员:${vars.developer}
#if>
<#if vars.email?exists>
* 邮箱地址:${vars.email}
#if>
* 创建时间:${date?string("yyyy-MM-dd HH:mm:ss")}
*
*/
@Controller
@RequestMapping("/${app}/${module}/${classVar}/")
public class ${class}Controller extends GenericController{
@Resource
private ${class}Repository ${classVar}Repository;
/**
* 【${comment}】列表(分页条件查询)数据
*
* @param request
* @param reponse
* @return
* @throws Exception
*/
@RequestMapping("listJson")
public @ResponseBody PageJson listJson(HttpServletRequest request,HttpServletResponse reponse) throws Exception{
QueryFilter queryFilter=getQueryFilter(request);
PageList<${class}Po> ${classVar}List=(PageList<${class}Po>)${classVar}Repository.query(queryFilter);
return new PageJson(${classVar}List);
}
/**
* 编辑【${comment}】信息页面
*
* @param request
* @param response
* @return
* @throws Exception
*/
@RequestMapping("edit")
public ModelAndView edit(HttpServletRequest request,HttpServletResponse response) throws Exception{
String preUrl= RequestUtil.getPrePage(request);
${pkType} ${pkVar}=RequestUtil.get${pkType}(request, "${pkVar}");
${class}Po ${classVar}=null;
if(StringUtil.isNotEmpty(${pkVar})){
<#if hasSub?exists && hasSub==true>
${classVar}=${classVar}Repository.loadCascade(${pkVar});
<#else>
${classVar}=${classVar}Repository.get(${pkVar});
#if>
}
return getAutoView().addObject("${classVar}", ${classVar}).addObject("returnUrl", preUrl);
}
/**
* 编辑【${comment}】信息页面
*
* @param request
* @param response
* @return
* @throws Exception
*/
@RequestMapping("flowEdit")
public ModelAndView flowEdit(HttpServletRequest request,HttpServletResponse response) throws Exception{
String preUrl= RequestUtil.getPrePage(request);
${pkType} ${pkVar}=RequestUtil.get${pkType}(request, "${pkVar}");
${class}Po ${classVar}=null;
if(StringUtil.isNotEmpty(${pkVar})){
<#if hasSub?exists && hasSub==true>
${classVar}=${classVar}Repository.loadCascade(${pkVar});
<#else>
${classVar}=${classVar}Repository.get(${pkVar});
#if>
}
return getAutoView().addObject("${classVar}", ${classVar}).addObject("returnUrl", preUrl);
}
/**
* 【${comment}】明细页面
*
* @param request
* @param response
* @return
* @throws Exception
*/
@RequestMapping("get")
public ModelAndView get(HttpServletRequest request,HttpServletResponse response) throws Exception{
String preUrl= RequestUtil.getPrePage(request);
${pkType} ${pkVar}=RequestUtil.get${pkType}(request, "${pkVar}");
${class}Po ${classVar}=null;
if(StringUtil.isNotEmpty(${pkVar})){
<#if hasSub?exists && hasSub==true>
${classVar}=${classVar}Repository.loadCascade(${pkVar});
<#else>
${classVar}=${classVar}Repository.get(${pkVar});
#if>
}
return getAutoView().addObject("${classVar}", ${classVar}).addObject("returnUrl", preUrl);
}
/**
* 保存【${comment}】信息
*
* @param request
* @param response
* @param ${classVar}
* @throws Exception
*/
@RequestMapping("save")
public void save(HttpServletRequest request,HttpServletResponse response) throws Exception{
ResultMessage message=null;
try {
${class}Po ${classVar}Po = getFromRequest(request);
//构造领域对象和保存数据
${class} ${classVar} =${classVar}Repository.newInstance(${classVar}Po);
<#if hasSub?exists && hasSub==true>
${classVar}.saveCascade();
<#else>
${classVar}.save();
#if>
message=new ResultMessage(ResultMessage.SUCCESS, "保存${comment}成功");
} catch (Exception e) {
message=new ResultMessage(ResultMessage.FAIL, "对${comment}操作失败,"+e.getMessage());
logger.error("对${comment}操作失败," + e.getMessage(),e);
}
writeResultMessage(response.getWriter(), message);
}
/**
* 获取表单数据
*
* @param request
*/
private ${class}Po getFromRequest(HttpServletRequest request){
String json = RequestUtil.getString(request, "json");
JSONObject jsonObj = JSONObject.fromObject(json);
<#if hasSub?exists && hasSub==true>
<#list model.subTableList as subTable>
List<${subTable.variables.class}Po> ${subTable.variables.classVar}PoList = get${subTable.variables.class}PoList(jsonObj);
#list>
#if>
${class}Po ${classVar}Po = get${class}Po(jsonObj);
<#if hasSub?exists && hasSub==true>
<#list model.subTableList as subTable>
${classVar}Po.set${subTable.variables.class}PoList(${subTable.variables.classVar}PoList);
#list>
#if>
return ${classVar}Po;
}
/**
* 获取${comment}数据
*
* @param jsonObj
*/
private ${class}Po get${class}Po(JSONObject jsonObj){
${class}Po ${classVar}Po = (${class}Po) JsonUtil.getDTO(jsonObj.toString(), ${class}Po.class);
return ${classVar}Po;
}
<#if hasSub?exists && hasSub==true>
<#list model.subTableList as subTable>
/**
* 获取${subTable.tabComment}数据
*
* @param jsonObj
*/
@SuppressWarnings("unchecked")
private List<${subTable.variables.class}Po> get${subTable.variables.class}PoList(JSONObject jsonObj){
if(!jsonObj.containsKey("${subTable.variables.classVar}PoList")){
return null;
}
List<${subTable.variables.class}Po> rs = JsonUtil.getDTOList(
jsonObj.getJSONArray("${subTable.variables.classVar}PoList").toString(),
${subTable.variables.class}Po.class);
jsonObj.discard("${subTable.variables.classVar}PoList");
return rs;
}
#list>
#if>
/**
* 批量删除【${comment}】记录
*
* @param request
* @param response
* @throws Exception
*/
@RequestMapping("remove")
public void remove(HttpServletRequest request,HttpServletResponse response) throws Exception{
ResultMessage message=null;
try {
//获得待删除的id
${pkType}[] ids=RequestUtil.get${pkType}AryByStr(request, "${pkVar}");
//构造领域对象和保存数据
${class} ${classVar} =${classVar}Repository.newInstance();
<#if hasSub?exists && hasSub==true>
${classVar}.deleteByIdsCascade(ids);
<#else>
${classVar}.deleteByIds(ids);
#if>
message=new ResultMessage(ResultMessage.SUCCESS, "删除${comment}成功");
} catch (Exception e) {
message=new ResultMessage(ResultMessage.FAIL, "删除${comment}失败," + e.getMessage());
logger.error("删除${comment}失败," + e.getMessage(),e);
}
writeResultMessage(response.getWriter(), message);
}
}