gaoluyang
7 天以前 87d725aa16dcdcdd19f28cd3f3f162e950fd1d2f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package cn.iocoder.yudao.module.aftersales.enums;
 
import cn.iocoder.yudao.framework.common.core.ArrayValuable;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
 
import java.util.Arrays;
 
/**
 * 售后工单操作/进度记录动作枚举
 * <p>
 * 用于「工单助手」App 的工单全生命周期追溯:每一次上报、派单、签到、处理、转派、
 * 升级、完结、回访、归档、取消都会写入一条 after_sale_ticket_log 记录。
 */
@RequiredArgsConstructor
@Getter
public enum AfterSaleTicketLogActionEnum implements ArrayValuable<Integer> {
 
    CREATE(1, "工单上报"),
    ASSIGN(2, "派单"),
    SIGN_IN(3, "现场签到"),
    CLASSIFY(4, "问题判定"),
    TRANSFER(5, "转派"),
    ESCALATE(6, "升级"),
    HANDLE(7, "处理记录"),
    RESOLVE(8, "完结工单"),
    VISIT(9, "客户回访"),
    CLOSE(10, "归档"),
    CANCEL(11, "取消工单");
 
    public static final Integer[] ARRAYS = Arrays.stream(values())
            .map(AfterSaleTicketLogActionEnum::getType).toArray(Integer[]::new);
 
    private final Integer type;
    private final String name;
 
    @Override
    public Integer[] array() {
        return ARRAYS;
    }
 
    public static String getName(Integer type) {
        return Arrays.stream(values())
                .filter(item -> item.getType().equals(type))
                .map(AfterSaleTicketLogActionEnum::getName)
                .findFirst()
                .orElse("未知操作");
    }
 
}