package com.nova.sankuai.service; import com.nova.sankuai.domain.dto.YSProtocolPaySmsConfirmDto; import com.nova.sankuai.domain.dto.YSProtocolPaySmsDto; import com.nova.sankuai.domain.dto.YSProtocolSignConfirmDto; import com.nova.sankuai.domain.dto.YSProtocolSignDto; import com.nova.sankuai.domain.entity.VipCard; import com.nova.sankuai.domain.entity.VipCardOrder; import com.nova.sankuai.domain.entity.YinShengSignRecord; import com.nova.sankuai.domain.vo.YSFastProtocolParamVo; import com.nova.sankuai.domain.vo.YSFastProtocolSignCheckVo; import com.nova.sankuai.domain.vo.YSFastProtocolSignVo; import com.nova.sankuai.domain.vo.vipcard.VipCardVo; import javax.servlet.http.HttpServletRequest; /** * 银盛接口服务 * * @author ephemeral */ public interface IYinShengService { /** * 支付前用户校验 * * @param userId * @return */ boolean checkBeforePayment(Long userId); /** * 银盛快捷协议支付签约 * * @param signDto * @return */ YSFastProtocolSignVo protocolPaySignByYs(YSProtocolSignDto signDto, HttpServletRequest request); /** * 银盛快捷支付签约确认 * * @param signConfirmDto * @return */ boolean protocolPaySignConfirmByYs(YSProtocolSignConfirmDto signConfirmDto, HttpServletRequest request); /** * 获取用户银盛快捷支付签约记录 * * @param userId * @return */ YinShengSignRecord getSignRecordByUserId(Long userId); /** * 银盛快捷协议支付 * @param vipCardOrder * @param cardVo * @param card * @return */ YSFastProtocolParamVo buyCardByYSProtocol(VipCardOrder vipCardOrder, VipCardVo cardVo, VipCard card); /** * 银盛快捷支付短信确认 * @param smsConfirmDto * @return */ boolean protocolPaySmsConfirmByYs(YSProtocolPaySmsConfirmDto smsConfirmDto); /** * 银盛快捷支付重新获取短信 * @param smsDto * @return */ void getProtocolPaySmsByYs(YSProtocolPaySmsDto smsDto); /** * 用户银盛快捷支付签约校验 * @param request * @return */ YSFastProtocolSignCheckVo checkProtocolSignByYs(HttpServletRequest request); }