package shop.alien.second.service;


import com.baomidou.mybatisplus.extension.service.IService;
import shop.alien.entity.result.BusinessException;
import shop.alien.entity.second.SecondTradeRecord;
import shop.alien.entity.second.vo.SecondTradeRecordVo;

import java.util.List;

/**
 * <p>
 * 二手交易记录表 服务类
 * </p>
 *
 * @author qrs
 * @since 2025-07-07
 */
public interface SecondTradeRecordService extends IService<SecondTradeRecord> {
    boolean createTrade(SecondTradeRecord entity) throws Exception;

    boolean goodsTradeConfirm(int goodsId) throws Exception;

    boolean tradeConfirm(int tradeId, int messageId, int type) throws BusinessException, Exception;

    boolean cancelTrade(int tradeId, String cancelReason, String cancelReasonSupplement) throws Exception;

    boolean whetherCanSignIn(int tradeId) throws Exception;

    boolean tradeSignIn(int tradeId, int messageId, String signInLatitudeLongitude, String signInLatitudeLongitudeAddress) throws BusinessException, Exception;

    SecondTradeRecordVo getUserTradeStatus(int tradeId) throws Exception;

    boolean tradeCompleteConfirm(int tradeId, int type, String evaluate) throws Exception;

    List<SecondTradeRecordVo> getTradeRecord(int sideId) throws Exception;
}
