package com.nova.sankuai.controller.v2;
|
|
import com.nova.sankuai.domain.api.baofu.BaofuCheckVo;
|
import com.nova.sankuai.domain.api.baofu.BaofuRecordPayInfo;
|
import com.nova.sankuai.domain.api.baofu.RecordDto;
|
import com.nova.sankuai.domain.api.shantai.ConfirmVo;
|
import com.nova.sankuai.infra.config.CommonException;
|
import com.nova.sankuai.infra.utils.ResultJson;
|
import com.nova.sankuai.security.UserDetail;
|
import com.nova.sankuai.service.IBaofuService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.AllArgsConstructor;
|
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
@Api(tags = "宝付支付")
|
@RestController
|
@RequestMapping(value = "/api/v2/pay/bf")
|
@AllArgsConstructor
|
public class BaofuPayV2Controller {
|
|
private final IBaofuService baofuService;
|
|
@PostMapping(value = "/startAuth")
|
@ApiOperation(value = "发起预绑卡")
|
public ResultJson<BaofuRecordPayInfo> startAuth(@RequestBody RecordDto recordDto, @AuthenticationPrincipal UserDetail userDetail) {
|
BaofuRecordPayInfo recordPayInfo = baofuService.startAuth(recordDto, userDetail);
|
if (recordPayInfo.getError() != null) {
|
throw new CommonException(recordPayInfo.getError());
|
}
|
return ResultJson.ok(recordPayInfo);
|
}
|
|
@PostMapping(value = "/checkProtocolSignByBf")
|
@ApiOperation(value = "用户宝付快捷支付签约校验")
|
public ResultJson<BaofuCheckVo> checkProtocolSignByBf(HttpServletRequest request) {
|
BaofuCheckVo baofuCheckVo = baofuService.checkProtocolSignByBf(request);
|
return ResultJson.ok(baofuCheckVo);
|
}
|
|
/**
|
* 注:确认绑卡只需传唯一码uniqueCode和收到的短信码validateCode
|
*/
|
@PostMapping(value = "/auth")
|
@ApiOperation(value = "确认绑卡")
|
public ResultJson<BaofuRecordPayInfo> auth(@RequestBody RecordDto recordDto, @AuthenticationPrincipal UserDetail userDetail) {
|
BaofuRecordPayInfo recordPayInfo = baofuService.auth(recordDto, userDetail);
|
if (recordPayInfo.getError() != null) {
|
throw new CommonException(recordPayInfo.getError());
|
}
|
return ResultJson.ok(recordPayInfo);
|
}
|
|
@PostMapping(value = "/confirmPay")
|
@ApiOperation(value = "确认支付")
|
public ResultJson<ConfirmVo> confirmPay(@RequestBody RecordDto recordDto, @AuthenticationPrincipal UserDetail userDetail) {
|
BaofuRecordPayInfo recordPayInfo = baofuService.confirmPay(recordDto, userDetail);
|
if (recordPayInfo.getError() != null) {
|
throw new CommonException(recordPayInfo.getError());
|
}
|
ConfirmVo vo = new ConfirmVo();
|
vo.setResult(true);
|
return ResultJson.ok(vo);
|
}
|
}
|