package cn.lili.modules.lmk.enums.general; import cn.lili.modules.lmk.domain.vo.VideoOption; import lombok.Getter; import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 视频支持的操作 * * @author:xp * @date:2025/5/14 10:30 */ @Getter public enum VideoSupportOpEnum { UP("UP", "发布"), DOWN("DOWN", "下架"), DELETE("DELETE", "删除"), EDIT("EDIT", "编辑"), ; private final String value; private final String desc; VideoSupportOpEnum(String value, String desc) { this.value = value; this.desc = desc; } /** * 根据视频状态获取到对应的操作 * * @param status * @return */ public static List getVideoOpByStatus(String status) { if (VideoStatusEnum.AUDITING.getValue().equals(status)) { return Arrays.asList(new VideoOption(EDIT.value, EDIT.desc), new VideoOption(DELETE.value, DELETE.desc)); } else if (VideoStatusEnum.DISABLE.getValue().equals(status)) { return Arrays.asList(new VideoOption(EDIT.value, EDIT.desc), new VideoOption(UP.value, UP.desc), new VideoOption(DELETE.value, DELETE.desc)); } else if (VideoStatusEnum.PUBLISHED.getValue().equals(status)) { return Arrays.asList(new VideoOption(EDIT.value, EDIT.desc), new VideoOption(DOWN.value, DOWN.desc), new VideoOption(DELETE.value, DELETE.desc)); } else if (VideoStatusEnum.REJECT.getValue().equals(status)) { return Arrays.asList(new VideoOption(EDIT.value, EDIT.desc), new VideoOption(DELETE.value, DELETE.desc)); } return new ArrayList<>(); } /** * 获取含义 * * @param value * @return */ public static String getDescByValue(String value) { if (StringUtils.isBlank(value)) { return null; } for (VideoSupportOpEnum e : VideoSupportOpEnum.values()){ if (value.equals(e.getValue())) { return e.getDesc(); } } return null; } }