Files
ccdi/ccdi-lsfx/src/main/java/com/ruoyi/lsfx/controller/CreditParseController.java

49 lines
2.0 KiB
Java
Raw Normal View History

2026-03-23 16:01:46 +08:00
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;
2026-03-23 16:01:46 +08:00
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远程地址并调用外部解析服务")
2026-03-23 16:01:46 +08:00
@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远程地址不能为空");
2026-03-23 16:01:46 +08:00
}
String actualModel = StringUtils.isBlank(model) ? DEFAULT_MODEL : model;
try {
CreditParseInvokeResponse response = creditParseClient.parse(actualModel, remotePath);
2026-03-23 16:01:46 +08:00
return AjaxResult.success(response);
} catch (LsfxApiException e) {
return AjaxResult.error(e.getMessage());
} catch (Exception e) {
return AjaxResult.error("征信解析失败:" + e.getMessage());
}
}
}