package com.gic.haoban.manage.web.qo.chat;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.apache.commons.lang3.StringUtils;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * @author shangfeng
 * @date 2024-06-20 10:24:21
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class SingleChatClerkReq extends ChatBaseReq implements Serializable {

    private static final long serialVersionUID = 2524730645905160886L;

    /**
     * 门店名称/code
     */
    private String vagueQueryStore;

    /**
     * 导购名称/code
     */
    private String vagueQueryClerk;

    /**
     * 下载导出参数：为了兼容前端传参
     */
    private String requestProject;

    /**
     * 获取排序
     * * *
     * @return
     */
    public Integer getDataApiOrderField() {
        Map<String, Integer> map = new HashMap<>(16);
        map.put("activeSessionsNum", 1);
        map.put("custSessionsNum", 2);
        map.put("replySessionsNum", 3);
        map.put("replySessionsPrport", 4);
        map.put("averageFirstReplyTime", 5);
        map.put("sessionsCustNum", 6);
        map.put("launchSessionsCustNum", 7);
        map.put("launchSessionsSalesNum", 8);
        map.put("sendNewsNum", 9);
        return map.get(getOrderByFields()) == null ? 1 : map.get(getOrderByFields());
    }

    /**
     * 处理请求参数
     * * *
     * @param jsonObject
     */
    public void dealWithParam(JSONObject jsonObject) {
        super.dealWithParam(jsonObject);
        if (getOrderByFields() != null) {
            jsonObject.put("orderByFields", getDataApiOrderField());
        }
        if (StringUtils.isNotBlank(vagueQueryClerk)) {
            jsonObject.put("vagueQueryClerk", vagueQueryClerk);
        }
        if (StringUtils.isNotBlank(vagueQueryStore)) {
            jsonObject.put("vagueQueryStore", vagueQueryStore);
        }
    }

    public String getVagueQueryStore() {
        return vagueQueryStore;
    }

    public void setVagueQueryStore(String vagueQueryStore) {
        this.vagueQueryStore = vagueQueryStore;
    }

    public String getVagueQueryClerk() {
        return vagueQueryClerk;
    }

    public void setVagueQueryClerk(String vagueQueryClerk) {
        this.vagueQueryClerk = vagueQueryClerk;
    }

    public String getRequestProject() {
        return requestProject;
    }

    public void setRequestProject(String requestProject) {
        this.requestProject = requestProject;
    }
}
