package ${packageName}.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.jiayue.common.annotation.Log; import com.jiayue.common.core.controller.BaseController; import com.jiayue.common.core.domain.AjaxResult; import com.jiayue.common.enums.BusinessType; import com.jiayue.common.utils.poi.ExcelUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.DeleteMapping; 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.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Arrays; import java.util.List; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import ${packageName}.domain.${ClassName}; import ${packageName}.service.I${ClassName}Service; #if($table.crud || $table.sub) import com.jiayue.common.core.page.TableDataInfo; #elseif($table.tree) #end /** * ${functionName}Controller * * @author ${author} * @date ${datetime} */ @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/${moduleName}/${businessName}") public class ${ClassName}Controller extends BaseController { private final I${ClassName}Service i${ClassName}Service; /** * 查询${functionName}列表 */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") @GetMapping("/list") #if($table.crud || $table.sub) public TableDataInfo list(${ClassName} ${className}) { startPage(); LambdaQueryWrapper<${ClassName}> queryWrapper = this.buildQueryParams(${className}); List<${ClassName}> list = i${ClassName}Service.list(queryWrapper); return getDataTable(list); } #elseif($table.tree) public AjaxResult list(${ClassName} ${className}) { LambdaQueryWrapper<${ClassName}> queryWrapper = Wrappers.lambdaQuery(${className}); List<${ClassName}> list = i${ClassName}Service.list(queryWrapper); return AjaxResult.success(list); } #end /** * 导出${functionName}列表 */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')") @Log(title = "${functionName}", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ${ClassName} ${className}) { LambdaQueryWrapper<${ClassName}> queryWrapper = this.buildQueryParams(${className}); List<${ClassName}> list = i${ClassName}Service.list(queryWrapper); ExcelUtil<${ClassName}> util = new ExcelUtil<>(${ClassName}. class); util.exportExcel(response, list, "${functionName}数据"); } /** * 获取${functionName}详细信息 */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')") @GetMapping(value = "/{${pkColumn.javaField}}") public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) { return AjaxResult.success(i${ClassName}Service.getById(${pkColumn.javaField})); } /** * 新增${functionName} */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')") @Log(title = "${functionName}", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ${ClassName} ${className}) { return toAjax(i${ClassName}Service.save(${className}) ? 1 : 0); } /** * 修改${functionName} */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')") @Log(title = "${functionName}", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ${ClassName} ${className}) { return toAjax(i${ClassName}Service.updateById(${className}) ? 1 : 0); } /** * 删除${functionName} */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')") @Log(title = "${functionName}", businessType = BusinessType.DELETE) @DeleteMapping("/{${pkColumn.javaField}s}") public AjaxResult remove(@PathVariable ${pkColumn.javaType}[]${pkColumn.javaField}s) { return toAjax(i${ClassName}Service.removeByIds(Arrays.asList(${pkColumn.javaField}s)) ? 1 : 0); } /** * 构建查询条件 **/ private LambdaQueryWrapper<${ClassName}> buildQueryParams(${ClassName} ${className}) { LambdaQueryWrapper<${ClassName}> queryWrapper = Wrappers.lambdaQuery(); #foreach($column in $columns) #set($queryType=$column.queryType) #set($javaField=$column.javaField) #set($javaType=$column.javaType) #set($columnName=$column.columnName) #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) #if($column.query) #if($column.queryType == "EQ") #if($javaType == 'String') if (StrUtil.isNotBlank(${className}.get$AttrName())) { queryWrapper.eq(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #else if (ObjectUtil.isNotNull(${className}.get$AttrName())) { queryWrapper.eq(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #end #elseif($queryType == "NE") #if($javaType == 'String') if (StrUtil.isNotBlank(${className}.get$AttrName())) { queryWrapper.ne(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #else if (ObjectUtil.isNotNull(${className}.get$AttrName())) { queryWrapper.ne(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #end #elseif($queryType == "GT") #if($javaType == 'String') if (StrUtil.isNotBlank(${className}.get$AttrName())) { queryWrapper.gt(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #else if (ObjectUtil.isNotNull(${className}.get$AttrName())) { queryWrapper.gt(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #end #elseif($queryType == "GTE") #if($javaType == 'String') if (StrUtil.isNotBlank(${className}.get$AttrName())) { queryWrapper.ge(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #else if (ObjectUtil.isNotNull(${className}.get$AttrName())) { queryWrapper.ge(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #end #elseif($queryType == "LT") #if($javaType == 'String') if (StrUtil.isNotBlank(${className}.get$AttrName())) { queryWrapper.lt(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #else if (ObjectUtil.isNotNull(${className}.get$AttrName())) { queryWrapper.lt(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #end #elseif($queryType == "LTE") #if($javaType == 'String') if (StrUtil.isNotBlank(${className}.get$AttrName())) { queryWrapper.le(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #else if (ObjectUtil.isNotNull(${className}.get$AttrName())) { queryWrapper.le(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #end #elseif($queryType == "LIKE") #if($javaType == 'String') if (StrUtil.isNotBlank(${className}.get$AttrName())) { queryWrapper.like(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #else if (ObjectUtil.isNotNull(${className}.get$AttrName())) { queryWrapper.like(${ClassName}::get$AttrName ,${className}.get$AttrName()); } #end #elseif($queryType == "BETWEEN") #end #end #end return queryWrapper; } }