Subversion Repositories SmartDukaan

Rev

Rev 4215 | Rev 4250 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * 
 */
package in.shop2020.util;

import in.shop2020.model.v1.order.OrderStatus;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

/**
 * @author mandeep
 *
 * Class containing constants used across CRM
 */
public class CRMConstants {
    public static final String CRM_EMAIL_SENDOR = "help@saholic.com";
    public static final String CRM_EMAIL_TYPE   = "CRMInfo";
    public static final String CRM_SUBJECT_PREFIX_FOR_TICKET_ID = "Saholic#";
    public static final long   ADMIN_AGENT_ID   = 1;
    public static final int DESCRIPTION_MAX_WIDTH = 1900;

    public static final List<OrderStatus> failedStatusList = Arrays.asList(new OrderStatus[] {
            OrderStatus.SALES_RET_RESHIPPED,
            OrderStatus.PAYMENT_FAILED,
            OrderStatus.SALES_RET_REFUNDED,
            OrderStatus.DOA_INVALID_REFUNDED,
            OrderStatus.DOA_INVALID_RESHIPPED,
            OrderStatus.DOA_VALID_REFUNDED,
            OrderStatus.DOA_RESHIPPED,
            OrderStatus.REFUNDED,
            OrderStatus.REJECTED,
            OrderStatus.FAILED});

    public static enum EscalationMatrix {
        SHIPPING_AND_DELIVERY("Product shipping and delivery related issues", Arrays.asList(17, 18)),
        RETURN_AND_REFUND("Product return, order refund, Payment status related issues", Collections.singletonList(17)),
        CONTENT("Any questions or errors on the content about the product on our site", Arrays.asList(17, 10)),
        PRODUCT_AND_PRICE("Product availability and its price related enquiries", Arrays.asList(17, 13)),
        TECHNICAL("Any technical errors on the site (or site not working properly)", Arrays.asList(17, 11)),
        ORDER_CANCELLATION("Cancelling an order", Collections.singletonList(17)),
        BULK_DEAL("Any bulk deals related enquiries", Arrays.asList(17, 13)),
        PROMOTION_MARKETING_PARTNERSHIP("Any promotion, marketing or partnership proposals' related queries", Arrays.asList(17, 14)),
        COD_VERIFICATION("Any COD verification related tickets", Arrays.asList(17, 12)),
        OTHER("Any other issues", Arrays.asList(15, 17));

        private String description;
        private List<Integer> agentIds;

        EscalationMatrix(String description, List<Integer> agentIds) {
            this.description = description;
            this.agentIds    = agentIds;
        }

        public String getDescription() {
            return description;
        }

        public List<Integer> getAgentIds() {
            return agentIds;
        }
    };
}