package com.fs.hisStore.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fs.common.core.domain.R;
import com.fs.course.dto.FsStoreVerifyCodeDTO;
import com.fs.hisStore.domain.FsStoreVerifyCodeScrm;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 核销码Service接口
 * 
 * @author fs
 * @date 2025-11-27
 */
public interface IFsStoreVerifyCodeScrmService extends IService<FsStoreVerifyCodeScrm>{
    /**
     * 查询核销码
     * 
     * @param id 核销码主键
     * @return 核销码
     */
    FsStoreVerifyCodeScrm selectFsStoreVerifyCodeScrmById(String id);

    /**
     * 查询核销码列表
     * 
     * @param fsStoreVerifyCodeScrm 核销码
     * @return 核销码集合
     */
    List<FsStoreVerifyCodeScrm> selectFsStoreVerifyCodeScrmList(FsStoreVerifyCodeScrm fsStoreVerifyCodeScrm);

    /**
     * 新增核销码
     * 
     * @param fsStoreVerifyCodeScrm 核销码
     * @return 结果
     */
    int insertFsStoreVerifyCodeScrm(FsStoreVerifyCodeScrm fsStoreVerifyCodeScrm);

    /**
     * 修改核销码
     * 
     * @param fsStoreVerifyCodeScrm 核销码
     * @return 结果
     */
    int updateFsStoreVerifyCodeScrm(FsStoreVerifyCodeScrm fsStoreVerifyCodeScrm);

    /**
     * 批量删除核销码
     * 
     * @param ids 需要删除的核销码主键集合
     * @return 结果
     */
    int deleteFsStoreVerifyCodeScrmByIds(Long[] ids,Long userId);

    /**
     * 删除核销码信息
     * 
     * @param id 核销码主键
     * @return 结果
     */
    int deleteFsStoreVerifyCodeScrmById(String id);

    /**
     * 批量导入
     * @param verifyCodeDTOS
     * @param userId 用户ID
     * @param productId 商品ID
     * @return R
     * **/
    R importExpress(List<FsStoreVerifyCodeDTO> verifyCodeDTOS,String userId,Long productId);

    /**
     * 核销
     * @param ids 核销码ID
     * @param userId 用户id
     * @return R
     * **/
    R writeOff(Long[] ids,String userId);
}
