perf: 优化金蝶付款处理查询按外部来源单据编号精确过滤

This commit is contained in:
刘泉佳
2026-11-03 19:41:29 +08:00
parent c568499f8e
commit 281ba78340
5 changed files with 90 additions and 60 deletions
@@ -220,10 +220,11 @@ public interface IBfiClient {
* @param accessToken 访问令牌,通过 getToken 获取
* @param pageNo 页码,从1开始
* @param pageSize 页数
* @param beginBizdate 开始业务日期
* @param endBizdate 结束业务日期
* @param beginBizdate 开始业务日期,必传
* @param endBizdate 结束业务日期,必传
* @param billno 单据编号
* @param orgNumber 付款人(公司).编码
* @param orgNumber 付款人(公司).编码,必传,支持多个
* @param awrpSourceBillno 外部来源单据编号(付款申请金蝶单据号),支持多个,精确过滤付款处理单
* @return 付款处理分页数据
*/
@GetMapping(PAY_BILL_QUERY_URL)
@@ -233,7 +234,8 @@ public interface IBfiClient {
@RequestParam("beigin_bizdate") String beginBizdate,
@RequestParam("end_bizdate") String endBizdate,
@RequestParam(value = "billno", required = false) List<String> billno,
@RequestParam("org_number") List<String> orgNumber);
@RequestParam("org_number") List<String> orgNumber,
@RequestParam(value = "awrp_sourcebillno", required = false) List<String> awrpSourceBillno);
/**
* A902-1 客户查询
@@ -64,7 +64,11 @@ public class BfiPayBillQueryDTO implements Serializable {
*/
private List<String> billno;
/**
* 付款人(公司).编码
* 付款人(公司).编码,必传,支持多个
*/
private List<String> orgNumber;
/**
* 外部来源单据编号(付款申请金蝶单据号),支持多个,精确过滤付款处理单
*/
private List<String> awrpSourceBillno;
}
@@ -294,6 +294,7 @@ public class BfiServiceImpl implements IBfiService {
if (param == null || param.getPageNo() == null || param.getPageSize() == null) {
throw new BfiException("查询BFI付款处理失败,分页参数不能为空");
}
// 接口必填参数:业务日期范围 + 付款组织编码;awrp_sourcebillno 可选,精确过滤付款处理单
if (StringUtil.isBlank(param.getBeginBizdate()) || StringUtil.isBlank(param.getEndBizdate())) {
throw new BfiException("查询BFI付款处理失败,业务日期范围不能为空");
}
@@ -302,7 +303,8 @@ public class BfiServiceImpl implements IBfiService {
}
String accessToken = getAccessToken();
BfiResultVO<BfiPageVO<BfiPayBillVO>> result = commonCall("付款处理查询", () -> client.payBillQuery(accessToken,
param.getPageNo(), param.getPageSize(), param.getBeginBizdate(), param.getEndBizdate(), param.getBillno(), param.getOrgNumber()));
param.getPageNo(), param.getPageSize(), param.getBeginBizdate(), param.getEndBizdate(), param.getBillno(),
param.getOrgNumber(), param.getAwrpSourceBillno()));
return result.getData();
}