package shop.alien.store.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import shop.alien.entity.result.R;
import shop.alien.entity.store.CommonPushTaskUser;
import shop.alien.store.dto.CommonPushTaskUserCallbackDto;

public interface CommonPushTaskUserService extends IService<CommonPushTaskUser> {

    R<String> add(CommonPushTaskUser taskUser);

    R<String> deleteById(Long id);

    R<String> update(CommonPushTaskUser taskUser);

    R<CommonPushTaskUser> getInfoById(Long id);

    R<IPage<CommonPushTaskUser>> list(Integer pageNum, Integer pageSize, Long pushTaskId, Long userId, String deviceId);

    R<String> callback(CommonPushTaskUserCallbackDto callbackDto);

    /**
     * 解析 OPPO 等厂商回执（callBackParameter / param 字段）并更新状态。
     */
    R<String> callbackFromVendor(String callBackParameter, String channelStatus, String registrationIds, String eventType);
}
