49 lines
2.0 KiB
Java
49 lines
2.0 KiB
Java
package com.ruoyi.lsfx.controller;
|
||
|
||
import com.ruoyi.common.annotation.Anonymous;
|
||
import com.ruoyi.common.core.domain.AjaxResult;
|
||
import com.ruoyi.common.utils.StringUtils;
|
||
import com.ruoyi.lsfx.client.CreditParseClient;
|
||
import com.ruoyi.lsfx.domain.response.CreditParseInvokeResponse;
|
||
import com.ruoyi.lsfx.exception.LsfxApiException;
|
||
import io.swagger.v3.oas.annotations.Operation;
|
||
import io.swagger.v3.oas.annotations.Parameter;
|
||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||
import jakarta.annotation.Resource;
|
||
import org.springframework.web.bind.annotation.PostMapping;
|
||
import org.springframework.web.bind.annotation.RequestMapping;
|
||
import org.springframework.web.bind.annotation.RequestParam;
|
||
import org.springframework.web.bind.annotation.RestController;
|
||
|
||
@Tag(name = "征信解析接口测试", description = "用于测试征信解析接口")
|
||
@Anonymous
|
||
@RestController
|
||
@RequestMapping("/lsfx/credit")
|
||
public class CreditParseController {
|
||
|
||
private static final String DEFAULT_MODEL = "LXCUSTALL";
|
||
|
||
@Resource
|
||
private CreditParseClient creditParseClient;
|
||
|
||
@Operation(summary = "解析征信HTML", description = "传入征信HTML远程地址并调用外部解析服务")
|
||
@PostMapping("/parse")
|
||
public AjaxResult parse(@Parameter(description = "征信HTML远程访问地址") @RequestParam("remotePath") String remotePath,
|
||
@Parameter(description = "模型编码,默认LXCUSTALL") @RequestParam(required = false) String model) {
|
||
if (StringUtils.isBlank(remotePath)) {
|
||
return AjaxResult.error("征信HTML远程地址不能为空");
|
||
}
|
||
|
||
String actualModel = StringUtils.isBlank(model) ? DEFAULT_MODEL : model;
|
||
|
||
try {
|
||
CreditParseInvokeResponse response = creditParseClient.parse(actualModel, remotePath);
|
||
return AjaxResult.success(response);
|
||
} catch (LsfxApiException e) {
|
||
return AjaxResult.error(e.getMessage());
|
||
} catch (Exception e) {
|
||
return AjaxResult.error("征信解析失败:" + e.getMessage());
|
||
}
|
||
}
|
||
}
|