package com.ruoyi.model.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.cyl.manager.ums.domain.Member;
import com.cyl.manager.ums.domain.Pet;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * 日订单对象 applet_order_date_frequency
 * 
 * @author daixiande
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AppletOrderDateFrequency {
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 下单端订单ID */
    @Excel(name = "下单端订单ID")
    private Long orderId;

    /** 服务日期 */
    @Excel(name = "服务日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date serviceDate;

    /** 期望上门时间 */
    private String serviceExpected;

    /** 关联宠物直接用json保存他以及服务内容 */
    private String petId;

    /** 省份 */
    @Excel(name = "省份")
    private String receiverProvince;

    /** 城市 */
    @Excel(name = "城市")
    private String receiverCity;

    /** 区县 */
    @Excel(name = "区县")
    private String receiverDistrict;

    /** 详细地址 */
    private String receiverDetailAddress;

    /** 当日上门的第几次 */
    private Integer dayNumber;

    /** 伴宠师 */
    @Excel(name = "伴宠师")
    private Long masterId;

    /** 下单用户 */
    @Excel(name = "下单用户")
    private Long userId;

    /** 完成状态 */
    @Excel(name = "完成状态 0草稿 1待完成 1已完成")
    private String status;

    /** 完成时间 */
    @Excel(name = "完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
    private Date completionTime;

    /** 项目ids多个,号隔开 */
    private String projectIds;

    /** 创建者 */
    private Long createBy;

    /** 创建时间 */
    private String createTime;

    /** 更新者 */
    private Long updateBy;

    /** 更新时间 */
    private String updateTime;

    @TableField(exist = false)
    private List<Pet> pets;

    // 伴宠师
    @TableField(exist = false)
    private AppUsers master;

    // 下单用户
    @TableField(exist = false)
    private Member user;

    // 下单用户
    @TableField(exist = false)
    private String orderByDate;

}
