package com.storlead.sales.service.customer;

import com.storlead.framework.common.result.Result;
import com.storlead.framework.mybatis.service.MyBaseService;
import com.storlead.sales.pojo.dto.customer.BulletinDTO;
import com.storlead.sales.pojo.dto.customer.BulletinSearchDTO;
import com.storlead.sales.pojo.entity.customer.BulletinEntity;
import com.storlead.sales.pojo.vo.customer.BulletinDetailVO;

/**
 * <p>
 * 公告主表 服务类
 * </p>
 *
 * @author YPZ
 * @since 2024-10-25
 */
public interface BulletinService extends MyBaseService<BulletinEntity> {
    /**
     * 新增
     * @param bulletinDTO 公告表单
     * @return
     */
    Result<?> add(BulletinDTO bulletinDTO);

    BulletinDetailVO getBulletinDetailVOById(Long id,Long userId);

    BulletinDetailVO getBulletinDetailVOById(Long id);

    /**
     * 编辑公告
     * @param bulletinDTO
     * @return
     */
    Result<?> edit(BulletinDTO bulletinDTO);

    /**
     * 逻辑删除
     * @param bulletinId 公告id
     * @return
     */
    Result<?> delete(Long bulletinId);

    /**
     * 公告查询
     * @param bulletinSearchDTO
     * @return
     */
    Result<?> listVO(BulletinSearchDTO bulletinSearchDTO);

    /**
     * 未读公告统计
     * @return
     */
    Result<?> unreadCount();
}
