package com.doumee.biz.zbom.model; import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonProperty; import com.google.gson.annotations.SerializedName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; import java.util.List; @Data @ApiModel("志邦IAM人员账号更新推送参数") public class IamUpdateUserModel implements Serializable { /** * 特别说明:下游系统在接收报文,根据idt_user__id判定账号是新增还是修改,进行账号新增或者修改时,先判断idt_user__id(IAM用户主键)在下游iamid(初始化时需维护iamid)中是否存在: * 存在,则需要再根据推送的登录账号(app_account__account_no)去数据库查询登录账号,如果查询的结果是 1条数据并且 id 跟当前推送用户 id 相同,则更新当前数据,否则提示“该用户系统已经存在,更新失败”; * 不存在,也需要比对登录账号(app_account__account_no)是否跟其它账号的登录账号相同,如果相同,提示“该用户系统已经存在,新增失败”:如果不存在,则新增数据。 */ @JSONField(name="idt_user__id") @JsonProperty("idt_user__id") @SerializedName("idt_user__id") @ApiModelProperty(value = "IAM用户主键") private String idtUserId; @JsonProperty("idt_user__old_id") @JSONField(name="idt_user__old_id") @SerializedName("idt_user__old_id") @ApiModelProperty(value = "用户老的主键id,存放U客老用户id,如果是IAM新增的用户,该字段值为空,下游系统如果使用U客的用户id作为业务处理逻辑的依据,需要同步该字段") private String idtUserOldId; @JSONField(name="app_account__app_id") @JsonProperty("app_account__app_id") @ApiModelProperty(value = "应用id,下游系统可不关心") @SerializedName("app_account__app_id") private String appAccountAppId; @JSONField(name="idt_org__parent_id") @JsonProperty("idt_org__parent_id") @ApiModelProperty(value = "上级组织ID") @SerializedName("idt_org__parent_id") private String idtOrgParentId; @JSONField(name="app_account__account_no") @JsonProperty("app_account__account_no") @ApiModelProperty(value = "用户账号,详看特别说明") @SerializedName("app_account__account_no") private String appAccountNo; @JSONField(name="app_account__account_pwd") @JsonProperty("app_account__account_pwd") @ApiModelProperty(value = "密码") @SerializedName("app_account__account_pwd") private String appAccountPwd; @JSONField(name="idt_user__user_name") @JsonProperty("idt_user__user_name") @ApiModelProperty(value = "姓名") @SerializedName("idt_user__user_name") private String idtUserName; @JSONField(name="idt_user__gender") @JsonProperty("idt_user__gender") @ApiModelProperty(value = "性别 0男 1女·") @SerializedName("idt_user__gender") private String idtUserGender; @JSONField(name="idt_user__email") @JsonProperty("idt_user__email") @ApiModelProperty(value = "企业邮箱") @SerializedName("idt_user__email") private String idtUserEmail; @JsonProperty("idt_user__mobile") @JSONField(name="idt_user__mobile") @ApiModelProperty(value = "手机号码,详看特别说明") @SerializedName("idt_user__mobile") private String idtUserMobile; @JSONField(name="idt_user__uc_job_id") @JsonProperty("idt_user__uc_job_id") @ApiModelProperty(value = "U客岗位id") @SerializedName("idt_user__uc_job_id") private String idtUserUcJobId; @JSONField(name="idt_org__second_level_type") @JsonProperty("idt_org__second_level_type") @ApiModelProperty(value = "二级组织类型】(1:S(加) , 2:F(加) ,3:店面(加),4:部门(HR/加),5:虚拟店面(加/虚) ") @SerializedName("idt_org__second_level_type") private String idtOrgSecondLevelType; @JSONField(name="app_account__status") @JsonProperty("app_account__status") @ApiModelProperty(value = "账户状态 0停用,1启用") @SerializedName("app_account__status") private String appAccountStatus; @JSONField(name="app_account__creator") @JsonProperty("app_account__creator") @ApiModelProperty(value = "创建者") @SerializedName("app_account__creator") private String appAccountCreator; @JSONField(name="app_account__create_time") @JsonProperty("app_account__create_time") @ApiModelProperty(value = "创建时间") @SerializedName("app_account__create_time") private String appAccountCreateTime; @JSONField(name="app_account__updater") @JsonProperty("app_account__updater") @ApiModelProperty(value = "更新者") @SerializedName("app_account__updater") private String appAccountUpdater; @JSONField(name="app_account__update_time") @JsonProperty("app_account__update_time") @ApiModelProperty(value = "更新时间") @SerializedName("app_account__update_time") private String appAccountUpdateTime; @JSONField(name="idt_user__work_no") @JsonProperty("idt_user__work_no") @ApiModelProperty(value = "工号,详看特别说明") @SerializedName("idt_user__work_no") private String idtUserWorkNo; @JSONField(name="idt_user__ding_id") @JsonProperty("idt_user__ding_id") @ApiModelProperty(value = "钉钉用户ID") @SerializedName("idt_user__ding_id") private String idtUserDingdingId; @JSONField(name="userTypes") @JsonProperty("userTypes") @ApiModelProperty(value = "用户类型,产品支持一人多个用户类型") @SerializedName("userTypes") private List userTypes; @JSONField(name="idt_org__updater") @JsonProperty("idt_org__updater") @ApiModelProperty(value = "用户类型,产品支持一人多个用户类型") @SerializedName("idt_org__updater") private String idtOrgUpdater; @JSONField(name="work_weixin_id") @JsonProperty("work_weixin_id") @ApiModelProperty(value = "企业微信用户openId") @SerializedName("work_weixin_id") private String workWeixinId; @JSONField(name="roles") @JsonProperty("roles") @ApiModelProperty(value = "账号包含的角色信息,支持多个") @SerializedName("roles") private List roles; @JSONField(name="orgs") @JsonProperty("orgs") @ApiModelProperty(value = "组织信息 下游系统可不关心,通过jobs属性可以取到组织信息") @SerializedName("orgs") private List orgs; @JSONField(name="jobs") @JsonProperty("jobs") @ApiModelProperty(value = "多组织岗位信息") @SerializedName("jobs") private List jobs; }