McInvoiceKind.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.malk.qiwang.model;
  2. import lombok.Getter;
  3. import lombok.extern.slf4j.Slf4j;
  4. import java.util.Arrays;
  5. import java.util.Optional;
  6. /**
  7. * 定义返回值和对应状态的信息 [旧版本]
  8. * ppExt: 新版本官方返回数据已结构化, 以官方为准
  9. */
  10. @Deprecated
  11. @Slf4j
  12. public enum McInvoiceKind {
  13. PP("增值税普通发票", 1),
  14. ZP("增值税专用发票", 2),
  15. DP("增值税电子普通发票", 3),
  16. DZ("增值税电子专用发票", 4),
  17. QP("全电普通发票", 5),
  18. QZ("全电专用发票", 6),
  19. HC("火车票", 11),
  20. HCDZ("火车票", 16),
  21. JP("机票行程单", 12),
  22. CZC("出租车发票", 13),
  23. DE("定额发票", 14),
  24. GLGQ("过路过桥费发票", 15),
  25. FS("非税发票", 21),
  26. OT("其它特殊发票", 22),
  27. UN("未知类型", -1);
  28. @Getter
  29. private String desc;
  30. @Getter
  31. private int code;
  32. /**
  33. * 根据code查找
  34. */
  35. public final static String getKindName(int code) {
  36. Optional optional = Arrays.stream(McInvoiceKind.values()).filter(item -> item.code == code).findAny();
  37. if (optional.isPresent()) {
  38. return ((McInvoiceKind) optional.get()).desc;
  39. }
  40. return UN.getDesc();
  41. }
  42. /**
  43. * 根据name查找
  44. */
  45. public final static int getKindCode(String name) {
  46. Optional optional = Arrays.stream(McInvoiceKind.values()).filter(item -> item.desc.equals(name)).findAny();
  47. //log.info("发票类型, {}", Arrays.stream(McInvoiceKind.values()).map(item -> item.desc).collect(Collectors.toList()));
  48. if (optional.isPresent()) {
  49. return ((McInvoiceKind) optional.get()).code;
  50. }
  51. return UN.getCode();
  52. }
  53. McInvoiceKind(String name, int code) {
  54. this.desc = name;
  55. this.code = code;
  56. }
  57. }