package com.emotion.dto.request;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;

/**
 * 更新日记请求DTO
 *
 * @author huazhongmin
 * @date 2025-07-23
 */
@Data
public class DiaryPostUpdateRequest {

    /**
     * 日记ID
     */
    @NotBlank(message = "日记ID不能为空")
    private String id;

    /**
     * 日记标题
     */
    @Size(max = 200, message = "日记标题长度不能超过200个字符")
    private String title;

    /**
     * 日记内容
     */
    private String content;

    /**
     * 图片列表
     */
    private List<String> images;

    /**
     * 视频列表
     */
    private List<String> videos;

    /**
     * 发布地点
     */
    @Size(max = 200, message = "发布地点长度不能超过200个字符")
    private String location;

    /**
     * 纬度
     */
    private BigDecimal latitude;

    /**
     * 经度
     */
    private BigDecimal longitude;

    /**
     * 天气信息
     */
    @Size(max = 50, message = "天气信息长度不能超过50个字符")
    private String weather;

    /**
     * 心情状态
     */
    @Size(max = 50, message = "心情状态长度不能超过50个字符")
    private String mood;

    /**
     * 心情评分 (0-10)
     */
    private BigDecimal moodScore;

    /**
     * 标签列表
     */
    private List<String> tags;

    /**
     * 是否公开: 0-仅自己可见, 1-公开
     */
    private Integer isPublic;

    /**
     * 是否匿名发布: 0-实名, 1-匿名
     */
    private Integer isAnonymous;

    /**
     * 状态: draft-草稿, published-已发布, hidden-隐藏, deleted-已删除
     */
    private String status;
}