package org.shop.crop.dao;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Collections;
import java.util.Set;
import java.util.stream.Collectors;

@Data
@TableName("crop_configs")
public class CropConfig {
    /**
     * 主键 ID（自增）
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 主键 ID（自增）
     */
    @TableField(value = "cropid")
    private String cropid;

    /**
     * 上次的点位
     */
    @TableField(value = "last_seq")
    private Long lastSeq;

    /**
     * 秘钥
     */
    @TableField("message_secret")
    private String messageSecret;

    @TableField("block_words")
    private String blockWords;
    /**
     * 创建时间（备用字段，可选）
     */
    @TableField("created_at")
    private LocalDateTime createdAt;

    /**
     * 修改时间（自动填充）
     */
    @TableField("updated_at")
    private LocalDateTime updatedAt;


    // 可选：添加一个方法，返回敏感词集合（去重、trim）
    public Set<String> getBlockWordSet() {
        if (blockWords == null || blockWords.trim().isEmpty()) {
            return Collections.emptySet();
        }
        return Arrays.stream(blockWords.split(","))
                .map(String::trim)
                .filter(word -> !word.isEmpty())
                .collect(Collectors.toSet());
    }

}
