package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.model.WeChatUser;
import com.ruoyi.system.domain.CpsContentInfo;
import com.ruoyi.system.domain.CpsMeetingEnterpriseTripInfo;
import com.ruoyi.system.domain.CpsMeetingUsr;
import com.ruoyi.system.domain.CpsUsrApply;

import java.util.List;
import java.util.concurrent.ExecutionException;

/**
 * cps_usr_wechat微信用户Service接口
 *
 * @author ruoyi
 * @date 2024-08-18
 */
public interface ICpsMeetingUsrService {
    /**
     * 查询cps_usr_wechat微信用户
     *
     * @param id cps_usr_wechat微信用户主键
     * @return cps_usr_wechat微信用户
     */
    public CpsMeetingUsr selectCpsMeetingUsrById(Long id);

    /**
     * 查询cps_usr_wechat微信用户列表
     *
     * @param cpsMeetingUsr cps_usr_wechat微信用户
     * @return cps_usr_wechat微信用户集合
     */
    public List<CpsMeetingUsr> selectCpsMeetingUsrList(CpsMeetingUsr cpsMeetingUsr);

    /**
     * 新增cps_usr_wechat微信用户
     *
     * @param cpsMeetingUsr cps_usr_wechat微信用户
     * @return 结果
     */
    public int insertCpsMeetingUsr(CpsMeetingUsr cpsMeetingUsr);

    /**
     * 修改cps_usr_wechat微信用户
     *
     * @param cpsMeetingUsr cps_usr_wechat微信用户
     * @return 结果
     */
    public int updateCpsMeetingUsr(CpsMeetingUsr cpsMeetingUsr);

    /**
     * 批量删除cps_usr_wechat微信用户
     *
     * @param ids 需要删除的cps_usr_wechat微信用户主键集合
     * @return 结果
     */
    public int deleteCpsMeetingUsrByIds(Long[] ids);

    /**
     * 删除cps_usr_wechat微信用户信息
     *
     * @param id cps_usr_wechat微信用户主键
     * @return 结果
     */
    public int deleteCpsMeetingUsrById(Long id);

    Boolean existCpsMeetingUsr(String openId);

    CpsMeetingUsr getWeChatUser(WeChatUser user);

    void usrThemeConferenceRegister(CpsUsrApply user);

    void usrMeetingRegister(CpsUsrApply user) throws ExecutionException, InterruptedException;

    List<CpsContentInfo> qryUsrCollectContent(String openId, String keyword);

    CpsMeetingEnterpriseTripInfo qryUsrTripContent(String openId);
}
