sunshine
2024-11-05 1bd51ea22b75760704843d9bed886a7262bb1cb1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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<RbResponse> check(@RequestBody @Valid RongBeBasicDto body, HttpServletRequest request) {
        log.info("准入接口测试");
        return ResponseEntity.ok(wolaidaiUtil.wld2ThirdPlatform(body, "check"));
    }
 
    @PostMapping("apply")
    @ApiOperation(value = "进件接口", notes = "提交进件所需全部资料")
    ResponseEntity<RbResponse> apply(@RequestBody @Valid RongBeBasicDto body, HttpServletRequest request) {
        return ResponseEntity.ok(wolaidaiUtil.wld2ThirdPlatform(body, "apply"));
    }
 
    @PostMapping("order_status")
    @ApiOperation(value = "进件接口", notes = "用于流量平台主动查询在产品方的进件订单状态")
    ResponseEntity<RbResponse> orderStatus(@RequestBody @Valid RongBeBasicDto body, HttpServletRequest request) {
        log.debug("进件接口测试");
        return ResponseEntity.ok(wolaidaiUtil.wld2ThirdPlatform(body, "order_status"));
    }
 
    @PostMapping("conclusion")
    @ApiOperation(value = "查询授信结果", notes = "用于流量平台主动查询在产品方进件的授信结果")
    ResponseEntity<RbResponse> conclusion(@RequestBody @Valid RongBeBasicDto body, HttpServletRequest request) {
        log.debug("进件接口测试");
        return ResponseEntity.ok(wolaidaiUtil.wld2ThirdPlatform(body, "conclusion"));
    }
 
    @PostMapping("repay_info")
    @ApiOperation(value = "查询还款计划接口", notes = "用于流量平台主动查询在产品方放款订单的还款计划")
    ResponseEntity<RbResponse> 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<RbResponse> 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<RbResponse> orderStatusByWld(@RequestBody @Valid RongBeBasicDto body) {
        log.debug("接受订单状态接口测试");
        return ResponseEntity.ok(wolaidaiUtil.checkOrderStatusByWld(body));
    }
 
    @PostMapping("wld/credit_result")
    @ApiOperation(value = "接受授信结果接口", notes = "可通过此接口触发推送产品方的订单授信结果。")
    ResponseEntity<RbResponse> creditResult(@RequestBody @Valid RongBeBasicDto body) {
        log.debug("接受授信结果接口");
        return ResponseEntity.ok(wolaidaiUtil.creditResultByWld(body));
    }
 
    @PostMapping("wld/repay_info")
    @ApiOperation(value = "接受还款计划接口", notes = "可通过此接口触发推送已放款订单的还款计划")
    ResponseEntity<RbResponse> repayInfoByWld(@RequestBody @Valid RongBeBasicDto body) {
        log.debug("接受还款计划接口测试");
        return ResponseEntity.ok(wolaidaiUtil.repayInfoByWld(body));
    }
 
    @PostMapping("h5/click")
    @ApiOperation(value = "H5用户点击链接埋点")
    ResponseEntity<RbResponse> h5Click(@RequestParam String mobile, @RequestParam Integer type) {
        return ResponseEntity.ok(wolaidaiUtil.saveH5ClickRecord(mobile, type));
    }
 
}