Enterprise.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.skyversation.xjcy.bean;
  2. import com.alibaba.fastjson.annotation.JSONField;
  3. import com.skyversation.xjcy.config.LocalDateFromTimestampDeserializer;
  4. import lombok.Data;
  5. import java.time.LocalDate;
  6. import java.util.Comparator;
  7. import java.util.Objects;
  8. import java.util.Optional;
  9. import java.util.stream.Stream;
  10. @Data
  11. public class Enterprise implements FromJSON ,DateInterval {
  12. private String id;
  13. private String cUnifiedSocialCreditCode;
  14. private String cEnterpriseName;
  15. private String regType;
  16. private String householdUnitId;
  17. private String cSsxqCode;
  18. private String isGsqy;
  19. private String operationStatus;
  20. private String industry;
  21. private String companyLevel;
  22. private String cInvestmentUnitId;
  23. @JSONField(deserializeUsing = LocalDateFromTimestampDeserializer.class)
  24. private LocalDate cCertificateDate;
  25. @JSONField(deserializeUsing = LocalDateFromTimestampDeserializer.class)
  26. private LocalDate cMoveOutDate;
  27. @JSONField(deserializeUsing = LocalDateFromTimestampDeserializer.class)
  28. private LocalDate revocationTime;
  29. @JSONField(deserializeUsing = LocalDateFromTimestampDeserializer.class)
  30. private LocalDate cancellationTime;
  31. private Boolean riskExempt;
  32. private String cIsKeyProjectQp;
  33. @JSONField(deserializeUsing = LocalDateFromTimestampDeserializer.class)
  34. private LocalDate gsqyTime;
  35. private String cNationalIndustryCode;
  36. private String cNationalIndustry;
  37. private String tags;
  38. private String registeredAddress;
  39. private String businessScope;
  40. private String cZjzdcybq;
  41. private String cEmployeeCount;
  42. private String cInsuredPeople;
  43. private int cPatentNum;
  44. private String cQyfx;
  45. private String cLawsuits;
  46. private String cOperationalRisks;
  47. @Override
  48. public LocalDate getStartDate() {
  49. return Optional.ofNullable(cCertificateDate).orElse(LocalDate.MIN);
  50. }
  51. @Override
  52. public LocalDate getEndDate() {
  53. return Stream.of(cMoveOutDate, revocationTime, cancellationTime)
  54. .filter(Objects::nonNull)
  55. .min(Comparator.naturalOrder())
  56. .orElse(LocalDate.MAX);
  57. }
  58. }