package com.nova.sankuai.controller.v2.callback; import com.nova.sankuai.domain.api.rongbei.RbResponse; import com.nova.sankuai.domain.dto.rongbei.RongBeBasicDto; import com.nova.sankuai.infra.utils.wolaidai.WolaidaiUtil; 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.servlet.http.HttpServletRequest; import javax.validation.Valid; @Slf4j @RestController @RequestMapping(value = "/api/v2/") @Api(tags = "我来贷接口") @RequiredArgsConstructor @Validated public class WoLaiDaiController { private final WolaidaiUtil wolaidaiUtil; @PostMapping("check") @ApiOperation(value = "准入接口", notes = "检测用户是否满足产品方借款申请的条件") ResponseEntity check(@RequestBody @Valid RongBeBasicDto body, HttpServletRequest request) { log.info("准入接口测试"); return ResponseEntity.ok(wolaidaiUtil.wld2ThirdPlatform(body, "check")); } @PostMapping("apply") @ApiOperation(value = "进件接口", notes = "提交进件所需全部资料") ResponseEntity apply(@RequestBody @Valid RongBeBasicDto body, HttpServletRequest request) { return ResponseEntity.ok(wolaidaiUtil.wld2ThirdPlatform(body, "apply")); } @PostMapping("order_status") @ApiOperation(value = "进件接口", notes = "用于流量平台主动查询在产品方的进件订单状态") ResponseEntity orderStatus(@RequestBody @Valid RongBeBasicDto body, HttpServletRequest request) { log.debug("进件接口测试"); return ResponseEntity.ok(wolaidaiUtil.wld2ThirdPlatform(body, "order_status")); } @PostMapping("conclusion") @ApiOperation(value = "查询授信结果", notes = "用于流量平台主动查询在产品方进件的授信结果") ResponseEntity conclusion(@RequestBody @Valid RongBeBasicDto body, HttpServletRequest request) { log.debug("进件接口测试"); return ResponseEntity.ok(wolaidaiUtil.wld2ThirdPlatform(body, "conclusion")); } @PostMapping("repay_info") @ApiOperation(value = "查询还款计划接口", notes = "用于流量平台主动查询在产品方放款订单的还款计划") ResponseEntity repayInfo(@RequestBody @Valid RongBeBasicDto body, HttpServletRequest request) { log.debug("查询还款计划接口测试"); return ResponseEntity.ok(wolaidaiUtil.wld2ThirdPlatform(body, "repay_info")); } @PostMapping("h5_url") @ApiOperation(value = "获取跳转H5页面地址接口", notes = "获取产品方联登后的H5页面URL,访问该URL将跳转到产品方的页面") ResponseEntity h5Url(@RequestBody @Valid RongBeBasicDto body, HttpServletRequest request) { log.debug("获取跳转H5页面地址接口测试"); return ResponseEntity.ok(wolaidaiUtil.wld2ThirdPlatform(body, "h5_url")); } @PostMapping("wld/order_status") @ApiOperation(value = "接受订单状态接口", notes = "产品方的订单状态存在变更,可通过此接口触发推送") ResponseEntity orderStatusByWld(@RequestBody @Valid RongBeBasicDto body) { log.debug("接受订单状态接口测试"); return ResponseEntity.ok(wolaidaiUtil.checkOrderStatusByWld(body)); } @PostMapping("wld/credit_result") @ApiOperation(value = "接受授信结果接口", notes = "可通过此接口触发推送产品方的订单授信结果。") ResponseEntity creditResult(@RequestBody @Valid RongBeBasicDto body) { log.debug("接受授信结果接口"); return ResponseEntity.ok(wolaidaiUtil.creditResultByWld(body)); } @PostMapping("wld/repay_info") @ApiOperation(value = "接受还款计划接口", notes = "可通过此接口触发推送已放款订单的还款计划") ResponseEntity repayInfoByWld(@RequestBody @Valid RongBeBasicDto body) { log.debug("接受还款计划接口测试"); return ResponseEntity.ok(wolaidaiUtil.repayInfoByWld(body)); } @PostMapping("h5/click") @ApiOperation(value = "H5用户点击链接埋点") ResponseEntity h5Click(@RequestParam String mobile, @RequestParam Integer type) { return ResponseEntity.ok(wolaidaiUtil.saveH5ClickRecord(mobile, type)); } }