package com.sqx.modules.pay.service;

import com.sqx.common.utils.Result;
import com.sqx.modules.app.entity.UserCertification;
import com.sqx.modules.artificer.entity.Certification;

import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;


/**
 * @author fang
 * @date 2020/2/26
 */
public interface WxService {

    Result payMoney(Long userId, Long payClassifyId, Integer classify, Long artificerId, Long ordersId, HttpServletRequest request) throws Exception;

    Result payOrder(Long id, Integer type,HttpServletRequest request) throws Exception;

    Result payPackageOrder(Long id, Integer classify,HttpServletRequest request) throws Exception;

    Result payGroupOrders(Long id, Integer classify,HttpServletRequest request) throws Exception;

    Result payCoupon(Long userId, Integer type, Long couponIssueId,HttpServletRequest request) throws Exception;

    Result pay(Double moneys, Integer type, Long userId, String outTradeNo,HttpServletRequest request) throws Exception;

    String payBack(String resXml,Integer type);

    String payBacks(String resXml, Integer type);

    Result submitRealName(Long userId, Integer type,HttpServletRequest request) throws Exception;

    Result payUserVip( Long userId, Long vipDetailsId,Integer type,HttpServletRequest request) throws Exception;

    Result payUserMoneyArtificer(Long userId,Long artificerId,Long payClassifyId,BigDecimal money,Integer classify,HttpServletRequest request) throws Exception;

    boolean refund(String ordersNo, BigDecimal payMoney, BigDecimal refundMoney, Integer payWay);

}