package com.fzm.mall.server.admin.goods_center.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fzm.mall.server.admin.goods_center.entity.dto.ExternalTokenDTO;
import com.fzm.mall.server.admin.goods_center.entity.vo.ExternNFTVO;
import com.fzm.mall.server.admin.goods_center.entity.vo.ExternalTokenListVO;
import com.fzm.mall.server.admin.goods_center.entity.vo.ExternalTokenVO;
import com.fzm.mall.server.admin.goods_center.model.ExternalToken;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 外部商品通证 服务类
 * </p>
 *
 * @author fzm
 * @since 2021-08-10
 */
public interface IExternalTokenService extends IService<ExternalToken> {

    IPage<ExternalTokenDTO> page(Page<ExternalTokenDTO> page, String labelName, String goodsId, String goodsName,
                                 Integer status, String merchantId);

    ExternalTokenVO read(String merchantId);

    List<ExternalTokenListVO> unbindToken(String merchantId);

    void addToken(String merchantId, String coin, Long tokenId, Integer goodsType, String name, BigDecimal amount, Integer type, Long publishTime, String publisher);

    ExternalToken queryByLabelNameAndMerchantId(String coin, String merchantId);

    List<ExternNFTVO> queryByMerchantId(String merchantId);

    ExternalToken queryByComId(String comId);
}
