MetaAtomTask.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.izouma.nineth.domain;
  2. import com.alibaba.excel.annotation.ExcelProperty;
  3. import com.izouma.nineth.annotations.Searchable;
  4. import com.izouma.nineth.dto.MetaServiceResult;
  5. import com.izouma.nineth.enums.MetaAwardTypeEnum;
  6. import com.izouma.nineth.enums.MetaTaskTarget;
  7. import io.swagger.annotations.ApiModel;
  8. import io.swagger.annotations.ApiModelProperty;
  9. import lombok.AllArgsConstructor;
  10. import lombok.Data;
  11. import lombok.NoArgsConstructor;
  12. import org.apache.commons.lang3.StringUtils;
  13. import javax.persistence.Column;
  14. import javax.persistence.Entity;
  15. import javax.persistence.EnumType;
  16. import javax.persistence.Enumerated;
  17. import java.util.Objects;
  18. @Data
  19. @AllArgsConstructor
  20. @NoArgsConstructor
  21. @Entity
  22. @ApiModel("元宇宙原子任务")
  23. public class MetaAtomTask extends BaseEntity {
  24. @Searchable
  25. @ApiModelProperty("任务名称")
  26. @ExcelProperty("任务名称")
  27. private String name;
  28. @ApiModelProperty("任务详情")
  29. @ExcelProperty("任务详情")
  30. @Column(columnDefinition = "TEXT")
  31. private String detail;
  32. @ApiModelProperty("任务目标")
  33. @ExcelProperty("任务目标")
  34. @Enumerated(EnumType.STRING)
  35. private MetaTaskTarget targetType;
  36. @ApiModelProperty("目标配置")
  37. @ExcelProperty("目标配置")
  38. private String targetConfig;
  39. @ApiModelProperty("奖励类型")
  40. @ExcelProperty("奖励类型")
  41. @Enumerated(EnumType.STRING)
  42. private MetaAwardTypeEnum awardType;
  43. @ApiModelProperty("奖励配置")
  44. @ExcelProperty("奖励配置")
  45. private String awardConfig;
  46. /**
  47. * 校验基础任务
  48. *
  49. * @param metaAtomTask 基础任务
  50. * @return result
  51. */
  52. public static MetaServiceResult checkMetaAtomTask(MetaAtomTask metaAtomTask) {
  53. if (Objects.isNull(metaAtomTask)) {
  54. return MetaServiceResult.returnError("基础任务不存在");
  55. }
  56. if (StringUtils.isBlank(metaAtomTask.getName())) {
  57. return MetaServiceResult.returnError(String.format("基础任务[%S]缺少任务名称", metaAtomTask.getId()));
  58. }
  59. if (Objects.isNull(metaAtomTask.getDetail())) {
  60. return MetaServiceResult.returnError(String.format("基础任务[%S]缺少任务详情", metaAtomTask.getId()));
  61. }
  62. if (Objects.isNull(metaAtomTask.getTargetType())) {
  63. return MetaServiceResult.returnError(String.format("基础任务[%S]缺少目标", metaAtomTask.getId()));
  64. }
  65. if (StringUtils.isBlank(metaAtomTask.getTargetConfig())) {
  66. return MetaServiceResult.returnError(String.format("基础任务[%S]缺少目标配置", metaAtomTask.getId()));
  67. }
  68. if (Objects.isNull(metaAtomTask.getAwardType())) {
  69. return MetaServiceResult.returnError(String.format("基础任务[%S]缺少奖励类型", metaAtomTask.getId()));
  70. }
  71. if (!metaAtomTask.getAwardType().equals(MetaAwardTypeEnum.NULL) && StringUtils.isBlank(metaAtomTask.getAwardConfig())) {
  72. return MetaServiceResult.returnError(String.format("基础任务[%S]缺少奖励配置", metaAtomTask.getId()));
  73. }
  74. return MetaServiceResult.returnSuccess();
  75. }
  76. }