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 javax.persistence.*;

@Table(name = "modify_course_record")
public class ModifyCourseRecord implements Serializable {
    /**
     * 主键ID
     */
    @Id
    private Long id;

    /**
     * 账户修改单据号
     */
    @Column(name = "doc_num")
    private String docNum;

    /**
     * 会员ID
     */
    @Column(name = "member_id")
    private Long memberId;

    /**
     * 会员名称
     */
    @Column(name = "member_name")
    private String memberName;

    /**
     * 会员卡
     */
    private String card;

    /**
     * 门店ID
     */
    @Column(name = "store_id")
    private Long storeId;

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

    /**
     * 开卡单号
     */
    @Column(name = "course_num")
    private String courseNum;

    /**
     * 开卡疗程ID
     */
    @Column(name = "course_project_id")
    private Long courseProjectId;

    /**
     * 开卡疗程名称
     */
    @Column(name = "course_project_name")
    private String courseProjectName;

    /**
     * 开卡疗程金额
     */
    @Column(name = "course_project_money")
    private BigDecimal courseProjectMoney;

    /**
     * 开卡疗程次数
     */
    @Column(name = "course_count")
    private Integer courseCount;

    /**
     * 开卡标准次数
     */
    @Column(name = "course_standard_count")
    private Integer courseStandardCount;

    /**
     * 开卡标准金额
     */
    @Column(name = "course_standard_money")
    private BigDecimal courseStandardMoney;

    /**
     * 最近消费时间
     */
    @Column(name = "last_consume_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastConsumeTime;

    /**
     * 开卡剩余次数
     */
    @Column(name = "course_rest_count")
    private Integer courseRestCount;

    /**
     * 开卡可用次数
     */
    @Column(name = "course_consume_count")
    private Integer courseConsumeCount;

    /**
     * 账户类型0:疗程/1:促销/2:促销赠品
     */
    @Column(name = "course_type")
    private String courseType;

    /**
     * 0:锁定/1:正常
     */
    private Integer state;

    /**
     * 账户到期时间
     */
    @Column(name = "end_time")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

    /**
     * 修改人名称
     */
    @Column(name = "update_by")
    private String updateBy;

    /**
     * 修改人ID
     */
    @Column(name = "update_id")
    private Long updateId;

    /**
     * 修改时间
     */
    @Column(name = "update_time")
    private Date updateTime;

    /**
     * 账户ID
     */
    @Column(name = "account_id")
    private Long accountId;

    /**
     * 账户修改人名称
     */
    @Column(name = "modify_by")
    private String modifyBy;

    /**
     * 账户修改人ID
     */
    @Column(name = "modify_id")
    private Long modifyId;

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

    /**
     * 新会员ID
     */
    @Column(name = "member_id_new")
    private Long memberIdNew;

    /**
     * 新会员名称
     */
    @Column(name = "member_name_new")
    private String memberNameNew;

    /**
     * 新会员卡
     */
    @Column(name = "card_new")
    private String cardNew;

    /**
     * 新门店ID
     */
    @Column(name = "store_id_new")
    private Long storeIdNew;

    /**
     * 新门店名称
     */
    @Column(name = "store_name_new")
    private String storeNameNew;

    /**
     * 新开卡单号
     */
    @Column(name = "course_num_new")
    private String courseNumNew;

    /**
     * 新开卡疗程ID
     */
    @Column(name = "course_project_id_new")
    private Long courseProjectIdNew;

    /**
     * 新开卡疗程名称
     */
    @Column(name = "course_project_name_new")
    private String courseProjectNameNew;

    /**
     * 新开卡疗程金额
     */
    @Column(name = "course_project_money_new")
    private BigDecimal courseProjectMoneyNew;

    /**
     * 新开卡疗程次数
     */
    @Column(name = "course_count_new")
    private Integer courseCountNew;

    /**
     * 新开卡标准次数
     */
    @Column(name = "course_standard_count_new")
    private Integer courseStandardCountNew;

    /**
     * 新开卡标准金额
     */
    @Column(name = "course_standard_money_new")
    private BigDecimal courseStandardMoneyNew;

    /**
     * 新最近消费时间
     */
    @Column(name = "last_consume_time_new")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastConsumeTimeNew;

    /**
     * 新开卡剩余次数
     */
    @Column(name = "course_rest_count_new")
    private Integer courseRestCountNew;

    /**
     * 新开卡可用次数
     */
    @Column(name = "course_consume_count_new")
    private Integer courseConsumeCountNew;

    /**
     * 新账户类型0:疗程/1:促销/2:促销赠品
     */
    @Column(name = "course_type_new")
    private String courseTypeNew;

    /**
     * 新0:锁定/1:正常
     */
    @Column(name = "state_new")
    private Integer stateNew;

    /**
     * 新账户到期时间
     */
    @Column(name = "end_time_new")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTimeNew;

    /**
     * 新修改人名称
     */
    @Column(name = "update_by_new")
    private String updateByNew;

    /**
     * 新修改人ID
     */
    @Column(name = "update_id_new")
    private Long updateIdNew;

    /**
     * 新修改时间
     */
    @Column(name = "update_time_new")
    private Date updateTimeNew;

    /**
     * 新账户ID
     */
    @Column(name = "account_id_new")
    private Long accountIdNew;

    /**
     * 开卡剩余次数修改
     */
    @Column(name = "course_rest_count_modify")
    private Integer courseRestCountModify;

    /**
     * 开卡可用次数修改
     */
    @Column(name = "course_consume_count_modify")
    private Integer courseConsumeCountModify;

    /**
     * 修改说明
     */
    @Column(name = "explain_modify")
    private String explainModify;

    public String getExplainModify() {
        return explainModify;
    }

    public void setExplainModify(String explainModify) {
        this.explainModify = explainModify;
    }

    private static final long serialVersionUID = 1L;

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

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

    /**
     * 获取账户修改单据号
     *
     * @return doc_num - 账户修改单据号
     */
    public String getDocNum() {
        return docNum;
    }

    /**
     * 设置账户修改单据号
     *
     * @param docNum 账户修改单据号
     */
    public void setDocNum(String docNum) {
        this.docNum = docNum;
    }

    /**
     * 获取会员ID
     *
     * @return member_id - 会员ID
     */
    public Long getMemberId() {
        return memberId;
    }

    /**
     * 设置会员ID
     *
     * @param memberId 会员ID
     */
    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    /**
     * 获取会员名称
     *
     * @return member_name - 会员名称
     */
    public String getMemberName() {
        return memberName;
    }

    /**
     * 设置会员名称
     *
     * @param memberName 会员名称
     */
    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    /**
     * 获取会员卡
     *
     * @return card - 会员卡
     */
    public String getCard() {
        return card;
    }

    /**
     * 设置会员卡
     *
     * @param card 会员卡
     */
    public void setCard(String card) {
        this.card = card;
    }

    /**
     * 获取门店ID
     *
     * @return store_id - 门店ID
     */
    public Long getStoreId() {
        return storeId;
    }

    /**
     * 设置门店ID
     *
     * @param storeId 门店ID
     */
    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

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

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

    /**
     * 获取开卡单号
     *
     * @return course_num - 开卡单号
     */
    public String getCourseNum() {
        return courseNum;
    }

    /**
     * 设置开卡单号
     *
     * @param courseNum 开卡单号
     */
    public void setCourseNum(String courseNum) {
        this.courseNum = courseNum;
    }

    /**
     * 获取开卡疗程ID
     *
     * @return course_project_id - 开卡疗程ID
     */
    public Long getCourseProjectId() {
        return courseProjectId;
    }

    /**
     * 设置开卡疗程ID
     *
     * @param courseProjectId 开卡疗程ID
     */
    public void setCourseProjectId(Long courseProjectId) {
        this.courseProjectId = courseProjectId;
    }

    /**
     * 获取开卡疗程名称
     *
     * @return course_project_name - 开卡疗程名称
     */
    public String getCourseProjectName() {
        return courseProjectName;
    }

    /**
     * 设置开卡疗程名称
     *
     * @param courseProjectName 开卡疗程名称
     */
    public void setCourseProjectName(String courseProjectName) {
        this.courseProjectName = courseProjectName;
    }

    /**
     * 获取开卡疗程金额
     *
     * @return course_project_money - 开卡疗程金额
     */
    public BigDecimal getCourseProjectMoney() {
        return courseProjectMoney;
    }

    /**
     * 设置开卡疗程金额
     *
     * @param courseProjectMoney 开卡疗程金额
     */
    public void setCourseProjectMoney(BigDecimal courseProjectMoney) {
        this.courseProjectMoney = courseProjectMoney;
    }

    /**
     * 获取开卡疗程次数
     *
     * @return course_count - 开卡疗程次数
     */
    public Integer getCourseCount() {
        return courseCount;
    }

    /**
     * 设置开卡疗程次数
     *
     * @param courseCount 开卡疗程次数
     */
    public void setCourseCount(Integer courseCount) {
        this.courseCount = courseCount;
    }

    /**
     * 获取开卡标准次数
     *
     * @return course_standard_count - 开卡标准次数
     */
    public Integer getCourseStandardCount() {
        return courseStandardCount;
    }

    /**
     * 设置开卡标准次数
     *
     * @param courseStandardCount 开卡标准次数
     */
    public void setCourseStandardCount(Integer courseStandardCount) {
        this.courseStandardCount = courseStandardCount;
    }

    /**
     * 获取开卡标准金额
     *
     * @return course_standard_money - 开卡标准金额
     */
    public BigDecimal getCourseStandardMoney() {
        return courseStandardMoney;
    }

    /**
     * 设置开卡标准金额
     *
     * @param courseStandardMoney 开卡标准金额
     */
    public void setCourseStandardMoney(BigDecimal courseStandardMoney) {
        this.courseStandardMoney = courseStandardMoney;
    }

    /**
     * 获取最近消费时间
     *
     * @return last_consume_time - 最近消费时间
     */
    public Date getLastConsumeTime() {
        return lastConsumeTime;
    }

    /**
     * 设置最近消费时间
     *
     * @param lastConsumeTime 最近消费时间
     */
    public void setLastConsumeTime(Date lastConsumeTime) {
        this.lastConsumeTime = lastConsumeTime;
    }

    /**
     * 获取开卡剩余次数
     *
     * @return course_rest_count - 开卡剩余次数
     */
    public Integer getCourseRestCount() {
        return courseRestCount;
    }

    /**
     * 设置开卡剩余次数
     *
     * @param courseRestCount 开卡剩余次数
     */
    public void setCourseRestCount(Integer courseRestCount) {
        this.courseRestCount = courseRestCount;
    }

    /**
     * 获取开卡可用次数
     *
     * @return course_consume_count - 开卡可用次数
     */
    public Integer getCourseConsumeCount() {
        return courseConsumeCount;
    }

    /**
     * 设置开卡可用次数
     *
     * @param courseConsumeCount 开卡可用次数
     */
    public void setCourseConsumeCount(Integer courseConsumeCount) {
        this.courseConsumeCount = courseConsumeCount;
    }

    /**
     * 获取账户类型0:疗程/1:促销/2:促销赠品
     *
     * @return course_type - 账户类型0:疗程/1:促销/2:促销赠品
     */
    public String getCourseType() {
        return courseType;
    }

    /**
     * 设置账户类型0:疗程/1:促销/2:促销赠品
     *
     * @param courseType 账户类型0:疗程/1:促销/2:促销赠品
     */
    public void setCourseType(String courseType) {
        this.courseType = courseType;
    }

    /**
     * 获取0:锁定/1:正常
     *
     * @return state - 0:锁定/1:正常
     */
    public Integer getState() {
        return state;
    }

    /**
     * 设置0:锁定/1:正常
     *
     * @param state 0:锁定/1:正常
     */
    public void setState(Integer state) {
        this.state = state;
    }

    /**
     * 获取账户到期时间
     *
     * @return end_time - 账户到期时间
     */
    public Date getEndTime() {
        return endTime;
    }

    /**
     * 设置账户到期时间
     *
     * @param endTime 账户到期时间
     */
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    /**
     * 获取修改人名称
     *
     * @return update_by - 修改人名称
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置修改人名称
     *
     * @param updateBy 修改人名称
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取修改人ID
     *
     * @return update_id - 修改人ID
     */
    public Long getUpdateId() {
        return updateId;
    }

    /**
     * 设置修改人ID
     *
     * @param updateId 修改人ID
     */
    public void setUpdateId(Long updateId) {
        this.updateId = updateId;
    }

    /**
     * 获取修改时间
     *
     * @return update_time - 修改时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

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

    /**
     * 获取账户ID
     *
     * @return account_id - 账户ID
     */
    public Long getAccountId() {
        return accountId;
    }

    /**
     * 设置账户ID
     *
     * @param accountId 账户ID
     */
    public void setAccountId(Long accountId) {
        this.accountId = accountId;
    }

    /**
     * 获取账户修改人名称
     *
     * @return modify_by - 账户修改人名称
     */
    public String getModifyBy() {
        return modifyBy;
    }

    /**
     * 设置账户修改人名称
     *
     * @param modifyBy 账户修改人名称
     */
    public void setModifyBy(String modifyBy) {
        this.modifyBy = modifyBy;
    }

    /**
     * 获取账户修改人ID
     *
     * @return modify_id - 账户修改人ID
     */
    public Long getModifyId() {
        return modifyId;
    }

    /**
     * 设置账户修改人ID
     *
     * @param modifyId 账户修改人ID
     */
    public void setModifyId(Long modifyId) {
        this.modifyId = modifyId;
    }

    /**
     * 获取账户修改时间
     *
     * @return modify_time - 账户修改时间
     */
    public Date getModifyTime() {
        return modifyTime;
    }

    /**
     * 设置账户修改时间
     *
     * @param modifyTime 账户修改时间
     */
    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    /**
     * 获取新会员ID
     *
     * @return member_id_new - 新会员ID
     */
    public Long getMemberIdNew() {
        return memberIdNew;
    }

    /**
     * 设置新会员ID
     *
     * @param memberIdNew 新会员ID
     */
    public void setMemberIdNew(Long memberIdNew) {
        this.memberIdNew = memberIdNew;
    }

    /**
     * 获取新会员名称
     *
     * @return member_name_new - 新会员名称
     */
    public String getMemberNameNew() {
        return memberNameNew;
    }

    /**
     * 设置新会员名称
     *
     * @param memberNameNew 新会员名称
     */
    public void setMemberNameNew(String memberNameNew) {
        this.memberNameNew = memberNameNew;
    }

    /**
     * 获取新会员卡
     *
     * @return card_new - 新会员卡
     */
    public String getCardNew() {
        return cardNew;
    }

    /**
     * 设置新会员卡
     *
     * @param cardNew 新会员卡
     */
    public void setCardNew(String cardNew) {
        this.cardNew = cardNew;
    }

    /**
     * 获取新门店ID
     *
     * @return store_id_new - 新门店ID
     */
    public Long getStoreIdNew() {
        return storeIdNew;
    }

    /**
     * 设置新门店ID
     *
     * @param storeIdNew 新门店ID
     */
    public void setStoreIdNew(Long storeIdNew) {
        this.storeIdNew = storeIdNew;
    }

    /**
     * 获取新门店名称
     *
     * @return store_name_new - 新门店名称
     */
    public String getStoreNameNew() {
        return storeNameNew;
    }

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

    /**
     * 获取新开卡单号
     *
     * @return course_num_new - 新开卡单号
     */
    public String getCourseNumNew() {
        return courseNumNew;
    }

    /**
     * 设置新开卡单号
     *
     * @param courseNumNew 新开卡单号
     */
    public void setCourseNumNew(String courseNumNew) {
        this.courseNumNew = courseNumNew;
    }

    /**
     * 获取新开卡疗程ID
     *
     * @return course_project_id_new - 新开卡疗程ID
     */
    public Long getCourseProjectIdNew() {
        return courseProjectIdNew;
    }

    /**
     * 设置新开卡疗程ID
     *
     * @param courseProjectIdNew 新开卡疗程ID
     */
    public void setCourseProjectIdNew(Long courseProjectIdNew) {
        this.courseProjectIdNew = courseProjectIdNew;
    }

    /**
     * 获取新开卡疗程名称
     *
     * @return course_project_name_new - 新开卡疗程名称
     */
    public String getCourseProjectNameNew() {
        return courseProjectNameNew;
    }

    /**
     * 设置新开卡疗程名称
     *
     * @param courseProjectNameNew 新开卡疗程名称
     */
    public void setCourseProjectNameNew(String courseProjectNameNew) {
        this.courseProjectNameNew = courseProjectNameNew;
    }

    /**
     * 获取新开卡疗程金额
     *
     * @return course_project_money_new - 新开卡疗程金额
     */
    public BigDecimal getCourseProjectMoneyNew() {
        return courseProjectMoneyNew;
    }

    /**
     * 设置新开卡疗程金额
     *
     * @param courseProjectMoneyNew 新开卡疗程金额
     */
    public void setCourseProjectMoneyNew(BigDecimal courseProjectMoneyNew) {
        this.courseProjectMoneyNew = courseProjectMoneyNew;
    }

    /**
     * 获取新开卡疗程次数
     *
     * @return course_count_new - 新开卡疗程次数
     */
    public Integer getCourseCountNew() {
        return courseCountNew;
    }

    /**
     * 设置新开卡疗程次数
     *
     * @param courseCountNew 新开卡疗程次数
     */
    public void setCourseCountNew(Integer courseCountNew) {
        this.courseCountNew = courseCountNew;
    }

    /**
     * 获取新开卡标准次数
     *
     * @return course_standard_count_new - 新开卡标准次数
     */
    public Integer getCourseStandardCountNew() {
        return courseStandardCountNew;
    }

    /**
     * 设置新开卡标准次数
     *
     * @param courseStandardCountNew 新开卡标准次数
     */
    public void setCourseStandardCountNew(Integer courseStandardCountNew) {
        this.courseStandardCountNew = courseStandardCountNew;
    }

    /**
     * 获取新开卡标准金额
     *
     * @return course_standard_money_new - 新开卡标准金额
     */
    public BigDecimal getCourseStandardMoneyNew() {
        return courseStandardMoneyNew;
    }

    /**
     * 设置新开卡标准金额
     *
     * @param courseStandardMoneyNew 新开卡标准金额
     */
    public void setCourseStandardMoneyNew(BigDecimal courseStandardMoneyNew) {
        this.courseStandardMoneyNew = courseStandardMoneyNew;
    }

    /**
     * 获取新最近消费时间
     *
     * @return last_consume_time_new - 新最近消费时间
     */
    public Date getLastConsumeTimeNew() {
        return lastConsumeTimeNew;
    }

    /**
     * 设置新最近消费时间
     *
     * @param lastConsumeTimeNew 新最近消费时间
     */
    public void setLastConsumeTimeNew(Date lastConsumeTimeNew) {
        this.lastConsumeTimeNew = lastConsumeTimeNew;
    }

    /**
     * 获取新开卡剩余次数
     *
     * @return course_rest_count_new - 新开卡剩余次数
     */
    public Integer getCourseRestCountNew() {
        return courseRestCountNew;
    }

    /**
     * 设置新开卡剩余次数
     *
     * @param courseRestCountNew 新开卡剩余次数
     */
    public void setCourseRestCountNew(Integer courseRestCountNew) {
        this.courseRestCountNew = courseRestCountNew;
    }

    /**
     * 获取新开卡可用次数
     *
     * @return course_consume_count_new - 新开卡可用次数
     */
    public Integer getCourseConsumeCountNew() {
        return courseConsumeCountNew;
    }

    /**
     * 设置新开卡可用次数
     *
     * @param courseConsumeCountNew 新开卡可用次数
     */
    public void setCourseConsumeCountNew(Integer courseConsumeCountNew) {
        this.courseConsumeCountNew = courseConsumeCountNew;
    }

    /**
     * 获取新账户类型0:疗程/1:促销/2:促销赠品
     *
     * @return course_type_new - 新账户类型0:疗程/1:促销/2:促销赠品
     */
    public String getCourseTypeNew() {
        return courseTypeNew;
    }

    /**
     * 设置新账户类型0:疗程/1:促销/2:促销赠品
     *
     * @param courseTypeNew 新账户类型0:疗程/1:促销/2:促销赠品
     */
    public void setCourseTypeNew(String courseTypeNew) {
        this.courseTypeNew = courseTypeNew;
    }

    /**
     * 获取新0:锁定/1:正常
     *
     * @return state_new - 新0:锁定/1:正常
     */
    public Integer getStateNew() {
        return stateNew;
    }

    /**
     * 设置新0:锁定/1:正常
     *
     * @param stateNew 新0:锁定/1:正常
     */
    public void setStateNew(Integer stateNew) {
        this.stateNew = stateNew;
    }

    /**
     * 获取新账户到期时间
     *
     * @return end_time_new - 新账户到期时间
     */
    public Date getEndTimeNew() {
        return endTimeNew;
    }

    /**
     * 设置新账户到期时间
     *
     * @param endTimeNew 新账户到期时间
     */
    public void setEndTimeNew(Date endTimeNew) {
        this.endTimeNew = endTimeNew;
    }

    /**
     * 获取新修改人名称
     *
     * @return update_by_new - 新修改人名称
     */
    public String getUpdateByNew() {
        return updateByNew;
    }

    /**
     * 设置新修改人名称
     *
     * @param updateByNew 新修改人名称
     */
    public void setUpdateByNew(String updateByNew) {
        this.updateByNew = updateByNew;
    }

    /**
     * 获取新修改人ID
     *
     * @return update_id_new - 新修改人ID
     */
    public Long getUpdateIdNew() {
        return updateIdNew;
    }

    /**
     * 设置新修改人ID
     *
     * @param updateIdNew 新修改人ID
     */
    public void setUpdateIdNew(Long updateIdNew) {
        this.updateIdNew = updateIdNew;
    }

    /**
     * 获取新修改时间
     *
     * @return update_time_new - 新修改时间
     */
    public Date getUpdateTimeNew() {
        return updateTimeNew;
    }

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

    /**
     * 获取新账户ID
     *
     * @return account_id_new - 新账户ID
     */
    public Long getAccountIdNew() {
        return accountIdNew;
    }

    /**
     * 设置新账户ID
     *
     * @param accountIdNew 新账户ID
     */
    public void setAccountIdNew(Long accountIdNew) {
        this.accountIdNew = accountIdNew;
    }

    /**
     * 获取开卡剩余次数修改
     *
     * @return course_rest_count_modify - 开卡剩余次数修改
     */
    public Integer getCourseRestCountModify() {
        return courseRestCountModify;
    }

    /**
     * 设置开卡剩余次数修改
     *
     * @param courseRestCountModify 开卡剩余次数修改
     */
    public void setCourseRestCountModify(Integer courseRestCountModify) {
        this.courseRestCountModify = courseRestCountModify;
    }

    /**
     * 获取开卡可用次数修改
     *
     * @return course_consume_count_modify - 开卡可用次数修改
     */
    public Integer getCourseConsumeCountModify() {
        return courseConsumeCountModify;
    }

    /**
     * 设置开卡可用次数修改
     *
     * @param courseConsumeCountModify 开卡可用次数修改
     */
    public void setCourseConsumeCountModify(Integer courseConsumeCountModify) {
        this.courseConsumeCountModify = courseConsumeCountModify;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ModifyCourseRecord other = (ModifyCourseRecord) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getDocNum() == null ? other.getDocNum() == null : this.getDocNum().equals(other.getDocNum()))
            && (this.getMemberId() == null ? other.getMemberId() == null : this.getMemberId().equals(other.getMemberId()))
            && (this.getMemberName() == null ? other.getMemberName() == null : this.getMemberName().equals(other.getMemberName()))
            && (this.getCard() == null ? other.getCard() == null : this.getCard().equals(other.getCard()))
            && (this.getStoreId() == null ? other.getStoreId() == null : this.getStoreId().equals(other.getStoreId()))
            && (this.getStoreName() == null ? other.getStoreName() == null : this.getStoreName().equals(other.getStoreName()))
            && (this.getCourseNum() == null ? other.getCourseNum() == null : this.getCourseNum().equals(other.getCourseNum()))
            && (this.getCourseProjectId() == null ? other.getCourseProjectId() == null : this.getCourseProjectId().equals(other.getCourseProjectId()))
            && (this.getCourseProjectName() == null ? other.getCourseProjectName() == null : this.getCourseProjectName().equals(other.getCourseProjectName()))
            && (this.getCourseProjectMoney() == null ? other.getCourseProjectMoney() == null : this.getCourseProjectMoney().equals(other.getCourseProjectMoney()))
            && (this.getCourseCount() == null ? other.getCourseCount() == null : this.getCourseCount().equals(other.getCourseCount()))
            && (this.getCourseStandardCount() == null ? other.getCourseStandardCount() == null : this.getCourseStandardCount().equals(other.getCourseStandardCount()))
            && (this.getCourseStandardMoney() == null ? other.getCourseStandardMoney() == null : this.getCourseStandardMoney().equals(other.getCourseStandardMoney()))
            && (this.getLastConsumeTime() == null ? other.getLastConsumeTime() == null : this.getLastConsumeTime().equals(other.getLastConsumeTime()))
            && (this.getCourseRestCount() == null ? other.getCourseRestCount() == null : this.getCourseRestCount().equals(other.getCourseRestCount()))
            && (this.getCourseConsumeCount() == null ? other.getCourseConsumeCount() == null : this.getCourseConsumeCount().equals(other.getCourseConsumeCount()))
            && (this.getCourseType() == null ? other.getCourseType() == null : this.getCourseType().equals(other.getCourseType()))
            && (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState()))
            && (this.getEndTime() == null ? other.getEndTime() == null : this.getEndTime().equals(other.getEndTime()))
            && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
            && (this.getUpdateId() == null ? other.getUpdateId() == null : this.getUpdateId().equals(other.getUpdateId()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getAccountId() == null ? other.getAccountId() == null : this.getAccountId().equals(other.getAccountId()))
            && (this.getModifyBy() == null ? other.getModifyBy() == null : this.getModifyBy().equals(other.getModifyBy()))
            && (this.getModifyId() == null ? other.getModifyId() == null : this.getModifyId().equals(other.getModifyId()))
            && (this.getModifyTime() == null ? other.getModifyTime() == null : this.getModifyTime().equals(other.getModifyTime()))
            && (this.getMemberIdNew() == null ? other.getMemberIdNew() == null : this.getMemberIdNew().equals(other.getMemberIdNew()))
            && (this.getMemberNameNew() == null ? other.getMemberNameNew() == null : this.getMemberNameNew().equals(other.getMemberNameNew()))
            && (this.getCardNew() == null ? other.getCardNew() == null : this.getCardNew().equals(other.getCardNew()))
            && (this.getStoreIdNew() == null ? other.getStoreIdNew() == null : this.getStoreIdNew().equals(other.getStoreIdNew()))
            && (this.getStoreNameNew() == null ? other.getStoreNameNew() == null : this.getStoreNameNew().equals(other.getStoreNameNew()))
            && (this.getCourseNumNew() == null ? other.getCourseNumNew() == null : this.getCourseNumNew().equals(other.getCourseNumNew()))
            && (this.getCourseProjectIdNew() == null ? other.getCourseProjectIdNew() == null : this.getCourseProjectIdNew().equals(other.getCourseProjectIdNew()))
            && (this.getCourseProjectNameNew() == null ? other.getCourseProjectNameNew() == null : this.getCourseProjectNameNew().equals(other.getCourseProjectNameNew()))
            && (this.getCourseProjectMoneyNew() == null ? other.getCourseProjectMoneyNew() == null : this.getCourseProjectMoneyNew().equals(other.getCourseProjectMoneyNew()))
            && (this.getCourseCountNew() == null ? other.getCourseCountNew() == null : this.getCourseCountNew().equals(other.getCourseCountNew()))
            && (this.getCourseStandardCountNew() == null ? other.getCourseStandardCountNew() == null : this.getCourseStandardCountNew().equals(other.getCourseStandardCountNew()))
            && (this.getCourseStandardMoneyNew() == null ? other.getCourseStandardMoneyNew() == null : this.getCourseStandardMoneyNew().equals(other.getCourseStandardMoneyNew()))
            && (this.getLastConsumeTimeNew() == null ? other.getLastConsumeTimeNew() == null : this.getLastConsumeTimeNew().equals(other.getLastConsumeTimeNew()))
            && (this.getCourseRestCountNew() == null ? other.getCourseRestCountNew() == null : this.getCourseRestCountNew().equals(other.getCourseRestCountNew()))
            && (this.getCourseConsumeCountNew() == null ? other.getCourseConsumeCountNew() == null : this.getCourseConsumeCountNew().equals(other.getCourseConsumeCountNew()))
            && (this.getCourseTypeNew() == null ? other.getCourseTypeNew() == null : this.getCourseTypeNew().equals(other.getCourseTypeNew()))
            && (this.getStateNew() == null ? other.getStateNew() == null : this.getStateNew().equals(other.getStateNew()))
            && (this.getEndTimeNew() == null ? other.getEndTimeNew() == null : this.getEndTimeNew().equals(other.getEndTimeNew()))
            && (this.getUpdateByNew() == null ? other.getUpdateByNew() == null : this.getUpdateByNew().equals(other.getUpdateByNew()))
            && (this.getUpdateIdNew() == null ? other.getUpdateIdNew() == null : this.getUpdateIdNew().equals(other.getUpdateIdNew()))
            && (this.getUpdateTimeNew() == null ? other.getUpdateTimeNew() == null : this.getUpdateTimeNew().equals(other.getUpdateTimeNew()))
            && (this.getAccountIdNew() == null ? other.getAccountIdNew() == null : this.getAccountIdNew().equals(other.getAccountIdNew()))
            && (this.getCourseRestCountModify() == null ? other.getCourseRestCountModify() == null : this.getCourseRestCountModify().equals(other.getCourseRestCountModify()))
            && (this.getCourseConsumeCountModify() == null ? other.getCourseConsumeCountModify() == null : this.getCourseConsumeCountModify().equals(other.getCourseConsumeCountModify()))
            && (this.getExplainModify() == null ? other.getExplainModify() == null : this.getExplainModify().equals(other.getExplainModify()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getDocNum() == null) ? 0 : getDocNum().hashCode());
        result = prime * result + ((getMemberId() == null) ? 0 : getMemberId().hashCode());
        result = prime * result + ((getMemberName() == null) ? 0 : getMemberName().hashCode());
        result = prime * result + ((getCard() == null) ? 0 : getCard().hashCode());
        result = prime * result + ((getStoreId() == null) ? 0 : getStoreId().hashCode());
        result = prime * result + ((getStoreName() == null) ? 0 : getStoreName().hashCode());
        result = prime * result + ((getCourseNum() == null) ? 0 : getCourseNum().hashCode());
        result = prime * result + ((getCourseProjectId() == null) ? 0 : getCourseProjectId().hashCode());
        result = prime * result + ((getCourseProjectName() == null) ? 0 : getCourseProjectName().hashCode());
        result = prime * result + ((getCourseProjectMoney() == null) ? 0 : getCourseProjectMoney().hashCode());
        result = prime * result + ((getCourseCount() == null) ? 0 : getCourseCount().hashCode());
        result = prime * result + ((getCourseStandardCount() == null) ? 0 : getCourseStandardCount().hashCode());
        result = prime * result + ((getCourseStandardMoney() == null) ? 0 : getCourseStandardMoney().hashCode());
        result = prime * result + ((getLastConsumeTime() == null) ? 0 : getLastConsumeTime().hashCode());
        result = prime * result + ((getCourseRestCount() == null) ? 0 : getCourseRestCount().hashCode());
        result = prime * result + ((getCourseConsumeCount() == null) ? 0 : getCourseConsumeCount().hashCode());
        result = prime * result + ((getCourseType() == null) ? 0 : getCourseType().hashCode());
        result = prime * result + ((getState() == null) ? 0 : getState().hashCode());
        result = prime * result + ((getEndTime() == null) ? 0 : getEndTime().hashCode());
        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
        result = prime * result + ((getUpdateId() == null) ? 0 : getUpdateId().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getAccountId() == null) ? 0 : getAccountId().hashCode());
        result = prime * result + ((getModifyBy() == null) ? 0 : getModifyBy().hashCode());
        result = prime * result + ((getModifyId() == null) ? 0 : getModifyId().hashCode());
        result = prime * result + ((getModifyTime() == null) ? 0 : getModifyTime().hashCode());
        result = prime * result + ((getMemberIdNew() == null) ? 0 : getMemberIdNew().hashCode());
        result = prime * result + ((getMemberNameNew() == null) ? 0 : getMemberNameNew().hashCode());
        result = prime * result + ((getCardNew() == null) ? 0 : getCardNew().hashCode());
        result = prime * result + ((getStoreIdNew() == null) ? 0 : getStoreIdNew().hashCode());
        result = prime * result + ((getStoreNameNew() == null) ? 0 : getStoreNameNew().hashCode());
        result = prime * result + ((getCourseNumNew() == null) ? 0 : getCourseNumNew().hashCode());
        result = prime * result + ((getCourseProjectIdNew() == null) ? 0 : getCourseProjectIdNew().hashCode());
        result = prime * result + ((getCourseProjectNameNew() == null) ? 0 : getCourseProjectNameNew().hashCode());
        result = prime * result + ((getCourseProjectMoneyNew() == null) ? 0 : getCourseProjectMoneyNew().hashCode());
        result = prime * result + ((getCourseCountNew() == null) ? 0 : getCourseCountNew().hashCode());
        result = prime * result + ((getCourseStandardCountNew() == null) ? 0 : getCourseStandardCountNew().hashCode());
        result = prime * result + ((getCourseStandardMoneyNew() == null) ? 0 : getCourseStandardMoneyNew().hashCode());
        result = prime * result + ((getLastConsumeTimeNew() == null) ? 0 : getLastConsumeTimeNew().hashCode());
        result = prime * result + ((getCourseRestCountNew() == null) ? 0 : getCourseRestCountNew().hashCode());
        result = prime * result + ((getCourseConsumeCountNew() == null) ? 0 : getCourseConsumeCountNew().hashCode());
        result = prime * result + ((getCourseTypeNew() == null) ? 0 : getCourseTypeNew().hashCode());
        result = prime * result + ((getStateNew() == null) ? 0 : getStateNew().hashCode());
        result = prime * result + ((getEndTimeNew() == null) ? 0 : getEndTimeNew().hashCode());
        result = prime * result + ((getUpdateByNew() == null) ? 0 : getUpdateByNew().hashCode());
        result = prime * result + ((getUpdateIdNew() == null) ? 0 : getUpdateIdNew().hashCode());
        result = prime * result + ((getUpdateTimeNew() == null) ? 0 : getUpdateTimeNew().hashCode());
        result = prime * result + ((getAccountIdNew() == null) ? 0 : getAccountIdNew().hashCode());
        result = prime * result + ((getCourseRestCountModify() == null) ? 0 : getCourseRestCountModify().hashCode());
        result = prime * result + ((getCourseConsumeCountModify() == null) ? 0 : getCourseConsumeCountModify().hashCode());
        result = prime * result + ((getExplainModify() == null) ? 0 : getExplainModify().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(", docNum=").append(docNum);
        sb.append(", memberId=").append(memberId);
        sb.append(", memberName=").append(memberName);
        sb.append(", card=").append(card);
        sb.append(", storeId=").append(storeId);
        sb.append(", storeName=").append(storeName);
        sb.append(", courseNum=").append(courseNum);
        sb.append(", courseProjectId=").append(courseProjectId);
        sb.append(", courseProjectName=").append(courseProjectName);
        sb.append(", courseProjectMoney=").append(courseProjectMoney);
        sb.append(", courseCount=").append(courseCount);
        sb.append(", courseStandardCount=").append(courseStandardCount);
        sb.append(", courseStandardMoney=").append(courseStandardMoney);
        sb.append(", lastConsumeTime=").append(lastConsumeTime);
        sb.append(", courseRestCount=").append(courseRestCount);
        sb.append(", courseConsumeCount=").append(courseConsumeCount);
        sb.append(", courseType=").append(courseType);
        sb.append(", state=").append(state);
        sb.append(", endTime=").append(endTime);
        sb.append(", updateBy=").append(updateBy);
        sb.append(", updateId=").append(updateId);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", accountId=").append(accountId);
        sb.append(", modifyBy=").append(modifyBy);
        sb.append(", modifyId=").append(modifyId);
        sb.append(", modifyTime=").append(modifyTime);
        sb.append(", memberIdNew=").append(memberIdNew);
        sb.append(", memberNameNew=").append(memberNameNew);
        sb.append(", cardNew=").append(cardNew);
        sb.append(", storeIdNew=").append(storeIdNew);
        sb.append(", storeNameNew=").append(storeNameNew);
        sb.append(", courseNumNew=").append(courseNumNew);
        sb.append(", courseProjectIdNew=").append(courseProjectIdNew);
        sb.append(", courseProjectNameNew=").append(courseProjectNameNew);
        sb.append(", courseProjectMoneyNew=").append(courseProjectMoneyNew);
        sb.append(", courseCountNew=").append(courseCountNew);
        sb.append(", courseStandardCountNew=").append(courseStandardCountNew);
        sb.append(", courseStandardMoneyNew=").append(courseStandardMoneyNew);
        sb.append(", lastConsumeTimeNew=").append(lastConsumeTimeNew);
        sb.append(", courseRestCountNew=").append(courseRestCountNew);
        sb.append(", courseConsumeCountNew=").append(courseConsumeCountNew);
        sb.append(", courseTypeNew=").append(courseTypeNew);
        sb.append(", stateNew=").append(stateNew);
        sb.append(", endTimeNew=").append(endTimeNew);
        sb.append(", updateByNew=").append(updateByNew);
        sb.append(", updateIdNew=").append(updateIdNew);
        sb.append(", updateTimeNew=").append(updateTimeNew);
        sb.append(", accountIdNew=").append(accountIdNew);
        sb.append(", courseRestCountModify=").append(courseRestCountModify);
        sb.append(", courseConsumeCountModify=").append(courseConsumeCountModify);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append(", explainModify=").append(explainModify);
        sb.append("]");
        return sb.toString();
    }
}