package com.gic.haoban.manage.api.enums;

/**
 * Created by hua on 2021/12/17.
 */
@Deprecated
public enum NoticeMessageTypeEnum {

    ACTIVITY_START(1001, "活动开始通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_start", "/pages/route/index?pageType=", "hbapp_activity_detail", "activityStart", "haobanNotice"),
    ACTIVITY_NEW(1002, "活动上新通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_new", "/pages/route/index?pageType=", "hbapp_activity_detail", "activityNew", "haobanNotice"),
    ACTIVITY_DEL(1003, "活动删除通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_del", "/pages/route/index", "", "activityDelete", "haobanNotice"),
    ACTIVITY_OFFLINE(1004, "活动下线通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_offline", "/pages/route/index?pageType=", "hbapp_activity_ranking", "activityDown", "haobanNotice"),
    ACTIVITY_END(1005, "活动结束通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_end", "/pages/route/index?pageType=", "hbapp_activity_ranking", "activityEnd", "haobanNotice"),
    ACTIVITY_RANK(1006, "活动排名通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_rank", "/pages/route/index?pageType=", "hbapp_activity_ranking", "activityRank", "haobanNotice"),
    ACTIVITY_AWARD(1007, "活动奖励通知", NoticeMessageCategoryTypeEnum.ACTIVITY.getType(), "activity_award", "/pages/route/index?pageType=", "hbapp_activity_ranking", "activityReward", "haobanNotice"),

    TEL_TASK_CREATE(2001, "话务任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "task_create", "/pages/route/index?pageType=", "hbapp_task_list_new", "TelServiceTask", "haobanNotice"),
    TEL_TASK_OVERDUE(2002, "话务任务逾期推送", NoticeMessageCategoryTypeEnum.TASK.getType(), "task_overdue", "/pages/route/index?pageType=", "hbapp_marketing_task_list", "TelServiceTaskExceedTime", "haobanNotice"),
    //没集成 还没有
    TEL_TASK_INVALID(2003, "话务任务逾期失效通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "task_nvalid", "/pages/route/index?pageType=", "hbapp_marketing_task_list", "TelServiceTaskExceedTimeLoseEfficacy", "haobanNotice"),
    GROUP_TASK_CREATE(2004, "群发任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "group_task_create", "/pages/route/index?pageType=", "hbapp_marketing_task_list", "groupTask", "haobanNotice"),
    GROUP_TASK_OVERDUE(2005, "群发任务逾期通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "group_task_overdue", "/pages/route/index?pageType=", "hbapp_marketing_task_list", "groupTaskExceedTime", "haobanNotice"),
    //没集成 还没有
    GROUP_TASK_INVALID(2006, "群发任务逾期失效通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "group_task_invalid", "/pages/route/index?pageType=", "hbapp_marketing_task_list", "groupTaskExceedTimeLoseEfficacy", "haobanNotice"),
    PERFORMANCE_TASK_CREATE(2007, "指标任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "performance_task_create", "/pages/route/index?pageType=", "hbapp_task_kpi_detail", "targetTask", "haobanNotice"),
    EVALUATE_TASK_CREATE(2008, "不良评价通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "evaluate_task_create", "/pages/route/index?pageType=", "hbapp_task_detail", "badEvaluate", "haobanNotice"),
    PERFORMANCE_TASK_CHANGE(2009, "指标任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "performance_task_change", "/pages/route/index?pageType=", "hbapp_task_kpi_detail", "targetTaskByStoreManage", "haobanNotice"),

    TASK_TRANS(2010, "话务任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "task_trans", "/pages/route/index?pageType=", "hbapp_task_list_new", "TelServiceTaskByStoreManage", "haobanNotice"),

    PERFORMANCE_TASK_UPDATE(2011, "指标任务变更通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "performance_task_update", "/pages/route/index?pageType=", "hbapp_task_kpi_detail", "targetTaskByUpdate", "haobanNotice"),

    CLERK_TASK_CONTENT_AUDIT_OK(2012, "素材审核通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "clerk_task_content_audit_ok", "/pages/route/index?pageType=", "hbapp_guide_task_detail", "clerk_task_content_audit_ok", "haobanNotice"),
    CLERK_TASK_CONTENT_AUDIT_REFUSE(2013, "素材审核通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "clerk_task_content_audit_refuse", "/pages/route/index?pageType=", "hbapp_guide_task_upload", "clerk_task_content_audit_refuse", "haobanNotice"),
    CLERK_TASK_SEND_NOTICE(2014, "导购任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "clerk_task_send_notice", "/pages/route/index?pageType=", "hbapp_guide_task_detail", "clerk_task_send_notice", "haobanNotice"),


    GROUP_CHAT_PLAN(2015, "社群群发任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "haobanGroupChatPlan", "/pages/route/index?pageType=", "hbapp_canvas_group_send", "haobanGroupChatPlan", "haobanNotice"),
    MASS_GROUP_SEND_PLAN(2016, "客户群发任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "haobanMassGroupSendPlan", "/pages/route/index?pageType=", "hbapp_canvas_custom_send", "haobanMassGroupSendPlan", "haobanNotice"),
    TEL_TASK_CANVAS(2017, "话务任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "haobanTelTaskCanvas", "/pages/route/index?pageType=", "hbapp_canvas_task", "haobanTelTaskCanvas", "haobanNotice"),
    HB_TASK_TO_DO_LIST_NOTICE(2018, "任务执行提醒", NoticeMessageCategoryTypeEnum.TASK.getType(), "haobanTaskTodoNotice", "/pages/route/index?pageType=", "", "haobanTaskTodoNotice", "haobanNotice"),



    STORE_ACCOUNT(3001, "账号申请", NoticeMessageCategoryTypeEnum.OTHER.getType(), "store_account", "/pages/route/index?pageType=", "store_relate_store_record_list", "accountApplication", "haobanNotice"),
    //
    MEMBER_FACE(3002, "账号申请", NoticeMessageCategoryTypeEnum.OTHER.getType(), "member_face", "/pages/route/index?pageType=", "hbapp_customer_edit_tag", "", "haobanNotice"),

    //下面两个使用staff发送
    STORE_ACCOUNT_REFUSE(3010, "账号申请", NoticeMessageCategoryTypeEnum.OTHER.getType(), "store_account_refuse", "/pages/route/index?pageType=", "store_relate_store_record_list", "refuseAccountApplication", "haobanNotice"),
    STORE_ACCOUNT_AGREE(3011, "账号申请", NoticeMessageCategoryTypeEnum.OTHER.getType(), "store_account_agree", "/pages/route/index?pageType=", "store_relate_store_record_list", "agreeAccountApplication", "haobanNotice"),

    CLERK_ADD_REFUSE(3020, "导购新增通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "clerk_add_refuse", "/pages/route/index?pageType=", "store_relate_store_record_list", "refuseAddClerk", "haobanNotice"),
    CLERK_ADD_AGREE(3021, "导购新增通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "clerk_add_agree", "/pages/route/index?pageType=", "store_relate_store_record_list", "agreeAddClerk", "haobanNotice"),
    //
    CLERK_DEL_REFUSE(3022, "导购删除通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "clerk_del_refuse", "/pages/route/index?pageType=", "store_relate_store_record_list", "refuseDeleteClerk", "haobanNotice"),
    CLERK_DEL_AGREE(3023, "导购删除通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "clerk_del_agree", "/pages/route/index?pageType=", "store_relate_store_record_list", "agreeDeleteClerk", "haobanNotice"),
    STORE_EDIT_REFUSE(3024, "门店信息修改通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "store_edit_refuse", "/pages/route/index?pageType=", "store_detail", "refuseStoreInfoUpdate", "haobanNotice"),
    STORE_EDIT_AGREE(3025, "门店信息修改通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "store_edit_agree", "/pages/route/index?pageType=", "store_detail", "agreeStoreInfoUpdate", "haobanNotice"),
    DAILY_REPORT(3031, "云日报通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "daily_report", "/pages/route/index?pageType=", "hbapp_task_daily_report_detail", "cloudDailyForStoreManage", "haobanNotice"),
    DAILY_REPORT_TRANS(3033, "云日报通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "daily_report_trans", "/pages/route/index?pageType=", "hbapp_task_daily_report_detail", "cloudDailyForClerk", "haobanNotice"),

    CASH_OUT_REFUSE(3040, "提现通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "cash_out_refuse", "/pages/route/index?pageType=", "hbapp_withdraw_list", "CashWithdrawal", "haobanNotice"),
    
    OFFLINE_PRE(3041, "预约提醒", NoticeMessageCategoryTypeEnum.OTHER.getType(), "task_overdue", "/pages/route/index?pageType=", "hbapp_appointment_list", "offlinePre", "haobanNotice"),


    CUSTOMER_MOVE(3052, "客户变动通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "customer_move", "/pages/route/index?pageType=", "hbapp_customer_list", "assignCustomers", "haobanNotice"),
    CUSTOMER_MOVED(3053, "客户变动通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "customer_moved", "/pages/route/index?pageType=", "hbapp_customer_list", "removeCustomer", "haobanNotice"),
    CUSTOMER_UNBIND(3054, "客户变动通知", NoticeMessageCategoryTypeEnum.OTHER.getType(), "customer_unbind", "/pages/route/index?pageType=", "hbapp_customer_list", "", ""),

    CUSTOMER_ORDER_CREATE(4001, "客户下单通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_order_create", "/pages/route/index?pageType=", "hbapp_customer_order_detail", "customerBuyOrder", "haobanNotice"),
    //
    CUSTOMER_ORDER_REFUND(4002, "客户退单通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_order_refund", "/pages/route/index?pageType=", "hbapp_withdraw_list", "customerChargebackOrder", "haobanNotice"),
    CUSTOMER_ORDER_LOOK(4003, "客户浏览通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_order_look", "/pages/route/index?pageType=", "hbapp_customer_look_goods", "customerBrowsing", "haobanNotice"),
    CUSTOMER_GET_COUPON(4004, "客户领券通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_get_coupon", "/pages/route/index?pageType=", "hbapp_customer_detail", "customerGetCoupon", "haobanNotice"),
    CUSTOMER_APPLY_ORDER_REFUND(4005, "客户申请退单通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_apply_order_refund", "/pages/route/index?pageType=", "hbapp_customer_order_detail", "customerApplyChargebackOrder", "haobanNotice"),
    CUSTOMER_SUCCESS_ORDER_REFUND(4006, "客户成功退单通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_success_order_refund", "/pages/route/index?pageType=", "hbapp_user_bill_detail", "customerChargebackOrderSuccess", "haobanNotice"),
    FRIEND_DEL_STAFF(4007,"删除好友通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(),"friend_del_staff","/pages/route/index?pageType=","hbapp_customer_detail","friendDelStaff","haobanNotice"),
    HAOBAN_OPEN_STAFF_LOGOUT(4008,"企微托管账号退出登录", NoticeMessageCategoryTypeEnum.AUTHORIZED.getType(),"haoban_open_staff_logout","/pages/route/index?pageType=","hbapp_video_auth","haobanOpenStaffLogout","haobanNotice"),


    // 订单- 待发货订单提醒
    ORDER_TAKE(5000, "待自提订单提醒", NoticeMessageCategoryTypeEnum.ORDER.getType(), "order_take", "/pages/route/index?pageType=", "hbapp_order_verfication", "toBePickUpOrderRemind", "haobanNotice"),
    ORDER_PAY(5001, "待发货订单提醒", NoticeMessageCategoryTypeEnum.ORDER.getType(), "order_pay", "/pages/route/index?pageType=", "hbapp_order_center", "reminderForPendingOrders", "haobanNotice"),
    REFUND_AUDIT(5010, "新增售后提醒", NoticeMessageCategoryTypeEnum.REFUND.getType(), "refund_audit", "/pages/route/index?pageType=", "hbapp_order_center", "afterSalesReviewReminder", "haobanNotice"),
    REFUND_MEMBER_CANCEL(5011, "买家取消售后提醒", NoticeMessageCategoryTypeEnum.REFUND.getType(), "refund_member_cancel", "/pages/route/index?pageType=", "hbapp_order_center", "afterSalesCancelReminder", "haobanNotice"),
    REFUND_DELIVER(5013, "买家寄出退换货提醒", NoticeMessageCategoryTypeEnum.REFUND.getType(), "refund_deliver", "/pages/route/index?pageType=", "hbapp_order_center", "buyerSendsBackRemind", "haobanNotice"),
    ORDER_PICK_UP_AGREE(5014, "取消门店自提订单", NoticeMessageCategoryTypeEnum.REFUND.getType(), "order_pick_up_cancel", "/pages/route/index?pageType=", "hbapp_order_verfication", "canelPickUpOrderRemaind", "haobanNotice"),


    //
    MATERIAL_NEW_NOTIFY(6001, "素材上新通知", NoticeMessageCategoryTypeEnum.MATERIAL.getType(), "material_new_notify", "/pages/route/index?pageType=", "hbapp_material_center", "materialsNotice", "clerkMaterialsNotice"),
    MATERIAL_REPORT_NOTIFY_WEEK(6002, "素材周报通知", NoticeMessageCategoryTypeEnum.MATERIAL.getType(), "material_week_notify", "/pages/route/index?pageType=", "hbapp_mate_report", "materialWeek", "clerkMaterialsReport"),
    POTENTIAL_CUSTOMER_NOTIFY(6003, "销售线索通知", NoticeMessageCategoryTypeEnum.POTENTIAL_CUSTOMER.getType(), "potential_customer_notify", "/pages/route/index?pageType=", "hbapp_sales_clue_center", "salesLeadNotice", "haobanNotice"),
    MATERIAL_REPORT_NOTIFY_MONTH(6004, "素材月报通知", NoticeMessageCategoryTypeEnum.MATERIAL.getType(), "material_month_notify", "/pages/route/index?pageType=", "hbapp_mate_report", "materialMonth", "clerkMaterialsReport"),
    CLERK_COMMISSION_NOTIFY(6005, "客户下单通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "clerk_commission_notify", "/pages/route/index?pageType=", "hbapp_withdraw_list", "clerkCommissionNotify", "haobanNotice"),

    MATERIAL_AUDIT_NOTIFY(6006, "素材审核通知", NoticeMessageCategoryTypeEnum.MATERIAL.getType(), "material_audit_notify", "/pages/route/index?pageType=", "hbapp_create_center", "materialAuditNotify", "haobanNotice"),

    KNOWLEDGE_NEW_NOTIFY(6007, "知识库上新通知", NoticeMessageCategoryTypeEnum.MATERIAL.getType(), "knowledge_new_notify", "/pages/route/index?pageType=", "hbapp_guide_knowledge", "knowledgeNewNotify", "clerkMaterialsNotice"),

    CASH_APPLY_REFUSE_NOTIFY(7001,"提现通知", NoticeMessageCategoryTypeEnum.OTHER.getType(),"cash_apply_refuse_notify","/pages/route/index?pageType=","hbapp_withdraw_list","cashApplyRefuseNotify","haobanNotice"),

    CASH_APPLY_FAIL_NOTIFY(7002,"提现通知", NoticeMessageCategoryTypeEnum.OTHER.getType(),"cash_apply_fail_notify","/pages/route/index?pageType=","hbapp_withdraw_list","cashApplyFailNotify","haobanNotice"),

    CASH_APPLY_OFFLINE_SUCCESS_NOTIFY(7003,"提现通知", NoticeMessageCategoryTypeEnum.OTHER.getType(),"cash_apply_offline_success_notify","/pages/route/index?pageType=","hbapp_withdraw_list","cashApplyOfflineSuccessNotify","haobanNotice"),

    AUTHORIZED_LOGIN_NOTIFY(8001,"账号授权通知", NoticeMessageCategoryTypeEnum.AUTHORIZED.getType(),"authorized_login_notify","/pages/route/index?pageType=","hbapp_video_auth","authorizedLoginNotify","haobanNotice"),
    AUTHORIZED_LOGOUT_NOTIFY(8002,"账号异常退出登录通知", NoticeMessageCategoryTypeEnum.AUTHORIZED.getType(),"authorized_logout_notify","/pages/route/index?pageType=","hbapp_video_auth","authorizedLogoutNotify","haobanNotice");

    /**
     * 消息类型
     */
    @Deprecated
    private int type;
    /**
     * 消息名称
     */
    @Deprecated
    private String name;
    /**
     * 大类
     */
    @Deprecated
    private int category;
    /**
     * 模板类型
     */
    @Deprecated
    private String templateCode;

    /**
     * 活动页面
     */
    @Deprecated
    private String pageUrl;
    /**
     * 前端的页面类型
     */
    @Deprecated
    private String pageType;

    private String messageCode;
    private String routerCode;

    NoticeMessageTypeEnum(int type, String name, int category, String templateCode, String pageUrl, String pageType, String messageCode, String routerCode) {
        this.type = type;
        this.name = name;
        this.category = category;
        this.templateCode = templateCode;
        this.pageUrl = pageUrl;
        this.pageType = pageType;
        this.messageCode = messageCode;
        this.routerCode = routerCode;
    }


    public String getTemplateCode() {
        return templateCode;
    }

    public void setTemplateCode(String templateCode) {
        this.templateCode = templateCode;
    }

    public String getPageType() {
        return pageType;
    }

    public void setPageType(String pageType) {
        this.pageType = pageType;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getCategory() {
        return category;
    }

    public void setCategory(int category) {
        this.category = category;
    }

    public String getPageUrl() {
        return pageUrl;
    }

    public void setPageUrl(String pageUrl) {
        this.pageUrl = pageUrl;
    }

    public static NoticeMessageTypeEnum getByType(int type) {
        for (NoticeMessageTypeEnum messageTypeEnum : values()) {
            if (messageTypeEnum.getType() == type) {
                return messageTypeEnum;
            }
        }
        return null;
    }

    public String getMessageCode() {
        return messageCode;
    }

    public void setMessageCode(String messageCode) {
        this.messageCode = messageCode;
    }

    public String getRouterCode() {
        return routerCode;
    }

    public void setRouterCode(String routerCode) {
        this.routerCode = routerCode;
    }
}
