添加 controller.vm 的模板

This commit is contained in:
YunaiV
2021-02-09 12:51:01 +08:00
parent 59be930f2e
commit 45d203550f
4 changed files with 140 additions and 34 deletions

View File

@ -0,0 +1,78 @@
package cn.iocoder.dashboard.modules.system.controller.test;
import cn.iocoder.dashboard.common.pojo.CommonResult;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.modules.system.controller.test.vo.SysTestDemoCreateReqVO;
import cn.iocoder.dashboard.modules.system.controller.test.vo.SysTestDemoPageReqVO;
import cn.iocoder.dashboard.modules.system.controller.test.vo.SysTestDemoRespVO;
import cn.iocoder.dashboard.modules.system.controller.test.vo.SysTestDemoUpdateReqVO;
import cn.iocoder.dashboard.modules.system.convert.test.SysTestDemoConvert;
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.test.SysTestDemoDO;
import cn.iocoder.dashboard.modules.system.service.test.SysTestDemoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
import static cn.iocoder.dashboard.common.pojo.CommonResult.success;
@Api(tags = "字典类型")
@RestController
@RequestMapping("/system/test-demo")
@Validated
public class SysTestDemoController {
@Resource
private SysTestDemoService testDemoService;
@ApiOperation("创建字典类型")
@PostMapping("/create")
public CommonResult<Long> createTestDemo(@Valid SysTestDemoCreateReqVO createReqVO) {
return success(testDemoService.createTestDemo(createReqVO));
}
@ApiOperation("更新字典类型")
@PutMapping("/update")
public CommonResult<Boolean> updateTestDemo(@Valid SysTestDemoUpdateReqVO updateReqVO) {
testDemoService.updateTestDemo(updateReqVO);
return success(true);
}
@ApiOperation("删除字典类型")
@DeleteMapping("/delete")
@ApiImplicitParam(name = "id", value = "编号", required = true)
public CommonResult<Boolean> deleteTestDemo(@RequestParam("id") Long id) {
testDemoService.deleteTestDemo(id);
return success(true);
}
@GetMapping("/get")
@ApiOperation("获得字典类型")
@ApiImplicitParam(name = "id", value = "编号", required = true)
public CommonResult<SysTestDemoRespVO> getTestDemo(@RequestParam("id") Long id) {
SysTestDemoDO testDemo = testDemoService.getTestDemo(id);
return success(SysTestDemoConvert.INSTANCE.convert(testDemo));
}
@GetMapping("/list")
@ApiOperation("获得字典类型列表")
@ApiImplicitParam(name = "ids", value = "编号列表", required = true)
public CommonResult<List<SysTestDemoRespVO>> getTestDemoList(@RequestParam("ids") Collection<Long> ids) {
List<SysTestDemoDO> list = testDemoService.getTestDemoList(ids);
return success(SysTestDemoConvert.INSTANCE.convertList(list));
}
@ApiOperation("获得字典类型分页")
@GetMapping("/page")
public CommonResult<PageResult<SysTestDemoRespVO>> getTestDemoPage(@Valid SysTestDemoPageReqVO pageVO) {
PageResult<SysTestDemoDO> pageResult = testDemoService.getTestDemoPage(pageVO);
return success(SysTestDemoConvert.INSTANCE.convertPage(pageResult));
}
}

View File

@ -4,6 +4,7 @@ import cn.hutool.extra.template.TemplateConfig;
import cn.hutool.extra.template.TemplateEngine;
import cn.hutool.extra.template.TemplateUtil;
import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.dashboard.common.pojo.CommonResult;
import cn.iocoder.dashboard.common.pojo.PageParam;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO;
@ -58,6 +59,7 @@ public class ToolCodegenEngine {
// 全局配置
globalBindingMap.put("basePackage", "cn.iocoder.dashboard.modules"); // TODO 基础包, 抽成参数
// 全局 Java Bean
globalBindingMap.put("CommonResultClassName", CommonResult.class.getName());
globalBindingMap.put("PageResultClassName", PageResult.class.getName());
globalBindingMap.put("DateUtilsClassName", DateUtils.class.getName());
globalBindingMap.put("ServiceExceptionUtilClassName", ServiceExceptionUtil.class.getName());
@ -76,6 +78,7 @@ public class ToolCodegenEngine {
bindingMap.put("table", table);
bindingMap.put("columns", columns);
bindingMap.put("primaryColumn", CollectionUtils.findFirst(columns, ToolCodegenColumnDO::getPrimaryKey)); // 主键字段
// moduleName 相关
String simpleModuleName = codegenBuilder.getSimpleModuleName(table.getModuleName());
bindingMap.put("simpleModuleName", simpleModuleName); // 将 system 转成 sys
// className 相关
@ -84,6 +87,7 @@ public class ToolCodegenEngine {
bindingMap.put("simpleClassName", simpleClassName);
bindingMap.put("simpleClassName_underlineCase", toUnderlineCase(simpleClassName)); // 将 DictType 转换成 dict_type
bindingMap.put("classNameVar", lowerFirst(simpleClassName)); // 将 DictType 转换成 dictType用于变量
bindingMap.put("simpleClassName_strikeCase", toSymbolCase(simpleClassName, '-')); // 将 DictType 转换成 dict-type
// 执行生成
// String result = templateEngine.getTemplate("codegen/dal/do.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/dal/mapper.vm").render(bindingMap);
@ -95,7 +99,8 @@ public class ToolCodegenEngine {
// String result = templateEngine.getTemplate("codegen/convert/convert.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/enums/errorcode.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/service/service.vm").render(bindingMap);
String result = templateEngine.getTemplate("codegen/service/serviceImpl.vm").render(bindingMap);
// String result = templateEngine.getTemplate("codegen/service/serviceImpl.vm").render(bindingMap);
String result = templateEngine.getTemplate("codegen/controller/controller.vm").render(bindingMap);
System.out.println(result);
}