package ${packageName}.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huaheng.framework.web.page.PageDomain; import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.framework.web.page.TableSupport; import com.huaheng.common.utils.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.huaheng.framework.aspectj.lang.annotation.Log; import com.huaheng.framework.aspectj.lang.constant.BusinessType; import ${packageName}.domain.${ClassName}; import ${packageName}.service.I${ClassName}Service; import com.huaheng.framework.web.controller.BaseController; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.common.support.Convert; import javax.annotation.Resource; import java.util.Arrays; import java.util.Date; import java.util.List; /** * ${functionName} 信息操作处理 * * @author ${author} * @date ${datetime} */ @Controller @RequestMapping("/${moduleName}/${className}") public class ${ClassName}Controller extends BaseController { private String prefix = "${moduleName}/${className}"; @Resource private I${ClassName}Service ${className}Service; @RequiresPermissions("${moduleName}:${className}:view") @GetMapping() public String ${className}() { return prefix + "/${className}"; } /** * 查询${functionName}列表 */ @RequiresPermissions("${moduleName}:${className}:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(${ClassName} ${className}) { LambdaQueryWrapper<${ClassName}> lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper #foreach( ${column} in ${columns}) #if(${column.isQuery} == 1) #if(${column.queryType} == "EQ") #if(${column.javaType} == "String") .eq(StringUtils.isNotEmpty(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #else .eq(StringUtils.isNotNull(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #end #elseif(${column.queryType} == "NE") #if(${column.javaType} == "String") .ne(StringUtils.isNotEmpty(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #else .ne(StringUtils.isNotNull(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #end #elseif(${column.queryType} == "GT") #if(${column.javaType} == "String") .gt(StringUtils.isNotEmpty(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #else .gt(StringUtils.isNotNull(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #end #elseif(${column.queryType} == "GTE") #if(${column.javaType} == "String") .ge(StringUtils.isNotEmpty(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #else .ge(StringUtils.isNotNull(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #end #elseif(${column.queryType} == "LT") #if(${column.javaType} == "String") .lt(StringUtils.isNotEmpty(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #else .lt(StringUtils.isNotNull(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #end #elseif(${column.queryType} == "LTE") .#if(${column.javaType} == "String") .le(StringUtils.isNotEmpty(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #else .le(StringUtils.isNotNull(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #end #elseif(${column.queryType} == "LIKE") #if(${column.javaType} == "String") .like(StringUtils.isNotEmpty(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #else .like(StringUtils.isNotNull(${className}.get${column.CapColumnName}()), ${ClassName}::get${column.CapColumnName}, ${className}.get${column.CapColumnName}()) #end #end #end #end; PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /*使用分页查询*/ Page<${ClassName}> page = new Page<>(pageNum, pageSize); IPage<${ClassName}> iPage = ${className}Service.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(), iPage.getTotal()); } else { List<${ClassName}> list = ${className}Service.list(lambdaQueryWrapper); return getDataTable(list); } } /** * 新增${functionName} */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存${functionName} */ @RequiresPermissions("${moduleName}:${className}:add") @Log(title = "${functionName}", action = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(${ClassName} ${className}) { return toAjax(${className}Service.save(${className})); } /** * 修改${functionName} */ @GetMapping("/edit/{${pkColumn.javaField}}") public String edit(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}, ModelMap mmap) { ${ClassName} ${className} = ${className}Service.getById(${pkColumn.javaField}); mmap.put("${className}", ${className}); return prefix + "/edit"; } /** * 修改保存${functionName} */ @RequiresPermissions("${moduleName}:${className}:edit") @Log(title = "${functionName}", action = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(${ClassName} ${className}) { return toAjax(${className}Service.updateById(${className})); } /** * 删除${functionName} */ @RequiresPermissions("${moduleName}:${className}:remove") @Log(title = "${functionName}", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { if (StringUtils.isEmpty(ids)){ return AjaxResult.error("id不能为空"); } return toAjax(${className}Service.removeByIds(Arrays.asList(Convert.toIntArray(ids)))); } }