package com.ssm.manage.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.persistence.*;

@Table(name = "base_store")
public class BaseStore implements Serializable {
//    public String getAscription() {
//        return ascription;
//    }
//
//    public void setAscription(String ascription) {
//        this.ascription = ascription;
//    }
//
//    private String ascription;
    /**
     * 主键ID
     */

    @Id
    private Long id;

    /**
     * 门店编码
     */
    @Column(name = "store_num")
    private String storeNum;

    /**
     * 门店名称
     */
    @Column(name = "store_name")
    private String storeName;

    /**
     * 省份编码
     */
    @Column(name = "province_id")
    private Integer provinceId;

    /**
     * 省
     */
    private String province;

    /**
     * 城市编码
     */
    @Column(name = "city_id")
    private Integer cityId;

    /**
     * 市
     */
    private String city;

    /**
     * 区县编码
     */
    @Column(name = "county_id")
    private Integer countyId;

    /**
     * 区/县
     */
    private String county;

    /**
     * 街道
     */
    private String street;

    /**
     * 地址
     */
    @Column(name = "store_address")
    private String storeAddress;

    /**
     * 经度
     */
    @Column(name = "location_longitude")
    private String locationLongitude;

    /**
     * 纬度
     */
    @Column(name = "location_latitude")
    private String locationLatitude;

    /**
     * 服务电话
     */
    private String telephone;

    /**
     * 注册人
     */
    private String registrant;

    /**
     * 注册人手机
     */
    @Column(name = "registrant_mobile_phone")
    private String registrantMobilePhone;

    /**
     * 收款账号
     */
    @Column(name = "account_number")
    private String accountNumber;

    /**
     * 状态（1：审核(可使用状态)，0：注册 2:停用 3:审核失败）
     */
    private Integer state;

    /**
     * 审核人（来源于用户表，用户名称（用户编码））
     */
    private String reviewer;

    /**
     * 审核时间
     */
    @Column(name = "reviewer_datetime")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date reviewerDatetime;

    /**
     * 审核文件名
     */
    @Column(name = "reviewer_file")
    private String reviewerFile;

    /**
     * 审核文件路径
     */
    @Column(name = "reviewer_file_path")
    private String reviewerFilePath;

    /**
     * 开通时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Column(name = "opening_date")
    private Date openingDate;

    /**
     * 缴费年限
     */
    @Column(name = "opening_year")
    private Integer openingYear;

    /**
     * 开通结束日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Column(name = "end_date")
    private Date endDate;

    /**
     * 年费
     */
    @Column(name = "annual_fee")
    private BigDecimal annualFee;

    /**
     * 预设登录密码
     */
    @Column(name = "presuppose_password")
    private String presupposePassword;

    /**
     * 注册人身份证号
     */
    @Column(name = "registrant_identity")
    private String registrantIdentity;

    /**
     * 注册人性别：1：男；0：女
     */
    @Column(name = "registrant_sex")
    private Integer registrantSex;

    /**
     * 创建者ID
     */
    @Column(name = "funder_id")
    private Long funderId;

    /**
     * 创建者名称
     */
    @Column(name = "funder_name")
    private String funderName;

    /**
     * 创建时间
     */
    @Column(name = "funder_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date funderDate;

    /**
     * 修改者ID
     */
    @Column(name = "updated_id")
    private Long updatedId;

    /**
     * 修改者名称
     */
    @Column(name = "updated_name")
    private String updatedName;

    /**
     * 修改时间
     */
    @Column(name = "updated_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date updatedDate;

    /**
     * 短信账户
     */
    @Column(name = "sms_account")
    private String smsAccount;

    /**
     * 短信密码
     */
    @Column(name = "sms_password")
    private String smsPassword;

    /**
     * 短信发送地址
     */
    @Column(name = "sms_url")
    private String smsUrl;

    /**
     * 行业:0:美容/1:美发/2:美容美发/3:高尔夫
     */
    private Integer industry;

    /**
     * 总店ID
     */
    @Column(name = "parent_id")
    private Long parentId;

    /**
     * 描述
     */
    private String description;

    /**
     * 审核失败原因
     */
    private String reason;

    /**
     * 通用支付密码(总店使用)
     */
    @Column(name = "payment_code")
    private String paymentCode;

    @Column(name = "messaging_platform")
    private Integer messagingPlatform;
    @Column(name = "sign_id")
    private String signId;


    private static final long serialVersionUID = 1L;

    /**
     * 登录门店是否需要动态密码登录（0否，1是）
     */
    @Column(name = "dynamic_check_psw")
    private Integer dynamicCheckPsw;

    /**
     * 门店动态密码接收手机号
     */
    @Column(name = "dynamic_psw_phone")
    private String dynamicPswPhone;

    /**
     * 动态密码有效时长
     */
    @Column(name = "dynamic_get_msm")
    private Integer dynamicGetMsm;

    public Integer getDynamicCheckPsw() {
        return dynamicCheckPsw;
    }

    public void setDynamicCheckPsw(Integer dynamicCheckPsw) {
        this.dynamicCheckPsw = dynamicCheckPsw;
    }

    public String getDynamicPswPhone() {
        return dynamicPswPhone;
    }

    public void setDynamicPswPhone(String dynamicPswPhone) {
        this.dynamicPswPhone = dynamicPswPhone;
    }

    public Integer getDynamicGetMsm() {
        return dynamicGetMsm;
    }

    public void setDynamicGetMsm(Integer dynamicGetMsm) {
        this.dynamicGetMsm = dynamicGetMsm;
    }

    /**
     * 获取主键ID
     *
     * @return id - 主键ID
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键ID
     *
     * @param id 主键ID
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取门店编码
     *
     * @return store_num - 门店编码
     */
    public String getStoreNum() {
        return storeNum;
    }

    /**
     * 设置门店编码
     *
     * @param storeNum 门店编码
     */
    public void setStoreNum(String storeNum) {
        this.storeNum = storeNum;
    }

    /**
     * 获取门店名称
     *
     * @return store_name - 门店名称
     */
    public String getStoreName() {
        return storeName;
    }

    /**
     * 设置门店名称
     *
     * @param storeName 门店名称
     */
    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    /**
     * 获取省份编码
     *
     * @return province_id - 省份编码
     */
    public Integer getProvinceId() {
        return provinceId;
    }

    /**
     * 设置省份编码
     *
     * @param provinceId 省份编码
     */
    public void setProvinceId(Integer provinceId) {
        this.provinceId = provinceId;
    }

    /**
     * 获取省
     *
     * @return province - 省
     */
    public String getProvince() {
        return province;
    }

    /**
     * 设置省
     *
     * @param province 省
     */
    public void setProvince(String province) {
        this.province = province;
    }

    /**
     * 获取城市编码
     *
     * @return city_id - 城市编码
     */
    public Integer getCityId() {
        return cityId;
    }

    /**
     * 设置城市编码
     *
     * @param cityId 城市编码
     */
    public void setCityId(Integer cityId) {
        this.cityId = cityId;
    }

    /**
     * 获取市
     *
     * @return city - 市
     */
    public String getCity() {
        return city;
    }

    /**
     * 设置市
     *
     * @param city 市
     */
    public void setCity(String city) {
        this.city = city;
    }

    /**
     * 获取区县编码
     *
     * @return county_id - 区县编码
     */
    public Integer getCountyId() {
        return countyId;
    }

    /**
     * 设置区县编码
     *
     * @param countyId 区县编码
     */
    public void setCountyId(Integer countyId) {
        this.countyId = countyId;
    }

    /**
     * 获取区/县
     *
     * @return county - 区/县
     */
    public String getCounty() {
        return county;
    }

    /**
     * 设置区/县
     *
     * @param county 区/县
     */
    public void setCounty(String county) {
        this.county = county;
    }

    /**
     * 获取街道
     *
     * @return street - 街道
     */
    public String getStreet() {
        return street;
    }

    /**
     * 设置街道
     *
     * @param street 街道
     */
    public void setStreet(String street) {
        this.street = street;
    }

    /**
     * 获取地址
     *
     * @return store_address - 地址
     */
    public String getStoreAddress() {
        return storeAddress;
    }

    /**
     * 设置地址
     *
     * @param storeAddress 地址
     */
    public void setStoreAddress(String storeAddress) {
        this.storeAddress = storeAddress;
    }

    /**
     * 获取经度
     *
     * @return location_longitude - 经度
     */
    public String getLocationLongitude() {
        return locationLongitude;
    }

    /**
     * 设置经度
     *
     * @param locationLongitude 经度
     */
    public void setLocationLongitude(String locationLongitude) {
        this.locationLongitude = locationLongitude;
    }

    /**
     * 获取纬度
     *
     * @return location_latitude - 纬度
     */
    public String getLocationLatitude() {
        return locationLatitude;
    }

    /**
     * 设置纬度
     *
     * @param locationLatitude 纬度
     */
    public void setLocationLatitude(String locationLatitude) {
        this.locationLatitude = locationLatitude;
    }

    /**
     * 获取服务电话
     *
     * @return telephone - 服务电话
     */
    public String getTelephone() {
        return telephone;
    }

    /**
     * 设置服务电话
     *
     * @param telephone 服务电话
     */
    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    /**
     * 获取注册人
     *
     * @return registrant - 注册人
     */
    public String getRegistrant() {
        return registrant;
    }

    /**
     * 设置注册人
     *
     * @param registrant 注册人
     */
    public void setRegistrant(String registrant) {
        this.registrant = registrant;
    }

    /**
     * 获取注册人手机
     *
     * @return registrant_mobile_phone - 注册人手机
     */
    public String getRegistrantMobilePhone() {
        return registrantMobilePhone;
    }

    /**
     * 设置注册人手机
     *
     * @param registrantMobilePhone 注册人手机
     */
    public void setRegistrantMobilePhone(String registrantMobilePhone) {
        this.registrantMobilePhone = registrantMobilePhone;
    }

    /**
     * 获取收款账号
     *
     * @return account_number - 收款账号
     */
    public String getAccountNumber() {
        return accountNumber;
    }

    /**
     * 设置收款账号
     *
     * @param accountNumber 收款账号
     */
    public void setAccountNumber(String accountNumber) {
        this.accountNumber = accountNumber;
    }

    /**
     * 获取状态（1：审核(可使用状态)，0：注册 2:停用 3:审核失败）
     *
     * @return state - 状态（1：审核(可使用状态)，0：注册 2:停用 3:审核失败）
     */
    public Integer getState() {
        return state;
    }

    /**
     * 设置状态（1：审核(可使用状态)，0：注册 2:停用 3:审核失败）
     *
     * @param state 状态（1：审核(可使用状态)，0：注册 2:停用 3:审核失败）
     */
    public void setState(Integer state) {
        this.state = state;
    }

    /**
     * 获取审核人（来源于用户表，用户名称（用户编码））
     *
     * @return reviewer - 审核人（来源于用户表，用户名称（用户编码））
     */
    public String getReviewer() {
        return reviewer;
    }

    /**
     * 设置审核人（来源于用户表，用户名称（用户编码））
     *
     * @param reviewer 审核人（来源于用户表，用户名称（用户编码））
     */
    public void setReviewer(String reviewer) {
        this.reviewer = reviewer;
    }

    /**
     * 获取审核时间
     *
     * @return reviewer_datetime - 审核时间
     */
    public Date getReviewerDatetime() {
        return reviewerDatetime;
    }

    /**
     * 设置审核时间
     *
     * @param reviewerDatetime 审核时间
     */
    public void setReviewerDatetime(Date reviewerDatetime) {
        this.reviewerDatetime = reviewerDatetime;
    }

    /**
     * 获取审核文件名
     *
     * @return reviewer_file - 审核文件名
     */
    public String getReviewerFile() {
        return reviewerFile;
    }

    /**
     * 设置审核文件名
     *
     * @param reviewerFile 审核文件名
     */
    public void setReviewerFile(String reviewerFile) {
        this.reviewerFile = reviewerFile;
    }

    /**
     * 获取审核文件路径
     *
     * @return reviewer_file_path - 审核文件路径
     */
    public String getReviewerFilePath() {
        return reviewerFilePath;
    }

    /**
     * 设置审核文件路径
     *
     * @param reviewerFilePath 审核文件路径
     */
    public void setReviewerFilePath(String reviewerFilePath) {
        this.reviewerFilePath = reviewerFilePath;
    }

    /**
     * 获取开通时间
     *
     * @return opening_date - 开通时间
     */
    public Date getOpeningDate() {
        return openingDate;
    }

    /**
     * 设置开通时间
     *
     * @param openingDate 开通时间
     */
    public void setOpeningDate(Date openingDate) {
        this.openingDate = openingDate;
    }

    /**
     * 获取缴费年限
     *
     * @return opening_year - 缴费年限
     */
    public Integer getOpeningYear() {
        return openingYear;
    }

    /**
     * 设置缴费年限
     *
     * @param openingYear 缴费年限
     */
    public void setOpeningYear(Integer openingYear) {
        this.openingYear = openingYear;
    }

    /**
     * 获取开通结束日期
     *
     * @return end_date - 开通结束日期
     */
    public Date getEndDate() {
        return endDate;
    }

    /**
     * 设置开通结束日期
     *
     * @param endDate 开通结束日期
     */
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    /**
     * 获取年费
     *
     * @return annual_fee - 年费
     */
    public BigDecimal getAnnualFee() {
        return annualFee;
    }

    /**
     * 设置年费
     *
     * @param annualFee 年费
     */
    public void setAnnualFee(BigDecimal annualFee) {
        this.annualFee = annualFee;
    }

    /**
     * 获取预设登录密码
     *
     * @return presuppose_password - 预设登录密码
     */
    public String getPresupposePassword() {
        return presupposePassword;
    }

    /**
     * 设置预设登录密码
     *
     * @param presupposePassword 预设登录密码
     */
    public void setPresupposePassword(String presupposePassword) {
        this.presupposePassword = presupposePassword;
    }

    /**
     * 获取注册人身份证号
     *
     * @return registrant_identity - 注册人身份证号
     */
    public String getRegistrantIdentity() {
        return registrantIdentity;
    }

    /**
     * 设置注册人身份证号
     *
     * @param registrantIdentity 注册人身份证号
     */
    public void setRegistrantIdentity(String registrantIdentity) {
        this.registrantIdentity = registrantIdentity;
    }

    /**
     * 获取注册人性别：1：男；0：女
     *
     * @return registrant_sex - 注册人性别：1：男；0：女
     */
    public Integer getRegistrantSex() {
        return registrantSex;
    }

    /**
     * 设置注册人性别：1：男；0：女
     *
     * @param registrantSex 注册人性别：1：男；0：女
     */
    public void setRegistrantSex(Integer registrantSex) {
        this.registrantSex = registrantSex;
    }

    /**
     * 获取创建者ID
     *
     * @return funder_id - 创建者ID
     */
    public Long getFunderId() {
        return funderId;
    }

    /**
     * 设置创建者ID
     *
     * @param funderId 创建者ID
     */
    public void setFunderId(Long funderId) {
        this.funderId = funderId;
    }

    /**
     * 获取创建者名称
     *
     * @return funder_name - 创建者名称
     */
    public String getFunderName() {
        return funderName;
    }

    /**
     * 设置创建者名称
     *
     * @param funderName 创建者名称
     */
    public void setFunderName(String funderName) {
        this.funderName = funderName;
    }

    /**
     * 获取创建时间
     *
     * @return funder_date - 创建时间
     */
    public Date getFunderDate() {
        return funderDate;
    }

    /**
     * 设置创建时间
     *
     * @param funderDate 创建时间
     */
    public void setFunderDate(Date funderDate) {
        this.funderDate = funderDate;
    }

    /**
     * 获取修改者ID
     *
     * @return updated_id - 修改者ID
     */
    public Long getUpdatedId() {
        return updatedId;
    }

    /**
     * 设置修改者ID
     *
     * @param updatedId 修改者ID
     */
    public void setUpdatedId(Long updatedId) {
        this.updatedId = updatedId;
    }

    /**
     * 获取修改者名称
     *
     * @return updated_name - 修改者名称
     */
    public String getUpdatedName() {
        return updatedName;
    }

    /**
     * 设置修改者名称
     *
     * @param updatedName 修改者名称
     */
    public void setUpdatedName(String updatedName) {
        this.updatedName = updatedName;
    }

    /**
     * 获取修改时间
     *
     * @return updated_date - 修改时间
     */
    public Date getUpdatedDate() {
        return updatedDate;
    }

    /**
     * 设置修改时间
     *
     * @param updatedDate 修改时间
     */
    public void setUpdatedDate(Date updatedDate) {
        this.updatedDate = updatedDate;
    }

    /**
     * 获取短信账户
     *
     * @return sms_account - 短信账户
     */
    public String getSmsAccount() {
        return smsAccount;
    }

    /**
     * 设置短信账户
     *
     * @param smsAccount 短信账户
     */
    public void setSmsAccount(String smsAccount) {
        this.smsAccount = smsAccount;
    }

    /**
     * 获取短信密码
     *
     * @return sms_password - 短信密码
     */
    public String getSmsPassword() {
        return smsPassword;
    }

    /**
     * 设置短信密码
     *
     * @param smsPassword 短信密码
     */
    public void setSmsPassword(String smsPassword) {
        this.smsPassword = smsPassword;
    }

    /**
     * 获取短信发送地址
     *
     * @return sms_url - 短信发送地址
     */
    public String getSmsUrl() {
        return smsUrl;
    }

    /**
     * 设置短信发送地址
     *
     * @param smsUrl 短信发送地址
     */
    public void setSmsUrl(String smsUrl) {
        this.smsUrl = smsUrl;
    }

    /**
     * 获取行业:0:美容/1:美发/2:美容美发/3:高尔夫
     *
     * @return industry - 行业:0:美容/1:美发/2:美容美发/3:高尔夫
     */
    public Integer getIndustry() {
        return industry;
    }

    /**
     * 设置行业:0:美容/1:美发/2:美容美发/3:高尔夫
     *
     * @param industry 行业:0:美容/1:美发/2:美容美发/3:高尔夫
     */
    public void setIndustry(Integer industry) {
        this.industry = industry;
    }

    /**
     * 获取总店ID
     *
     * @return parent_id - 总店ID
     */
    public Long getParentId() {
        return parentId;
    }

    /**
     * 设置总店ID
     *
     * @param parentId 总店ID
     */
    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    /**
     * 获取描述
     *
     * @return description - 描述
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置描述
     *
     * @param description 描述
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 获取审核失败原因
     *
     * @return reason - 审核失败原因
     */
    public String getReason() {
        return reason;
    }

    public Integer getMessagingPlatform() {
        return messagingPlatform;
    }

    public void setMessagingPlatform(Integer messagingPlatform) {
        this.messagingPlatform = messagingPlatform;
    }

    public String getSignId() {
        return signId;
    }

    public void setSignId(String signId) {
        this.signId = signId;
    }

    /**
     * 设置审核失败原因
     *
     * @param reason 审核失败原因
     */
    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getPaymentCode() {
        return paymentCode;
    }

    public void setPaymentCode(String paymentCode) {
        this.paymentCode = paymentCode;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        BaseStore other = (BaseStore) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getStoreNum() == null ? other.getStoreNum() == null : this.getStoreNum().equals(other.getStoreNum()))
            && (this.getStoreName() == null ? other.getStoreName() == null : this.getStoreName().equals(other.getStoreName()))
            && (this.getProvinceId() == null ? other.getProvinceId() == null : this.getProvinceId().equals(other.getProvinceId()))
            && (this.getProvince() == null ? other.getProvince() == null : this.getProvince().equals(other.getProvince()))
            && (this.getCityId() == null ? other.getCityId() == null : this.getCityId().equals(other.getCityId()))
            && (this.getCity() == null ? other.getCity() == null : this.getCity().equals(other.getCity()))
            && (this.getCountyId() == null ? other.getCountyId() == null : this.getCountyId().equals(other.getCountyId()))
            && (this.getCounty() == null ? other.getCounty() == null : this.getCounty().equals(other.getCounty()))
            && (this.getStreet() == null ? other.getStreet() == null : this.getStreet().equals(other.getStreet()))
            && (this.getStoreAddress() == null ? other.getStoreAddress() == null : this.getStoreAddress().equals(other.getStoreAddress()))
            && (this.getLocationLongitude() == null ? other.getLocationLongitude() == null : this.getLocationLongitude().equals(other.getLocationLongitude()))
            && (this.getLocationLatitude() == null ? other.getLocationLatitude() == null : this.getLocationLatitude().equals(other.getLocationLatitude()))
            && (this.getTelephone() == null ? other.getTelephone() == null : this.getTelephone().equals(other.getTelephone()))
            && (this.getRegistrant() == null ? other.getRegistrant() == null : this.getRegistrant().equals(other.getRegistrant()))
            && (this.getRegistrantMobilePhone() == null ? other.getRegistrantMobilePhone() == null : this.getRegistrantMobilePhone().equals(other.getRegistrantMobilePhone()))
            && (this.getAccountNumber() == null ? other.getAccountNumber() == null : this.getAccountNumber().equals(other.getAccountNumber()))
            && (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState()))
            && (this.getReviewer() == null ? other.getReviewer() == null : this.getReviewer().equals(other.getReviewer()))
            && (this.getReviewerDatetime() == null ? other.getReviewerDatetime() == null : this.getReviewerDatetime().equals(other.getReviewerDatetime()))
            && (this.getReviewerFile() == null ? other.getReviewerFile() == null : this.getReviewerFile().equals(other.getReviewerFile()))
            && (this.getReviewerFilePath() == null ? other.getReviewerFilePath() == null : this.getReviewerFilePath().equals(other.getReviewerFilePath()))
            && (this.getOpeningDate() == null ? other.getOpeningDate() == null : this.getOpeningDate().equals(other.getOpeningDate()))
            && (this.getOpeningYear() == null ? other.getOpeningYear() == null : this.getOpeningYear().equals(other.getOpeningYear()))
            && (this.getEndDate() == null ? other.getEndDate() == null : this.getEndDate().equals(other.getEndDate()))
            && (this.getAnnualFee() == null ? other.getAnnualFee() == null : this.getAnnualFee().equals(other.getAnnualFee()))
            && (this.getPresupposePassword() == null ? other.getPresupposePassword() == null : this.getPresupposePassword().equals(other.getPresupposePassword()))
            && (this.getRegistrantIdentity() == null ? other.getRegistrantIdentity() == null : this.getRegistrantIdentity().equals(other.getRegistrantIdentity()))
            && (this.getRegistrantSex() == null ? other.getRegistrantSex() == null : this.getRegistrantSex().equals(other.getRegistrantSex()))
            && (this.getFunderId() == null ? other.getFunderId() == null : this.getFunderId().equals(other.getFunderId()))
            && (this.getFunderName() == null ? other.getFunderName() == null : this.getFunderName().equals(other.getFunderName()))
            && (this.getFunderDate() == null ? other.getFunderDate() == null : this.getFunderDate().equals(other.getFunderDate()))
            && (this.getUpdatedId() == null ? other.getUpdatedId() == null : this.getUpdatedId().equals(other.getUpdatedId()))
            && (this.getUpdatedName() == null ? other.getUpdatedName() == null : this.getUpdatedName().equals(other.getUpdatedName()))
            && (this.getUpdatedDate() == null ? other.getUpdatedDate() == null : this.getUpdatedDate().equals(other.getUpdatedDate()))
            && (this.getSmsAccount() == null ? other.getSmsAccount() == null : this.getSmsAccount().equals(other.getSmsAccount()))
            && (this.getSmsPassword() == null ? other.getSmsPassword() == null : this.getSmsPassword().equals(other.getSmsPassword()))
            && (this.getSmsUrl() == null ? other.getSmsUrl() == null : this.getSmsUrl().equals(other.getSmsUrl()))
            && (this.getIndustry() == null ? other.getIndustry() == null : this.getIndustry().equals(other.getIndustry()))
            && (this.getParentId() == null ? other.getParentId() == null : this.getParentId().equals(other.getParentId()))
            && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()))
            && (this.getPaymentCode() == null ? other.getPaymentCode() == null : this.getPaymentCode().equals(other.getPaymentCode()))
            && (this.getReason() == null ? other.getReason() == null : this.getReason().equals(other.getReason()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getStoreNum() == null) ? 0 : getStoreNum().hashCode());
        result = prime * result + ((getStoreName() == null) ? 0 : getStoreName().hashCode());
        result = prime * result + ((getProvinceId() == null) ? 0 : getProvinceId().hashCode());
        result = prime * result + ((getProvince() == null) ? 0 : getProvince().hashCode());
        result = prime * result + ((getCityId() == null) ? 0 : getCityId().hashCode());
        result = prime * result + ((getCity() == null) ? 0 : getCity().hashCode());
        result = prime * result + ((getCountyId() == null) ? 0 : getCountyId().hashCode());
        result = prime * result + ((getCounty() == null) ? 0 : getCounty().hashCode());
        result = prime * result + ((getStreet() == null) ? 0 : getStreet().hashCode());
        result = prime * result + ((getStoreAddress() == null) ? 0 : getStoreAddress().hashCode());
        result = prime * result + ((getLocationLongitude() == null) ? 0 : getLocationLongitude().hashCode());
        result = prime * result + ((getLocationLatitude() == null) ? 0 : getLocationLatitude().hashCode());
        result = prime * result + ((getTelephone() == null) ? 0 : getTelephone().hashCode());
        result = prime * result + ((getRegistrant() == null) ? 0 : getRegistrant().hashCode());
        result = prime * result + ((getRegistrantMobilePhone() == null) ? 0 : getRegistrantMobilePhone().hashCode());
        result = prime * result + ((getAccountNumber() == null) ? 0 : getAccountNumber().hashCode());
        result = prime * result + ((getState() == null) ? 0 : getState().hashCode());
        result = prime * result + ((getReviewer() == null) ? 0 : getReviewer().hashCode());
        result = prime * result + ((getReviewerDatetime() == null) ? 0 : getReviewerDatetime().hashCode());
        result = prime * result + ((getReviewerFile() == null) ? 0 : getReviewerFile().hashCode());
        result = prime * result + ((getReviewerFilePath() == null) ? 0 : getReviewerFilePath().hashCode());
        result = prime * result + ((getOpeningDate() == null) ? 0 : getOpeningDate().hashCode());
        result = prime * result + ((getOpeningYear() == null) ? 0 : getOpeningYear().hashCode());
        result = prime * result + ((getEndDate() == null) ? 0 : getEndDate().hashCode());
        result = prime * result + ((getAnnualFee() == null) ? 0 : getAnnualFee().hashCode());
        result = prime * result + ((getPresupposePassword() == null) ? 0 : getPresupposePassword().hashCode());
        result = prime * result + ((getRegistrantIdentity() == null) ? 0 : getRegistrantIdentity().hashCode());
        result = prime * result + ((getRegistrantSex() == null) ? 0 : getRegistrantSex().hashCode());
        result = prime * result + ((getFunderId() == null) ? 0 : getFunderId().hashCode());
        result = prime * result + ((getFunderName() == null) ? 0 : getFunderName().hashCode());
        result = prime * result + ((getFunderDate() == null) ? 0 : getFunderDate().hashCode());
        result = prime * result + ((getUpdatedId() == null) ? 0 : getUpdatedId().hashCode());
        result = prime * result + ((getUpdatedName() == null) ? 0 : getUpdatedName().hashCode());
        result = prime * result + ((getUpdatedDate() == null) ? 0 : getUpdatedDate().hashCode());
        result = prime * result + ((getSmsAccount() == null) ? 0 : getSmsAccount().hashCode());
        result = prime * result + ((getSmsPassword() == null) ? 0 : getSmsPassword().hashCode());
        result = prime * result + ((getSmsUrl() == null) ? 0 : getSmsUrl().hashCode());
        result = prime * result + ((getIndustry() == null) ? 0 : getIndustry().hashCode());
        result = prime * result + ((getParentId() == null) ? 0 : getParentId().hashCode());
        result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
        result = prime * result + ((getPaymentCode() == null) ? 0 : getPaymentCode().hashCode());
        result = prime * result + ((getReason() == null) ? 0 : getReason().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", storeNum=").append(storeNum);
        sb.append(", storeName=").append(storeName);
        sb.append(", provinceId=").append(provinceId);
        sb.append(", province=").append(province);
        sb.append(", cityId=").append(cityId);
        sb.append(", city=").append(city);
        sb.append(", countyId=").append(countyId);
        sb.append(", county=").append(county);
        sb.append(", street=").append(street);
        sb.append(", storeAddress=").append(storeAddress);
        sb.append(", locationLongitude=").append(locationLongitude);
        sb.append(", locationLatitude=").append(locationLatitude);
        sb.append(", telephone=").append(telephone);
        sb.append(", registrant=").append(registrant);
        sb.append(", registrantMobilePhone=").append(registrantMobilePhone);
        sb.append(", accountNumber=").append(accountNumber);
        sb.append(", state=").append(state);
        sb.append(", reviewer=").append(reviewer);
        sb.append(", reviewerDatetime=").append(reviewerDatetime);
        sb.append(", reviewerFile=").append(reviewerFile);
        sb.append(", reviewerFilePath=").append(reviewerFilePath);
        sb.append(", openingDate=").append(openingDate);
        sb.append(", openingYear=").append(openingYear);
        sb.append(", endDate=").append(endDate);
        sb.append(", annualFee=").append(annualFee);
        sb.append(", presupposePassword=").append(presupposePassword);
        sb.append(", registrantIdentity=").append(registrantIdentity);
        sb.append(", registrantSex=").append(registrantSex);
        sb.append(", funderId=").append(funderId);
        sb.append(", funderName=").append(funderName);
        sb.append(", funderDate=").append(funderDate);
        sb.append(", updatedId=").append(updatedId);
        sb.append(", updatedName=").append(updatedName);
        sb.append(", updatedDate=").append(updatedDate);
        sb.append(", smsAccount=").append(smsAccount);
        sb.append(", smsPassword=").append(smsPassword);
        sb.append(", smsUrl=").append(smsUrl);
        sb.append(", industry=").append(industry);
        sb.append(", parentId=").append(parentId);
        sb.append(", description=").append(description);
        sb.append(", reason=").append(reason);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append(", paymentCode=").append(paymentCode);
        sb.append("]");
        return sb.toString();
    }

}