luodangjia
2024-04-28 6d72bb2e7f223304290ebebdb30960a9586b9dac
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package cn.stylefeng.roses.kernel.rule.enums;
 
import lombok.Getter;
 
/**
 * IM推送类型-枚举
 *
 * @author goupan
 */
@Getter
public enum ImPushTypeEnum {
 
    /*
    系统S,工作人员W,客户C
    CODE编码规则:
        1位发送方(0系统,1工作人员,2客户)
        2位接收方(0系统,1工作人员,2客户)
        3位消息类型(0系统通知,1单聊,2群聊)
        45位类型标识
     */
    S_TO_W_TIP_1V1_CONSULT("01001", "提示工作人员心理测试完成,用户未选择1v1咨询"),
    C_TO_C_TIP_STOP_IM("22001", "提示结束单聊"),
    S_TO_W_TIP_MENTAL_APPOINTMENT("01002", "提示性格分析师有预约"),
    S_TO_W_TIP_CONSULT_PAY_SUCCESS("21103", "首次咨询支付成功后提示"),
    S_TO_W_TIP_CONSULT_PAY_GROUP_SUCCESS("21204", "咨询支付成功后提示"),
    S_TO_W_TIP_CONSULT_PAY_GROUP_SUCCESS_ONLY("212041", "只提示"),
    S_TO_W_TIP_COURSE_PAY_GROUP_SUCCESS("21205", "课程支付成功后提示"),
    C_TO_W_IM_1V1_START_CONSULT("21107", "用户发送心理测试结果,1v1咨询开始"),
    C_TO_W_IM_1V1_START_CONSULT_FIRST("21108", "首次咨询"),
    S_TO_C_TIP_AUDIT_PASS("02001", "咨询师同意预约后提示"),
    S_TO_C_TIP_MENTAL_APPOINTMENT_PUSH_WORK("12202", "发布作业:咨询师发布作业后提示"),
    S_TO_C_TIP_MENTAL_APPOINTMENT_UPCOMING("02003", "即将开始:预约开始前24小时、30分钟提示"),
    S_TO_C_TIP_AUDIT_NO_PASS("02004", "咨询师预约取消后提示"),
    S_TO_C_TIP_COUSULT_APPOINTMENT_UPCOMING("02003", "即将开始:预约开始前24小时、30分钟提示"),
    S_TO_W_TIP_CONSULT_AUDIT_APPOINTMENT_SUCCESS("01004", "咨询预约审核提醒"),
    S_TO_W_TIP_CONSULT_NOT_PAY("01005", "咨询订单未支付"),
    S_TO_W_TIP_COURSE_NOT_PAY("01006", "课程订单未支付"),
    S_TO_W_TIP_COURSE_GROUP_TALK("01008", "课程2天为聊天提醒"),
    S_TO_C_TIP_MENTAL_APPOINTMENT_PUSH_WORK_USER("12002", "发布作业:咨询师发布作业后提示"),
    S_TO_C_TIP_GROUP_CANCEL_INFO("02001", "群聊解散提醒"),
    ;
 
    private final String code;
 
    private final String name;
 
    ImPushTypeEnum(String code, String name) {
        this.code = code;
        this.name = name;
    }
 
    /**
     * 根据code获取枚举
     */
    public static ImPushTypeEnum codeToEnum(String code) {
        if (null != code) {
            for (ImPushTypeEnum e : ImPushTypeEnum.values()) {
                if (e.getCode().equals(code)) {
                    return e;
                }
            }
        }
        return null;
    }
 
    /**
     * 编码转化成中文含义
     */
    public static String codeToName(String code) {
        if (null != code) {
            for (ImPushTypeEnum e : ImPushTypeEnum.values()) {
                if (e.getCode().equals(code)) {
                    return e.getName();
                }
            }
        }
        return "未知";
    }
 
    @Override
    public String toString() {
        return "IM推送类型(" + code + ", " + name + ")";
    }
 
}