controller.ftl 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <#import "function.ftl" as func>
  2. <#assign package=model.variables.package>
  3. <#assign class=model.variables.class>
  4. <#assign classVar=model.variables.classVar>
  5. <#assign comment=model.tabComment>
  6. <#assign pk=func.getPk(model) >
  7. <#assign pkModel=model.pkModel >
  8. <#assign pkVar=func.convertUnderLine(pk) >
  9. <#assign pkType=func.getPkType(model)>
  10. <#assign fkType=func.getFkType(model)>
  11. <#assign system=vars.system>
  12. <#assign domain=vars.domain>
  13. <#assign tableName=model.tableName>
  14. <#assign colList=model.columnList>
  15. <#assign commonList=model.commonList>
  16. <#assign subSize=func.hasSubTable(model)>
  17. package ${domain}.${system}.${package}.controller;
  18. import com.redxun.common.base.db.BaseService;
  19. import ${domain}.${system}.${package}.entity.${class};
  20. import ${domain}.${system}.${package}.service.${class}ServiceImpl;
  21. import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
  22. import ${domain}.common.base.entity.JsonResult;
  23. import ${domain}.common.tool.StringUtils;
  24. import ${domain}.web.controller.BaseController;
  25. import io.swagger.annotations.Api;
  26. import io.swagger.annotations.ApiOperation;
  27. import lombok.extern.slf4j.Slf4j;
  28. import org.springframework.beans.factory.annotation.Autowired;
  29. import org.springframework.web.bind.annotation.*;
  30. import java.util.Arrays;
  31. import java.util.List;
  32. <#if (subSize?number gt 0) >
  33. <#assign subtables=model.subTableList>
  34. <#list subtables as subTable>
  35. import ${domain}.${system}.${package}.entity.${subTable.variables.class};
  36. import ${domain}.${system}.${package}.service.${subTable.variables.class}ServiceImpl;
  37. </#list>
  38. </#if>
  39. @Slf4j
  40. @RestController
  41. @RequestMapping("/${system}/${package}/${classVar}")
  42. @Api(tags = "${comment}")
  43. @ClassDefine(title = "${comment}",alias = "${class}Controller",path = "/${system}/${package}/${classVar}",packages = "${package}",packageName = "子系统名称")
  44. public class ${class}Controller extends BaseController<${class}> {
  45. @Autowired
  46. ${class}ServiceImpl ${classVar}Service;
  47. <#if (subSize?number gt 0) >
  48. <#assign subtables=model.subTableList>
  49. <#list subtables as subTable>
  50. @Autowired
  51. ${subTable.variables.class}ServiceImpl ${subTable.variables.classVar}ServiceImpl;
  52. </#list>
  53. </#if>
  54. @Override
  55. public BaseService getBaseService() {
  56. return ${classVar}Service;
  57. }
  58. @Override
  59. public String getComment() {
  60. return "${comment}";
  61. }
  62. <#if (subSize?number gt 0) >
  63. <#assign subtables=model.subTableList>
  64. /**
  65. *删除主表数据的时候,同时删除子表数据
  66. */
  67. @Override
  68. @ApiOperation(value="删除实体信息", notes="根据实体Id删除实体信息,parameters is {ids:'1,2'}")
  69. @PostMapping("del")
  70. public JsonResult del(@RequestParam String ids){
  71. if(StringUtils.isEmpty(ids)){
  72. return new JsonResult(false,"");
  73. }
  74. String[] aryId=ids.split(",");
  75. List list= Arrays.asList(aryId);
  76. ${class} ent= ${classVar}Service.get(ids);
  77. <#list subtables as subTable>
  78. List<${subTable.variables.class}> ${subTable.variables.classVar}list = ${subTable.variables.classVar}ServiceImpl.getByFk(ids);
  79. ent.set${subTable.variables.class}(${subTable.variables.classVar}list);
  80. for(${subTable.variables.class} ${subTable.variables.classVar}:ent.get${subTable.variables.class}()){
  81. ${subTable.variables.classVar}ServiceImpl.removeByFk(ent.getPkId());
  82. }
  83. </#list>
  84. JsonResult result=JsonResult.getSuccessResult("删除"+getComment()+"成功!");
  85. getBaseService().delete(list);
  86. return result;
  87. }
  88. </#if>
  89. <#if (subSize?number gt 0) >
  90. <#assign subtables=model.subTableList>
  91. /**
  92. * 根据主键查询记录详细信息,同时根据外键调出子表信息
  93. * @param pkId
  94. * @return
  95. */
  96. @ApiOperation(value="查看单条记录信息", notes="根据主键查询记录详细信息")
  97. @GetMapping("/get")
  98. @Override
  99. public JsonResult<${class}> get(@RequestParam(value="pkId") String pkId){
  100. JsonResult result=JsonResult.Success();
  101. result.setShow(false);
  102. if(ObjectUtils.isEmpty(pkId)){
  103. return result.setData(new Object());
  104. }
  105. ${class} ent= ${classVar}Service.get(pkId);
  106. <#list subtables as subTable>
  107. List<${subTable.variables.class}> ${subTable.variables.classVar} = ${subTable.variables.classVar}ServiceImpl.getByFk(pkId);
  108. ent.set${subTable.variables.class}(${subTable.variables.classVar});
  109. </#list>
  110. handleData(ent);
  111. return result.setData(ent);
  112. }
  113. </#if>
  114. }