package com.dgtly.wxportal.service;

import com.dgtly.wxportal.domain.WxSendMessage;
import java.util.List;
import java.util.Map;

/**
 * 企业微信发送消息历史记录Service接口
 * 
 * @author qxp
 * @date 2020-09-02
 */
public interface IWxSendMessageService 
{
    /**
     * 查询企业微信发送消息历史记录
     * 
     * @param id 企业微信发送消息历史记录ID
     * @return 企业微信发送消息历史记录
     */
    public WxSendMessage selectWxSendMessageById(Long id);

    /**
     * 查询企业微信发送消息历史记录列表
     * 
     * @param wxSendMessage 企业微信发送消息历史记录
     * @return 企业微信发送消息历史记录集合
     */
    public List<WxSendMessage> selectWxSendMessageList(WxSendMessage wxSendMessage);

    /**
     * 新增企业微信发送消息历史记录
     * 
     * @param wxSendMessage 企业微信发送消息历史记录
     * @return 结果
     */
    public int insertWxSendMessage(WxSendMessage wxSendMessage);

    /**
     * 修改企业微信发送消息历史记录
     * 
     * @param wxSendMessage 企业微信发送消息历史记录
     * @return 结果
     */
    public int updateWxSendMessage(WxSendMessage wxSendMessage);

    /**
     * 批量删除企业微信发送消息历史记录
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteWxSendMessageByIds(String ids);

    /**
     * 删除企业微信发送消息历史记录信息
     * 
     * @param id 企业微信发送消息历史记录ID
     * @return 结果
     */
    public int deleteWxSendMessageById(Long id);

    /**
     * @description: 自提未提货企微消息通知
     * @param:
     * @return:
     * @author: njs
     * @date: 2023/5/15 11:27
     */
     void sendWxTmsMessage();

     /**
      * @description: 业绩进度指标预警邮件/企微消息通知
      * @param:
      * @return:
      * @author: njs
      * @date: 2024/2/4 9:21
      */
     void sendMailAndWxEarlyTucMessage();

    /**
     * @description: 交货冻结取消要货企微消息通知
     *               取消后向经销商负责人、要货人、对应销售推送通知：
     *               "因经销商交货冻结，已取消以下订单的要货，如需重新要货，请解冻后再操作：[订单号列表]"
     * @param canceledOrderList 已取消的要货记录详情列表（含 customerCode/orderNumber/confirmBy）
     * @return: void
     * @author: njs
     */
     void sendFreezeCustomerCancelOrderMessage(List<Map<String, Object>> canceledOrderList);
}

