package cn.iocoder.yudao.module.member.service.spacecapsule;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsulePageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsuleSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.spacecapsule.SpaceCapsuleDO;

import javax.validation.*;
import java.util.List;

/**
 * 太空舱 Service 接口
 *
 * @author 管理员
 */
public interface SpaceCapsuleService {

    /**
     * 创建太空舱
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createSpaceCapsule(@Valid SpaceCapsuleSaveReqVO createReqVO);

    /**
     * 更新太空舱
     *
     * @param updateReqVO 更新信息
     */
    void updateSpaceCapsule(@Valid SpaceCapsuleSaveReqVO updateReqVO);
    void updateSpaceCapsule( SpaceCapsuleDO spaceCapsuleDO);

    /**
     * 删除太空舱
     *
     * @param id 编号
     */
    void deleteSpaceCapsule(Long id);

    /**
     * 获得太空舱
     *
     * @param id 编号
     * @return 太空舱
     */
    SpaceCapsuleDO getSpaceCapsule(Long id);

    /**
     * 获得太空舱分页
     *
     * @param pageReqVO 分页查询
     * @return 太空舱分页
     */
    PageResult<SpaceCapsuleDO> getSpaceCapsulePage(SpaceCapsulePageReqVO pageReqVO);
    List<SpaceCapsuleDO> getListByCarteenId(Long carteenId);

    /**
     * 支付编码查询
     * @param payNum
     * @return
     */
    SpaceCapsuleDO getPayNum(String payNum);
}