package com.usoftchina.qywx.sdk.dto;

import java.util.*;

/**
 * @author yingp
 */
public class UpdateTaskCardReq {
    /**
     * 企业的成员ID列表（消息接收者，最多支持1000个）。
     */
    private Set<String> userIdSet;
    /**
     * 应用的agentid
     */
    private Long agentId;
    /**
     * 发送任务卡片消息时指定的task_id
     */
    private String taskId;
    /**
     * 设置指定的按钮为选择状态，需要与发送消息时指定的btn:key一致
     */
    private String clickedKey;

    public UpdateTaskCardReq userId(String... userId) {
        if (null == userIdSet) {
            userIdSet = new HashSet<>(1);
        }
        userIdSet.addAll(Arrays.asList(userId));
        return this;
    }

    public UpdateTaskCardReq clickedKey(String clickedKey) {
        this.clickedKey = clickedKey;
        return this;
    }

    public UpdateTaskCardReq agentId(long agentId) {
        this.agentId = agentId;
        return this;
    }

    public UpdateTaskCardReq taskId(String taskId) {
        this.taskId = taskId;
        return this;
    }

    public Map<String, Object> build() {
        Map<String, Object> data = new HashMap<>(4);
        data.put("userids", userIdSet);
        data.put("agentid", agentId);
        data.put("task_id", taskId);
        data.put("clicked_key", clickedKey);
        return data;
    }
}
