package com.cyksj.service.coin;

import com.cyksj.model.entity.OrderDonGalaxyCoinRecord;

import java.math.BigDecimal;

/**
 * 项目名: yhlxj
 * 文件名: UserGalaxyCoinService
 * 创建者: JavaZou
 * 创建时间:2025/7/1 15:29
 */
public interface UserGalaxyCoinService {

	void sendGalaxyCoinRecord(Long userId, Integer galaxyCoin, String remark, Boolean isLottery);

	void recordUseRecord(Long orderId, Long userId, BigDecimal galaxyCoin, String remark, Boolean available, OrderDonGalaxyCoinRecord.Source source);

	void recordOrderRefundGalaxyCoinIfValid(Long orderId, Long userId, BigDecimal galaxyCoin, OrderDonGalaxyCoinRecord.Source source);

	void subOrderGenerateGalaxyCoin(Long orderId, OrderDonGalaxyCoinRecord.Source source);

	void handleUserGalaxyCoinOrderNotify(Long orderId, Long userId, String orderNo, OrderDonGalaxyCoinRecord.Source source);

	void sendOrderCashback(Long orderId, Long userId, Integer galaxyCoin, String remark, OrderDonGalaxyCoinRecord.Source source);

	void sendOrderGalaxyCloseOrder(Long orderId, Long userId, BigDecimal galaxyCoin, OrderDonGalaxyCoinRecord.Source source);
}
