package com.xinelu.manage.service.messagepush;

import com.alibaba.fastjson2.JSONObject;
import com.xinelu.common.entity.AppletAccessToken;
import com.xinelu.manage.domain.subscribemessagerecord.SubscribeMessageRecord;
import com.xinelu.manage.vo.patientcouponreceive.PatientCouponReceiveInfoVO;
import java.util.Map;

/**
 * @Description 消息推送业务层
 * @Author zh
 * @Date 2023-03-17
 */

public interface MessagePushService {

    /**
     * 签到消息推送
     *
     * @param patientId 用户ID
     * @param days      天数
     */
    void integralMessage(Long patientId, Integer days);

    /**
     * 完善信息优惠券领取与优惠券领取共用异步发送订阅信息
     *
     * @param subscribeMessageRecord 微信小程序订阅消息记录表
     * @param couponReceive          用户优惠券
     **/
    void messageCouponReceiveThread(SubscribeMessageRecord subscribeMessageRecord, PatientCouponReceiveInfoVO couponReceive);

    /**
     * 发送
     *
     * @param appletAccessToken 令牌
     * @param paramsMap         模板
     **/
    void sendPosts(AppletAccessToken appletAccessToken, Map<String, Object> paramsMap);

    /**
     * @Author mengkuiliang
     * @Description 家医申请审批结果消息推送
     * @Date 2023-10-18 018 13:58
     * @Param [appletAccessToken, paramsMap]
     * @return void
     **/
    void fdApprovePush(JSONObject body);

    /**
     * @Author mengkuiliang
     * @Description 家医推送订阅消息
     * @Date 2023-10-19 019 10:20
     * @Param [message]
     * @return void
     **/
    void FdPushMessage(JSONObject req) throws Exception;
}
