package org.springblade.core.secure;

import io.swagger.annotations.ApiModelProperty;
import liquibase.pro.packaged.L;
import org.springblade.core.tool.support.Kv;

import java.io.Serializable;

public class BladeUser  implements Serializable {
	private static final long serialVersionUID = 1L;
	@ApiModelProperty(
		hidden = true
	)
	private String clientId;
	@ApiModelProperty(
		hidden = true
	)
	private Long userId;
	@ApiModelProperty(
		hidden = true
	)
	private String account;
	@ApiModelProperty(
		hidden = true
	)
	private String userName;
	@ApiModelProperty(
		hidden = true
	)
	private String nickName;
	@ApiModelProperty(
		hidden = true
	)
	private String tenantId;
	@ApiModelProperty(
		hidden = true
	)
	private String oauthId;
	@ApiModelProperty(
		hidden = true
	)
	private String deptId;
	@ApiModelProperty(
		hidden = true
	)
	private String postId;
	@ApiModelProperty(
		hidden = true
	)
	private String roleId;
	@ApiModelProperty(
		hidden = true
	)
	private String roleName;
	@ApiModelProperty(
		hidden = true
	)
	private Kv detail;


	@ApiModelProperty(
		hidden = true
	)
	private Integer userCategory;


	@ApiModelProperty(
		hidden = true
	)
	private Long factoryId;

	@ApiModelProperty(
		hidden = true
	)
	private Integer appletPermission;

	public BladeUser() {
	}

	public String getClientId() {
		return this.clientId;
	}

	public Long getUserId() {
		return this.userId;
	}

	public String getAccount() {
		return this.account;
	}

	public String getUserName() {
		return this.userName;
	}

	public String getNickName() {
		return this.nickName;
	}

	public String getTenantId() {
		return this.tenantId;
	}

	public String getOauthId() {
		return this.oauthId;
	}

	public String getDeptId() {
		return this.deptId;
	}

	public String getPostId() {
		return this.postId;
	}

	public String getRoleId() {
		return this.roleId;
	}

	public String getRoleName() {
		return this.roleName;
	}

	public Kv getDetail() {
		return this.detail;
	}

	public void setClientId(final String clientId) {
		this.clientId = clientId;
	}

	public void setUserId(final Long userId) {
		this.userId = userId;
	}

	public void setAccount(final String account) {
		this.account = account;
	}

	public void setUserName(final String userName) {
		this.userName = userName;
	}

	public void setNickName(final String nickName) {
		this.nickName = nickName;
	}

	public void setTenantId(final String tenantId) {
		this.tenantId = tenantId;
	}

	public void setOauthId(final String oauthId) {
		this.oauthId = oauthId;
	}

	public void setDeptId(final String deptId) {
		this.deptId = deptId;
	}

	public void setPostId(final String postId) {
		this.postId = postId;
	}

	public void setRoleId(final String roleId) {
		this.roleId = roleId;
	}

	public void setRoleName(final String roleName) {
		this.roleName = roleName;
	}

	public void setDetail(final Kv detail) {
		this.detail = detail;
	}

	public Integer getUserCategory() {
		return userCategory;
	}

	public void setUserCategory(final Integer userCategory) {
		this.userCategory = userCategory;
	}

	public Long getFactoryId() {
		return factoryId;
	}

	public void setFactoryId(final Long factoryId) {
		this.factoryId = factoryId;
	}

	public Integer getAppletPermission() {
		return appletPermission;
	}

	public void setAppletPermission(Integer appletPermission) {
		this.appletPermission = appletPermission;
	}

	public boolean equals(final Object o) {
		if (o == this) {
			return true;
		} else if (!(o instanceof BladeUser)) {
			return false;
		} else {
			BladeUser other = (BladeUser)o;
			if (!other.canEqual(this)) {
				return false;
			} else {
				label155: {
					Object this$userId = this.getUserId();
					Object other$userId = other.getUserId();
					if (this$userId == null) {
						if (other$userId == null) {
							break label155;
						}
					} else if (this$userId.equals(other$userId)) {
						break label155;
					}

					return false;
				}

				Object this$clientId = this.getClientId();
				Object other$clientId = other.getClientId();
				if (this$clientId == null) {
					if (other$clientId != null) {
						return false;
					}
				} else if (!this$clientId.equals(other$clientId)) {
					return false;
				}

				Object this$account = this.getAccount();
				Object other$account = other.getAccount();
				if (this$account == null) {
					if (other$account != null) {
						return false;
					}
				} else if (!this$account.equals(other$account)) {
					return false;
				}

				label134: {
					Object this$userName = this.getUserName();
					Object other$userName = other.getUserName();
					if (this$userName == null) {
						if (other$userName == null) {
							break label134;
						}
					} else if (this$userName.equals(other$userName)) {
						break label134;
					}

					return false;
				}

				label127: {
					Object this$nickName = this.getNickName();
					Object other$nickName = other.getNickName();
					if (this$nickName == null) {
						if (other$nickName == null) {
							break label127;
						}
					} else if (this$nickName.equals(other$nickName)) {
						break label127;
					}

					return false;
				}

				label120: {
					Object this$tenantId = this.getTenantId();
					Object other$tenantId = other.getTenantId();
					if (this$tenantId == null) {
						if (other$tenantId == null) {
							break label120;
						}
					} else if (this$tenantId.equals(other$tenantId)) {
						break label120;
					}

					return false;
				}

				Object this$oauthId = this.getOauthId();
				Object other$oauthId = other.getOauthId();
				if (this$oauthId == null) {
					if (other$oauthId != null) {
						return false;
					}
				} else if (!this$oauthId.equals(other$oauthId)) {
					return false;
				}

				label106: {
					Object this$deptId = this.getDeptId();
					Object other$deptId = other.getDeptId();
					if (this$deptId == null) {
						if (other$deptId == null) {
							break label106;
						}
					} else if (this$deptId.equals(other$deptId)) {
						break label106;
					}

					return false;
				}

				Object this$postId = this.getPostId();
				Object other$postId = other.getPostId();
				if (this$postId == null) {
					if (other$postId != null) {
						return false;
					}
				} else if (!this$postId.equals(other$postId)) {
					return false;
				}

				label92: {
					Object this$roleId = this.getRoleId();
					Object other$roleId = other.getRoleId();
					if (this$roleId == null) {
						if (other$roleId == null) {
							break label92;
						}
					} else if (this$roleId.equals(other$roleId)) {
						break label92;
					}

					return false;
				}

				Object this$roleName = this.getRoleName();
				Object other$roleName = other.getRoleName();
				if (this$roleName == null) {
					if (other$roleName != null) {
						return false;
					}
				} else if (!this$roleName.equals(other$roleName)) {
					return false;
				}

				Object this$detail = this.getDetail();
				Object other$detail = other.getDetail();
				if (this$detail == null) {
					if (other$detail != null) {
						return false;
					}
				} else if (!this$detail.equals(other$detail)) {
					return false;
				}
				Object this$userCategory = this.getDetail();
				Object other$userCategory = other.getDetail();
				if (this$userCategory == null) {
					if (other$userCategory != null) {
						return false;
					}
				} else if (!this$userCategory.equals(other$userCategory)) {
					return false;
				}

				Object this$factoryId = this.getFactoryId();
				Object other$factoryId = other.getFactoryId();
				if (this$factoryId == null) {
					if (other$factoryId != null) {
						return false;
					}
				} else if (!this$factoryId.equals(other$factoryId)) {
					return false;
				}

				return true;
			}
		}
	}

	protected boolean canEqual(final Object other) {
		return other instanceof BladeUser;
	}

	public int hashCode() {
		int result = 1;
		Object $userId = this.getUserId();
		result = result * 59 + ($userId == null ? 43 : $userId.hashCode());
		Object $clientId = this.getClientId();
		result = result * 59 + ($clientId == null ? 43 : $clientId.hashCode());
		Object $account = this.getAccount();
		result = result * 59 + ($account == null ? 43 : $account.hashCode());
		Object $userName = this.getUserName();
		result = result * 59 + ($userName == null ? 43 : $userName.hashCode());
		Object $nickName = this.getNickName();
		result = result * 59 + ($nickName == null ? 43 : $nickName.hashCode());
		Object $tenantId = this.getTenantId();
		result = result * 59 + ($tenantId == null ? 43 : $tenantId.hashCode());
		Object $oauthId = this.getOauthId();
		result = result * 59 + ($oauthId == null ? 43 : $oauthId.hashCode());
		Object $deptId = this.getDeptId();
		result = result * 59 + ($deptId == null ? 43 : $deptId.hashCode());
		Object $postId = this.getPostId();
		result = result * 59 + ($postId == null ? 43 : $postId.hashCode());
		Object $roleId = this.getRoleId();
		result = result * 59 + ($roleId == null ? 43 : $roleId.hashCode());
		Object $roleName = this.getRoleName();
		result = result * 59 + ($roleName == null ? 43 : $roleName.hashCode());
		Object $detail = this.getDetail();
		result = result * 59 + ($detail == null ? 43 : $detail.hashCode());
		Object $userCategory = this.getUserCategory();
		result = result * 59 + ($userCategory == null ? 43 : $userCategory.hashCode());
		Object $factoryId = this.getFactoryId();
		result = result * 59 + ($factoryId == null ? 43 : $factoryId.hashCode());
		return result;
	}

	public String toString() {
		return "BladeUser(clientId=" + this.getClientId() + ", userId=" + this.getUserId() + ", account=" + this.getAccount() + ", userName=" + this.getUserName() + ", nickName=" + this.getNickName() + ", tenantId=" + this.getTenantId() + ", oauthId=" + this.getOauthId() + ", deptId=" + this.getDeptId() + ", postId=" + this.getPostId() + ", roleId=" + this.getRoleId() + ", roleName=" + this.getRoleName() + ", detail=" + this.getDetail() + ")";
	}
}
