package cn.iocoder.yudao.module.wxcp.service.notice; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.wxcp.controller.admin.notice.vo.WxCpNoticePageReqVO; import cn.iocoder.yudao.module.wxcp.controller.admin.notice.vo.WxCpNoticeSaveReqVO; import cn.iocoder.yudao.module.wxcp.controller.admin.vo.WxCpPushReqVO; import cn.iocoder.yudao.module.wxcp.controller.admin.vo.WxCpPushResultVO; import cn.iocoder.yudao.module.wxcp.dal.dataobject.notice.WxCpNoticeDO; import jakarta.validation.Valid; /** * 企业微信通知 Service 接口 * * @author 超级管理员 */ public interface WxCpNoticeService { /** * 创建通知(初始为草稿状态) * * @param createReqVO 创建信息 * @return 通知编号 */ Long createNotice(@Valid WxCpNoticeSaveReqVO createReqVO); /** * 修改通知 * * @param updateReqVO 修改信息 */ void updateNotice(@Valid WxCpNoticeSaveReqVO updateReqVO); /** * 删除通知 * * @param id 通知编号 */ void deleteNotice(Long id); /** * 获得通知 * * @param id 通知编号 * @return 通知 */ WxCpNoticeDO getNotice(Long id); /** * 获得通知分页 * * @param pageReqVO 分页查询 * @return 通知分页 */ PageResult getNoticePage(@Valid WxCpNoticePageReqVO pageReqVO); /** * 发布通知(草稿 -> 已发布) * * @param id 通知编号 */ void publishNotice(Long id); /** * 撤回通知 * * @param id 通知编号 */ void revokeNotice(Long id); /** * 推送通知给企业微信成员 * * @param pushReqVO 推送信息 * @return 推送结果 */ WxCpPushResultVO pushNotice(@Valid WxCpPushReqVO pushReqVO); }