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:
+14
-9
@@ -49,6 +49,18 @@ func NewClient(config ClientConfig) *Client {
|
||||
}
|
||||
|
||||
func (c *Client) Call(ctx context.Context, serviceID string, baseInfo any, out any) (Result, error) {
|
||||
uploadInfo := contract.UploadInfo{
|
||||
BaseInfo: baseInfo,
|
||||
ManageInfo: contract.ManageInfo{
|
||||
DSFMC: c.config.UserName,
|
||||
OperateUser: c.config.OperateUser,
|
||||
OperateUnit: c.operateUnit(),
|
||||
},
|
||||
}
|
||||
return c.callUploadInfo(ctx, serviceID, uploadInfo, out)
|
||||
}
|
||||
|
||||
func (c *Client) callUploadInfo(ctx context.Context, serviceID string, uploadInfo any, out any) (Result, error) {
|
||||
if c.transport == nil {
|
||||
transport, err := NewTransport(TransportConfig{})
|
||||
if err != nil {
|
||||
@@ -63,15 +75,8 @@ func (c *Client) Call(ctx context.Context, serviceID string, baseInfo any, out a
|
||||
}
|
||||
|
||||
payload := contract.Envelope{
|
||||
ServiceID: serviceID,
|
||||
UploadInfo: contract.UploadInfo{
|
||||
BaseInfo: baseInfo,
|
||||
ManageInfo: contract.ManageInfo{
|
||||
DSFMC: c.config.UserName,
|
||||
OperateUser: c.config.OperateUser,
|
||||
OperateUnit: c.operateUnit(),
|
||||
},
|
||||
},
|
||||
ServiceID: serviceID,
|
||||
UploadInfo: uploadInfo,
|
||||
}
|
||||
|
||||
targetURL := c.urlFor(path)
|
||||
|
||||
Reference in New Issue
Block a user