respVO.vm 1.7 KB

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