123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- 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;
- }
- }
|