<#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; 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; import com.${cAlias}.${cPlatform}.${sys}.${module}.domain.${class}; import com.${scAlias}.${scPlatform}.base.core.util.json.JsonUtil; import net.sf.json.JSONObject; <#if hasSub?exists && hasSub==true> import java.util.List; /** * ${comment} 控制类 * *
 
 <#if vars.company?exists>
 * 开发公司:${vars.company}
 
 <#if vars.developer?exists>
 * 开发人员:${vars.developer}
 
 <#if vars.email?exists>
 * 邮箱地址:${vars.email}
 
 * 创建时间:${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}); } 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}); } 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}); } 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(); 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); ${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); 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; } /** * 批量删除【${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); 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); } }