package com.nova.sankuai.service; import com.nova.sankuai.domain.api.shantai.*; import com.nova.sankuai.domain.entity.CustomerUser; import com.nova.sankuai.security.UserDetail; import javax.servlet.http.HttpServletRequest; import java.util.Map; /** * @Author Lilinhong * @Date 2022/8/18 10:34 */ public interface IShanTaiService { /** * 获取accessToken * * @return */ String getAccessToken(); String getEquityUrl(CustomerUser customerUser); Integer useEquityNotify(UseEquityNotifyParams params); Integer useEquityForward(String partnerThirdOrderId); /** * 获取用户Token * * @param phone * @param userId * @param accessToken * @return */ String getUserToken(String phone, String userId, String accessToken); /** * 发起绑卡鉴权 * * @return */ String startAuth(BindCardDto bindCardDto, UserDetail userDetail); /** * 确认短信鉴权 * @param validateCode * @param bankCardNo * @return */ String auth(String validateCode, String bankCardNo, UserDetail userDetail); /** * 直接通知扣费 * @param shanTaiPayDto * @param userDetail * @return */ ShanTaiPayInfo buyCardStartDirect(ShanTaiPayDto shanTaiPayDto, UserDetail userDetail); /** * 确认支付 * @param shanTaiPaySureDto * @return */ ConfirmVo directConfirm(ShanTaiPaySureDto shanTaiPaySureDto, UserDetail userDetail); /** * 闪态支付回调 * @param params * @param userDetail */ void callBack(Map params, UserDetail userDetail); /** * 查询订单 * @param payOrderId * @return */ GetOrderStatusVo getOrderStatus(String payOrderId); /** * 支付前用户校验 * * @param userId * @return */ boolean checkBeforePayment(Long userId); /** * 闪态支付校验 * @param request * @return */ ShanTaiCheckVo checkProtocolSignBySt(HttpServletRequest request); }