package com.izouma.nineth.domain; import com.alibaba.excel.annotation.ExcelProperty; import com.izouma.nineth.annotations.Searchable; import com.izouma.nineth.dto.MetaServiceResult; import com.izouma.nineth.enums.MetaTaskType; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.apache.commons.lang3.StringUtils; import javax.persistence.*; import java.util.List; import java.util.Objects; @Data @AllArgsConstructor @NoArgsConstructor @Entity @ApiModel("元宇宙任务") public class MetaTaskNew extends BaseEntity { @ApiModelProperty("任务名称") @Searchable @ExcelProperty("任务名称") private String name; @ApiModelProperty("任务详情") @Column(columnDefinition = "TEXT") @ExcelProperty("任务详情") private String detail; @ApiModelProperty("任务分类") @ExcelProperty("任务分类") @Enumerated(EnumType.STRING) private MetaTaskType type; @ApiModelProperty("是否发布") @ExcelProperty("是否发布") private boolean publish; @ApiModelProperty("是否自动领取") @ExcelProperty("是否自动领取") private boolean autoReceive; @Searchable @ApiModelProperty("频道id") @ExcelProperty("频道id") private Long channelId; @Transient private List metaNodeTask; @Transient private List metaBranchLineTask; @Transient private List metaDailyTask; /** * 校验任务 * * @param metaTaskNew 任务信息 * @return result */ public static MetaServiceResult checkMetaTaskNew(MetaTaskNew metaTaskNew) { if (Objects.isNull(metaTaskNew)) { return MetaServiceResult.returnError("任务不存在"); } if (!metaTaskNew.isPublish()) { return MetaServiceResult.returnError("status error : task has not been published"); } if (StringUtils.isBlank(metaTaskNew.getName())) { return MetaServiceResult.returnError(String.format("任务[%S]缺少任务名称", metaTaskNew.getId())); } if (Objects.isNull(metaTaskNew.getDetail())) { return MetaServiceResult.returnError(String.format("任务[%S]缺少任务详情", metaTaskNew.getId())); } if (Objects.isNull(metaTaskNew.getType())) { return MetaServiceResult.returnError(String.format("任务[%S]缺少任务类型", metaTaskNew.getId())); } if (Objects.isNull(metaTaskNew.getChannelId())) { return MetaServiceResult.returnError(String.format("任务[%S]缺少频道id", metaTaskNew.getId())); } return MetaServiceResult.returnSuccess(); } }