feat(osi): 某人全部体检查询 JKTJ00002(T-306)

- osi.QueryHealthChecks(/auto/jktj/query,返回全部体检数组)
- contract.HealthCheckRecordSummary:驼峰 idCard(≠最近一次小写 idcard)、checkId 可空
- HTTP 端点 GET /api/health-check/all
- 单测含 null checkId 场景;实测端点已部署

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ila
2026-07-08 22:14:39 +08:00
co-authored by Claude Opus 4.8
parent 00b02b76f6
commit f3c5e1bf8d
7 changed files with 117 additions and 4 deletions
+13
View File
@@ -25,6 +25,19 @@ func (c *Client) LastHealthCheck(ctx context.Context, query FindHealthCheckQuery
return summary, result, err
}
// QueryHealthChecks 查询某人全部体检(JKTJ00002 /auto/jktj/query)。
// data 为数组=该人全部体检历史;summaries 只取定位字段(checkId/checkDate 等),
// 每条完整体检内容见返回的 Result.Raw。历史记录 checkId 可能为空,按 checkDate 区分。
func (c *Client) QueryHealthChecks(ctx context.Context, query FindHealthCheckQuery) ([]contract.HealthCheckRecordSummary, Result, error) {
baseInfo, err := query.baseInfo()
if err != nil {
return nil, Result{}, err
}
var summaries []contract.HealthCheckRecordSummary
result, err := c.Call(ctx, ServiceIDJKTJQuery, baseInfo, &summaries)
return summaries, result, err
}
func (q FindHealthCheckQuery) baseInfo() (map[string]string, error) {
fields := []queryField{
{name: "idCard", value: q.IDCard},