package cn.iocoder.yudao.module.trade.enums.aftersale; import cn.iocoder.yudao.framework.common.core.ArrayValuable; import lombok.AllArgsConstructor; import lombok.Getter; import java.util.Arrays; import java.util.Collection; import static cn.hutool.core.util.ArrayUtil.firstMatch; /** * 售后状态的枚举 * * 状态流转 * * @author 芋道源码 */ @AllArgsConstructor @Getter public enum AfterSaleStatusEnum implements ArrayValuable { /** * 【申请售后】 */ APPLY(10,"申请中", "会员申请退款"), // 有赞的状态提示:退款申请待商家处理 /** * 卖家通过售后;【商品待退货】 */ SELLER_AGREE(20, "卖家通过", "商家同意退款"), // 有赞的状态提示:请退货并填写物流信息 /** * 买家已退货,等待卖家收货;【商家待收货】 */ BUYER_DELIVERY(30,"待卖家收货", "会员填写退货物流信息"), // 有赞的状态提示:退货退款申请待商家处理 /** * 卖家已收货,等待平台退款;等待退款【等待退款】 */ WAIT_REFUND(40, "等待平台退款", "商家收货"), // 有赞的状态提示:无(有赞无该状态) /** * 完成退款【退款成功】 */ COMPLETE(50, "完成", "商家确认退款"), // 有赞的状态提示:退款成功 /** * 【买家取消】 */ BUYER_CANCEL(61, "买家取消售后", "会员取消退款"), // 有赞的状态提示:退款关闭 /** * 卖家拒绝售后;商家拒绝【商家拒绝】 */ SELLER_DISAGREE(62,"卖家拒绝", "商家拒绝退款"), // 有赞的状态提示:商家不同意退款申请 /** * 卖家拒绝收货,终止售后;【商家拒收货】 */ SELLER_REFUSE(63,"卖家拒绝收货", "商家拒绝收货"), // 有赞的状态提示:商家拒绝收货,不同意退款 ; public static final Integer[] ARRAYS = Arrays.stream(values()).map(AfterSaleStatusEnum::getStatus).toArray(Integer[]::new); /** * 进行中的售后状态 * * 不包括已经结束的状态 */ public static final Collection APPLYING_STATUSES = Arrays.asList( APPLY.getStatus(), SELLER_AGREE.getStatus(), BUYER_DELIVERY.getStatus(), WAIT_REFUND.getStatus() ); /** * 状态 */ private final Integer status; /** * 状态名 */ private final String name; /** * 操作内容 * * 目的:记录售后日志的内容 */ private final String content; @Override public Integer[] array() { return ARRAYS; } public static AfterSaleStatusEnum valueOf(Integer status) { return firstMatch(value -> value.getStatus().equals(status), values()); } }