package com.ylx.order.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * 类描述：订单评论DTO
 *
 * @author Administrator
 * @version 1.0
 * @date 2026/6/9 15:27
 */
@Data
public class OrderCommentDTO {

    /**
     * 订单id
     */
    @NotNull(message = "订单id不能为空")
    @ApiModelProperty("订单id")
    private Long orderId;

    /**
     * 商户id
     * 被评论技师的唯一标识
     */
    @NotNull(message = "商户id不能为空")
    @ApiModelProperty("商户id")
    private Integer merchantId;

    /**
     * 商户姓名
     * 冗余字段，存储被评论技师的姓名，便于查询展示
     */
    @NotBlank(message = "商户姓名不能为空")
    @ApiModelProperty("商户姓名")
    private String merchantName;
    /**
     * 体验评价等级1-5
     */
    @NotNull(message = "体验评价等级不能为空")
    @ApiModelProperty("体验评价等级1-5")
    private Integer experienceComment;

    /**
     * 价格评价等级1-5
     */
    @NotNull(message = "价格评价等级不能为空")
    @ApiModelProperty("价格评价等级1-5")
    private Integer priceComment;

    /**
     * 态度评价等级1-5
     */
    @NotNull(message = "态度评价等级不能为空")
    @ApiModelProperty("态度评价等级1-5")
    private Integer attitudeComment;

    /**
     * 仪表仪容等级1-5
     */
    @NotNull(message = "仪表仪容等级不能为空")
    @ApiModelProperty("仪表仪容等级1-5")
    private Integer groomingComment;

    /**
     * 评论内容
     * 用户对本次服务评价的文本内容
     */
    @NotBlank(message = "评论内容不能为空")
    @ApiModelProperty("评论内容")
    private String text;

    /**
     * 评论图片列表（多张）
     * 最多支持9张图片，URL格式为完整http路径
     */
    @Size(max = 6, message = "最多上传6张图片")
    @ApiModelProperty("评论图片列表")
    private List<String> commentPictures;
}