package com.nova.sankuai.controller.v2;
|
|
import com.nova.sankuai.domain.api.zhongzan.RbResponse;
|
import com.nova.sankuai.domain.dto.zhongzan.*;
|
import com.nova.sankuai.domain.entity.CapitalInfo;
|
import com.nova.sankuai.domain.entity.Customer;
|
import com.nova.sankuai.domain.entity.CustomerUser;
|
import com.nova.sankuai.infra.utils.zhongzan.ZhongZanUtil;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.validation.Valid;
|
|
@Slf4j
|
@RestController
|
@RequestMapping(value = "/api/v2/zz/")
|
@Api(tags = "众攒接口")
|
@RequiredArgsConstructor
|
@Validated
|
public class ZhongZanController {
|
private final ZhongZanUtil zhongZanUtil;
|
|
@PostMapping("getContract")
|
@ApiOperation(value = "1.获取协议", notes = "可通过此接口可获取各场景需要展示的用户协议")
|
ResponseEntity<RbResponse> getContract(@RequestBody @RequestParam(value = "type") Integer type, @RequestParam(value = "orderNo", required = false) String orderNo) {
|
log.debug("获取协议接口测试");
|
return ResponseEntity.ok(zhongZanUtil.getContract(type, orderNo));
|
}
|
|
@PostMapping("checkUser")
|
@ApiOperation(value = "2.用户准入", notes = "此接口用于确认用户是否可以申请众攒方产品")
|
ResponseEntity<RbResponse> checkUser(@RequestBody CapitalInfo capitalInfo, Customer customer, CustomerUser customerUser) {
|
log.debug("2.用户准入接口测试");
|
return ResponseEntity.ok(zhongZanUtil.checkUser(capitalInfo, customer, customerUser));
|
}
|
|
/* @PostMapping("pushProfile")
|
@ApiOperation(value = "3.进件接口", notes = "调用此接口将用户资料传输给众攒方")
|
ResponseEntity<RbResponse> pushProfile(@RequestBody Customer customer) {
|
log.debug("3.进件接口测试");
|
return ResponseEntity.ok(zhongZanUtil.pushProfile(customer));
|
}*/
|
|
@PostMapping("queryApplyResult")
|
@ApiOperation(value = "4.查询申请结果", notes = "可在需要的场景主动查询用户最终的审核结果")
|
ResponseEntity<RbResponse> queryApplyResult(@RequestParam(value = "orderNo") String orderNo) {
|
log.debug("4.查询申请结果");
|
return ResponseEntity.ok(zhongZanUtil.queryApplyResult(orderNo));
|
}
|
|
@PostMapping("pushApproval")
|
@ApiOperation(value = "5.审核结果推送", notes = "用户订单审核出结果后,众攒方会向贵方预留的回调地址推送订单状态通知。")
|
ResponseEntity<RbResponse> pushApproval(@RequestBody @Valid RequestDTO dto) {
|
log.debug("5.审核结果推送");
|
return ResponseEntity.ok(zhongZanUtil.pushApproval(dto));
|
}
|
@PostMapping("getBankCardList")
|
@ApiOperation(value = "6.银行卡信息查询", notes = "贷前授信通过后,调用此接口获取用户已绑卡列表")
|
ResponseEntity<RbResponse> getBankCardList(@RequestParam(value = "orderNo") String orderNo) {
|
log.debug("6.银行卡信息查询");
|
return ResponseEntity.ok(zhongZanUtil.getBankCardList(orderNo));
|
}
|
|
@PostMapping("sendBindCardSms")
|
@ApiOperation(value = "7.绑卡发验证码", notes = "用户填写卡信息后,点击获取验证码,调用绑卡短信发送接口,众攒方会发送短信给用户")
|
ResponseEntity<RbResponse> sendBindCardSms(@RequestBody @Valid BindCardSmsDTO dto) {
|
log.debug("7.绑卡发验证码");
|
return ResponseEntity.ok(zhongZanUtil.sendBindCardSms(dto));
|
|
}
|
@PostMapping("verifyBindCardSms")
|
@ApiOperation(value = "8.绑卡验证接口", notes = "此处校验成功,表示绑卡成功;实时返回绑卡结果。")
|
ResponseEntity<RbResponse> verifyBindCardSms(@RequestParam(value = "orderNo") String orderNo, @RequestParam(value = "verifyCode") String verifyCode, @RequestParam(value = "bindBankNo") String bindBankNo) {
|
log.debug("8.绑卡验证接口");
|
return ResponseEntity.ok(zhongZanUtil.verifyBindCardSms(orderNo, verifyCode, bindBankNo));
|
}
|
|
@PostMapping("getBankList")
|
@ApiOperation(value = "9.支持银行列表接口", notes = "可通过此接口查询支持银行卡列表,展示在前端供用户绑卡时选择")
|
ResponseEntity<RbResponse> getBankList(@RequestParam(value = "orderNo") String orderNo) {
|
log.debug("9.支持银行列表接口");
|
return ResponseEntity.ok(zhongZanUtil.getBankList(orderNo));
|
}
|
|
@PostMapping("getTrialInfo")
|
@ApiOperation(value = "10.借款试算", notes = "")
|
ResponseEntity<RbResponse> getTrialInfo(@RequestBody @Valid TrialInfoDTO dto) {
|
log.debug("10.借款试算");
|
return ResponseEntity.ok(zhongZanUtil.getTrialInfo(dto));
|
}
|
|
@PostMapping("confirmLoan")
|
@ApiOperation(value = "11.下单", notes = "")
|
ResponseEntity<RbResponse> confirmLoan(@RequestBody @Valid ConfirmLoanDTO dto) {
|
log.debug("11.下单");
|
return ResponseEntity.ok(zhongZanUtil.confirmLoan(dto));
|
}
|
|
@PostMapping("queryLoan")
|
@ApiOperation(value = "12.查询放款结果", notes = "")
|
ResponseEntity<RbResponse> queryLoan(@RequestParam(value = "orderNo") String orderNo, @RequestParam(value = "loanNo") String loanNo) {
|
log.debug("12.查询放款结果");
|
return ResponseEntity.ok(zhongZanUtil.queryLoan(orderNo, loanNo));
|
}
|
|
@PostMapping("pushLoan")
|
@ApiOperation(value = "13.放款结果推送", notes = "众攒调用")
|
ResponseEntity<?> pushLoan(@RequestBody @Valid RequestDTO dto) {
|
log.debug("13.放款结果推送");
|
return ResponseEntity.ok(zhongZanUtil.pushLoan(dto));
|
}
|
|
@PostMapping("queryRepayPlan")
|
@ApiOperation(value = "14.查询还款计划", notes = "")
|
ResponseEntity<RbResponse> queryRepayPlan(@RequestParam(value = "orderNo") String orderNo, @RequestParam(value = "loanNo") String loanNo) {
|
log.debug("14.查询还款计划");
|
return ResponseEntity.ok(zhongZanUtil.queryRepayPlan(orderNo, loanNo));
|
}
|
|
@PostMapping("pushRepayResult")
|
@ApiOperation(value = "15.还款结果推送", notes = "众攒调用")
|
ResponseEntity<?> pushRepayResult(@RequestBody @Valid RequestDTO dto) {
|
log.debug("15.还款结果推送");
|
return ResponseEntity.ok(zhongZanUtil.pushRepayResult(dto));
|
}
|
|
@PostMapping("queryRepayUrl")
|
@ApiOperation(value = "16.还款H5页面获取接口", notes = "可在需要的场景主动查询用户最终的审核结果")
|
ResponseEntity<RbResponse> queryRepayUrl(@RequestBody @Valid RepayDTO dto) {
|
log.debug("16.还款H5页面获取接口");
|
return ResponseEntity.ok(zhongZanUtil.queryRepayUrl(dto));
|
}
|
|
}
|