SuccessCase.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package com.izouma.zhirongip.domain.resource;
  2. import com.alibaba.excel.annotation.ExcelIgnore;
  3. import com.alibaba.excel.annotation.ExcelProperty;
  4. import com.izouma.zhirongip.annotations.EnumFormat;
  5. import com.izouma.zhirongip.annotations.Searchable;
  6. import com.izouma.zhirongip.domain.BaseEntity;
  7. import com.izouma.zhirongip.domain.Setting;
  8. import com.izouma.zhirongip.enums.CaseCategory;
  9. import com.izouma.zhirongip.enums.LogoType;
  10. import com.izouma.zhirongip.enums.PatentType;
  11. import com.izouma.zhirongip.enums.TechTradingMethod;
  12. import com.izouma.zhirongip.utils.excel.EnumExcelConverter;
  13. import io.swagger.annotations.ApiModel;
  14. import io.swagger.annotations.ApiModelProperty;
  15. import lombok.AllArgsConstructor;
  16. import lombok.Builder;
  17. import lombok.Data;
  18. import lombok.NoArgsConstructor;
  19. import org.hibernate.annotations.NotFound;
  20. import org.hibernate.annotations.NotFoundAction;
  21. import org.hibernate.annotations.Where;
  22. import javax.persistence.*;
  23. import java.math.BigDecimal;
  24. import java.time.LocalDate;
  25. @Data
  26. @AllArgsConstructor
  27. @NoArgsConstructor
  28. @Builder
  29. @Entity
  30. @Where(clause = "del = 0")
  31. @ApiModel(value = "成功案例")
  32. public class SuccessCase extends BaseEntity {
  33. @Searchable
  34. @ApiModelProperty(value = "名称")
  35. private String name;
  36. @ExcelIgnore
  37. @ApiModelProperty(value = "封面")
  38. private String img;
  39. /*
  40. 所属领域/商标类型/版权分类/软著分类/服务类型
  41. */
  42. @ExcelIgnore
  43. private Long settingId;
  44. @ApiModelProperty(value = "成交时间")
  45. private LocalDate soldAt;
  46. @ApiModelProperty(value = "成交价格")
  47. private BigDecimal soldPrice;
  48. @ExcelProperty(value = "专利类型", converter = EnumExcelConverter.class)
  49. @Enumerated(EnumType.STRING)
  50. @ApiModelProperty(value = "转移转化方式")
  51. private TechTradingMethod mode;
  52. @ApiModelProperty(value = "成交地点")
  53. private String soldAddress;
  54. @Searchable
  55. @ExcelIgnore
  56. @Column(columnDefinition = "TEXT")
  57. @ApiModelProperty(value = "描述")
  58. private String manual;
  59. @ApiModelProperty(value = "浏览量")
  60. private long view;
  61. /*
  62. 普通专利 ---专利类型
  63. */
  64. @EnumFormat(value = PatentType.class,
  65. fromExcel = {"发明专利", "实用新型专利", "外观设计专利"},
  66. toJavaEnum = {"INVENTION", "UTILITY_MODEL", "APPEARANCE_DESIGN"})
  67. @ExcelProperty(value = "专利类型", converter = EnumExcelConverter.class)
  68. @Enumerated(EnumType.STRING)
  69. @ApiModelProperty(value = "专利类型")
  70. private PatentType patentType;
  71. /*
  72. 商标
  73. */
  74. @EnumFormat(value = LogoType.class,
  75. fromExcel = {"普通商标", "集体商标", "证明商标"},
  76. toJavaEnum = {"GENERAL", "COLLECTIVE", "PROOF"})
  77. @ExcelProperty(value = "商标类型", converter = EnumExcelConverter.class)
  78. @Enumerated(EnumType.STRING)
  79. @ApiModelProperty(value = "商标类型")
  80. private LogoType logoType;
  81. @ExcelIgnore
  82. @ManyToOne(fetch = FetchType.LAZY)
  83. @JoinColumn(name = "settingId", insertable = false, updatable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
  84. @NotFound(action = NotFoundAction.IGNORE)
  85. private Setting setting;
  86. @ExcelIgnore
  87. @Enumerated(EnumType.STRING)
  88. private CaseCategory category;
  89. }