package org.springblade.gateway.goods_gateway.service;

import org.springblade.payment.cmcc.request.CmccDectOrderRequest;
import org.springblade.payment.cmcc.request.CmccPlaceOrderRequest;
import org.springblade.sing.active.entity.ActiveHelpRecord;
import org.springblade.sing.goods.entity.HelpGoods;
import org.springblade.sing.point.entity.CmccPointRecord;
import org.springblade.sing.user.entity.LoginUser;
import org.springblade.sing.yeepay.entity.YeepayOrder;

import javax.servlet.http.HttpServletRequest;

/**
 * @Author: Silent
 * @Description
 * @Date: Created in 14:28 2021/11/10
 * @Modified By:
 */
public interface AppHelpGoodsService {
	void exchangeProps(CmccPointRecord cmccPointRecord, CmccDectOrderRequest cmccDectOrderRequest, Long productId, YeepayOrder yeepayOrder, String code);

	void cmccPointExchange(CmccPointRecord cmccPointRecord, CmccDectOrderRequest cmccDectOrderRequest, ActiveHelpRecord activeHelpRecord, HelpGoods helpGoods, LoginUser loginUser);

	void userExchangeCountCheck(CmccPointRecord cmccPointRecord, HelpGoods helpGoods, LoginUser loginUser, YeepayOrder yeepayOrder);

	Long userHelpGoodsExchangeCount(Long userId, Long helpGoodsId);

	void createPropsOrder(CmccPointRecord cmccPointRecord, CmccPlaceOrderRequest cmccPlaceOrderRequest);

	void createCashPropsOrder(YeepayOrder yeepayOrder);

	void handlerCasePropsOrder(HttpServletRequest request);
}
