package com.propertyManagement.business.domain.bo;

import com.propertyManagement.common.core.domain.BaseEntity;
import com.propertyManagement.common.core.validate.AddGroup;
import com.propertyManagement.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 报修业务对象 wx_repairs
 *
 * @author liushuai
 * @date 2025-05-14
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class WxRepairsBo extends BaseEntity {

    /**
     * 报修主键
     */
    private Long repairsId;

    /**
     * 用户主键
     */
    private Long userId;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 小区主键
     */
    private Long communityId;

    /**
     * 小区名称
     */
    private String communityName;

    /**
     * 业主名称
     */
    private String proprietorName;

    /**
     * 业主电话
     */
    private String proprietorPhone;

    /**
     * 业主房间
     */
    private String room;

    /**
     * 报修描述
     */
    @NotNull(groups = AddGroup.class, message = "描述不能为空")
    private String repairsDescription;

    /**
     * 报修图片
     */
    private String repairsImg;

    /**
     * 报修时间
     */
    private Date repairsTime;

    /**
     * 完成时间
     */
    private Date completeTime;

    /**
     * 关闭时间
     */
    private Date closeTime;

    /**
     * 报修状态
     */
    private Integer state;

    /**
     * 报修类型
     */
    @NotNull(message = "报修类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer type;

    /**
     * 维修人员ID
     */
    private Long accountId;
    /**
     * 维修人员姓名
     */
    private String accountName;
    /**
     * 维修人员电话
     */
    private String accountMobile;

    /**
     * 维修费用
     */
    private BigDecimal money;


}
