package com.huimv.employment.service.notification.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;

import java.util.List;

@Schema(description = "消息与待办分页结果")
public class NotificationPageResponse {

    @JsonProperty("items")
    private List<NotificationItemResponse> items;

    @JsonProperty("total")
    private long total;

    @JsonProperty("page")
    private int page;

    @JsonProperty("size")
    private int size;

    @JsonProperty("has_more")
    private boolean hasMore;

    @JsonProperty("unread_count")
    @Schema(description = "当前用户未读总数（不受本页筛选影响）")
    private long unreadCount;

    @JsonProperty("pending_count")
    @Schema(description = "当前用户未办结待办数（notify_type=pending 且 handled_flag=false）")
    private long pendingCount;

    public List<NotificationItemResponse> getItems() {
        return items;
    }

    public void setItems(List<NotificationItemResponse> items) {
        this.items = items;
    }

    public long getTotal() {
        return total;
    }

    public void setTotal(long total) {
        this.total = total;
    }

    public int getPage() {
        return page;
    }

    public void setPage(int page) {
        this.page = page;
    }

    public int getSize() {
        return size;
    }

    public void setSize(int size) {
        this.size = size;
    }

    public boolean isHasMore() {
        return hasMore;
    }

    public void setHasMore(boolean hasMore) {
        this.hasMore = hasMore;
    }

    public long getUnreadCount() {
        return unreadCount;
    }

    public void setUnreadCount(long unreadCount) {
        this.unreadCount = unreadCount;
    }

    public long getPendingCount() {
        return pendingCount;
    }

    public void setPendingCount(long pendingCount) {
        this.pendingCount = pendingCount;
    }
}
