package cn.iocoder.yudao.module.system.dal.dataobject.biz;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
import org.apache.ibatis.type.JdbcType;

import java.time.LocalDateTime;

/**
 * 服务工单 DO
 */
@TableName("elderly_service_order")
@KeySequence("elderly_service_order_seq")
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ElderlyServiceOrderDO {

    @TableId
    private Long id;

    /**
     * 姓名
     */
    private String elderName;

    /**
     * 性别（0男 1女）
     */
    private String elderSex;

    /**
     * 年龄
     */
    private Integer elderAge;

    /**
     * 居住地址
     */
    private String elderAddress;

    /**
     * 身份证
     */
    private String idCard;

    /**
     * 服务项目
     */
    private String serviceItem;

    /**
     * 服务人员姓名
     */
    private String serviceName;

    /**
     * 下单时间
     */
    private LocalDateTime orderTime;

    /**
     * 服务开始时间
     */
    private LocalDateTime serviceBeginTime;

    /**
     * 服务结束时间
     */
    private LocalDateTime serviceEndTime;

    /**
     * 服务时长
     */
    private java.math.BigDecimal serviceHour;

    /**
     * 是否过期（0未过期 1已过期）
     */
    private String isExpire;

    /**
     * 工单状态（0待接单 1已接单 2服务中 3已完成 4已取消）
     */
    private String orderStatus;

    /**
     * 图片地址
     */
    private String image;

    /**
     * 租户ID
     */
    private Long tenantId;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    /**
     * 最后更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    /**
     * 创建者，目前使用 SysUser 的 id 编号
     *
     * 使用 String 类型的原因是，未来可能会存在非数值的情况，留好拓展性。
     */
    @TableField(fill = FieldFill.INSERT, jdbcType = JdbcType.VARCHAR)
    private String creator;
    /**
     * 更新者，目前使用 SysUser 的 id 编号
     *
     * 使用 String 类型的原因是，未来可能会存在非数值的情况，留好拓展性。
     */
    @TableField(fill = FieldFill.INSERT_UPDATE, jdbcType = JdbcType.VARCHAR)
    private String updater;

}
