package com.ruoyi.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.domain.PosStoreOmg;
import com.ruoyi.system.domain.vo.PosStoreOmgVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 门店 OMG(歐買尬) 支付凭证 Mapper。
 *
 * <p>发起支付/回调用 selectByStoreId、selectByMerchantId；凭证管理用 selectOmgStoreList、selectOmgStoreDetail。
 *
 * @author ruoyi
 * @date 2026-07-29
 */
public interface PosStoreOmgMapper extends BaseMapper<PosStoreOmg> {

    /** 按门店ID查凭证（发起支付 getEnabledCredential 用）。 */
    PosStoreOmg selectByStoreId(@Param("storeId") Long storeId);

    /** 按 OMG 商店代号反查凭证（回调按 MerchantID 定位门店用）。 */
    PosStoreOmg selectByMerchantId(@Param("merchantId") String merchantId);

    /** 按 merchant_id + store_id 精确反查凭证（退款/查询补单：同 merchant 多门店定位本店）。 */
    PosStoreOmg selectByMerchantIdAndStoreId(@Param("merchantId") String merchantId, @Param("storeId") Long storeId);

    /** 门店 OMG 凭证管理列表（pos_store LEFT JOIN pos_store_omg + info_user，配合 PageHelper 分页）。 */
    List<PosStoreOmgVo> selectOmgStoreList(PosStoreOmgVo query);

    /** 门店 OMG 凭证详情（单行，含门店基础信息）。 */
    PosStoreOmgVo selectOmgStoreDetail(@Param("storeId") Long storeId);
}
