respVO.vm 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo;
  2. import io.swagger.v3.oas.annotations.media.Schema;
  3. import lombok.*;
  4. import java.util.*;
  5. ## 处理 BigDecimal 字段的引入
  6. #foreach ($column in $columns)
  7. #if (${column.javaType} == "BigDecimal")
  8. import java.math.BigDecimal;
  9. #break
  10. #end
  11. #end
  12. ## 处理 LocalDateTime 字段的引入
  13. #foreach ($column in $columns)
  14. #if (${column.listOperationResult} && ${column.javaType} == "LocalDateTime")
  15. import org.springframework.format.annotation.DateTimeFormat;
  16. import java.time.LocalDateTime;
  17. #break
  18. #end
  19. #end
  20. ## 处理 Excel 导出
  21. import com.alibaba.excel.annotation.*;
  22. #foreach ($column in $columns)
  23. #if ("$!column.dictType" != "")## 有设置数据字典
  24. import ${DictFormatClassName};
  25. import ${DictConvertClassName};
  26. #break
  27. #end
  28. #end
  29. @Schema(description = "${sceneEnum.name} - ${table.classComment} Response VO")
  30. @Data
  31. @ExcelIgnoreUnannotated
  32. public class ${sceneEnum.prefixClass}${table.className}RespVO {
  33. ## 逐个处理字段
  34. #foreach ($column in $columns)
  35. #if (${column.listOperationResult})
  36. ## 1. 处理 Swagger 注解
  37. @Schema(description = "${column.columnComment}"#if (!${column.nullable}), requiredMode = Schema.RequiredMode.REQUIRED#end#if ("$!column.example" != ""), example = "${column.example}"#end)
  38. ## 2. 处理 Excel 导出
  39. #if ("$!column.dictType" != "")##处理枚举值
  40. @ExcelProperty(value = "${column.columnComment}", converter = DictConvert.class)
  41. @DictFormat("${column.dictType}") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
  42. #else
  43. @ExcelProperty("${column.columnComment}")
  44. #end
  45. ## 3. 处理字段定义
  46. private ${column.javaType} ${column.javaField};
  47. #end
  48. #end
  49. }