All Downloads are FREE. Search and download functionalities are using the official Maven repository.

me.chanjar.weixin.cp.bean.oa.calendar.WxCpOaCalendar Maven / Gradle / Ivy

There is a newer version: 4.6.7.B
Show newest version
package me.chanjar.weixin.cp.bean.oa.calendar;

import com.google.common.collect.ImmutableMap;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import me.chanjar.weixin.common.bean.ToJson;
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder;

import java.io.Serializable;
import java.util.List;

/**
 * 日历.
 *
 * @author Binary Wang created on  2020-09-20
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class WxCpOaCalendar implements Serializable, ToJson {
  private static final long serialVersionUID = -817988838579546989L;

  /**
   * 变量名:cal_id
   * 是否必须:更新时必须提供
   * 描述:日历ID
   */
  @SerializedName("cal_id")
  private String calId;

  /**
   * 变量名:organizer
   * 是否必须:是
   * 描述:指定的组织者userid。注意该字段指定后不可更新
   */
  @SerializedName("organizer")
  private String organizer;

  /**
   * 变量名:readonly
   * 是否必须:否
   * 描述:日历组织者对日历是否只读权限(即不可编辑日历,不可在日历上添加日程,仅可作为组织者删除日历)。0-否;1-是。默认为1,即只读
   */
  @SerializedName("readonly")
  private Integer readonly;

  /**
   * 变量名:set_as_default
   * 是否必须:否
   * 描述:是否将该日历设置为组织者的默认日历。0-否;1-是。默认为0,即不设为默认日历
   */
  @SerializedName("set_as_default")
  private Integer setAsDefault;

  /**
   * 变量名:summary
   * 是否必须:是
   * 描述:日历标题。1 ~ 128 字符
   */
  @SerializedName("summary")
  private String summary;

  /**
   * 变量名:color
   * 是否必须:是
   * 描述:日历在终端上显示的颜色,RGB颜色编码16进制表示,例如:”#0000FF” 表示纯蓝色
   */
  @SerializedName("color")
  private String color;

  /**
   * 变量名:description
   * 是否必须:否
   * 描述:日历描述。0 ~ 512 字符
   */
  @SerializedName("description")
  private String description;

  /**
   * 变量名:shares
   * 是否必须:否
   * 描述:日历共享成员列表。最多2000人
   */
  @SerializedName("shares")
  private List shares;

  /**
   * The type Share info.
   */
  @Data
  @AllArgsConstructor
  public static class ShareInfo implements Serializable {
    private static final long serialVersionUID = -4882781114860754679L;

    /**
     * 日历共享成员的id
     */
    private String userid;

    /**
     * 共享成员对日历是否只读权限(即不可编辑日历,不可在日历上添加日程,仅可以退出日历)。
     * 0-否;1-是。默认为1,即只读
     */
    private Integer readonly;
  }

  @Override
  public String toJson() {
    return WxCpGsonBuilder.create().toJson(ImmutableMap.of("calendar", this));
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy