feat(osi): 实现 JKDA 档案 Create/Update 与创建请求契约(T-206)
- contract/jkda.go 补创建请求结构体(healthRecord + manageInfo + 既往史节点) - osi/jkda.go 新增 CreateHealthRecord/UpdateHealthRecord - osi/codes.go 登记 JKDA00001 create / JKDA00003 update serviceId 与路径 - mapping 映射创建路径(真实字典快照反查主数据) - 代码与单测完成;真实 create 待安全测试档案与写入授权(见 tasks.md T-206 BLOCKED) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+20
@@ -23,6 +23,19 @@ type PersonSignResult struct {
|
||||
PersonSign string `json:"personSign"`
|
||||
}
|
||||
|
||||
func (c *Client) CreateHealthRecord(ctx context.Context, req contract.HealthRecordCreate) (contract.HealthRecordSaveResult, Result, error) {
|
||||
req.ManageInfo = c.manageInfo()
|
||||
var out contract.HealthRecordSaveResult
|
||||
result, err := c.callUploadInfo(ctx, ServiceIDJKDACreate, req, &out)
|
||||
return out, result, err
|
||||
}
|
||||
|
||||
func (c *Client) UpdateHealthRecord(ctx context.Context, req contract.HealthRecordCreate) (contract.HealthRecordSaveResult, Result, error) {
|
||||
req.ManageInfo = c.manageInfo()
|
||||
var out contract.HealthRecordSaveResult
|
||||
result, err := c.callUploadInfo(ctx, ServiceIDJKDAUpdate, req, &out)
|
||||
return out, result, err
|
||||
}
|
||||
func (c *Client) FindHealthRecord(ctx context.Context, query FindHealthRecordQuery) ([]contract.FindHealthRecord, Result, error) {
|
||||
baseInfo, err := query.baseInfo()
|
||||
if err != nil {
|
||||
@@ -43,6 +56,13 @@ func (c *Client) FindRqbj(ctx context.Context, query FindRqbjQuery) (PersonSignR
|
||||
return personSign, result, err
|
||||
}
|
||||
|
||||
func (c *Client) manageInfo() contract.ManageInfo {
|
||||
return contract.ManageInfo{
|
||||
DSFMC: c.config.UserName,
|
||||
OperateUser: c.config.OperateUser,
|
||||
OperateUnit: c.operateUnit(),
|
||||
}
|
||||
}
|
||||
func (q FindHealthRecordQuery) baseInfo() (map[string]string, error) {
|
||||
fields := []queryField{
|
||||
{name: "idCard", value: q.IDCard},
|
||||
|
||||
Reference in New Issue
Block a user