79 lines
2.5 KiB
Go
79 lines
2.5 KiB
Go
package osi
|
||
|
||
import "context"
|
||
|
||
type GridAddressQuery struct {
|
||
ParentCode string `json:"parentCode,omitempty"`
|
||
PageNo int `json:"pageNo,omitempty"`
|
||
OperateUser string `json:"operateUser,omitempty"`
|
||
}
|
||
|
||
type GridAddress struct {
|
||
RegionCode string `json:"regionCode"`
|
||
RegionName string `json:"regionName"`
|
||
IsFamily string `json:"isFamily"`
|
||
}
|
||
|
||
type DoctorQuery struct {
|
||
ManaUnitID string `json:"manaUnitId,omitempty"`
|
||
OperateUser string `json:"operateUser,omitempty"`
|
||
}
|
||
|
||
type Doctor struct {
|
||
PersonID string `json:"personId"`
|
||
PersonName string `json:"personName"`
|
||
}
|
||
|
||
type DrugQuery struct {
|
||
PageNo int `json:"pageNo"` // docx 必填,不加 omitempty 以确保 pageNo=0 也上送(避免被平台判缺参)
|
||
PageSize int `json:"pageSize,omitempty"`
|
||
YPMC string `json:"ypmc,omitempty"`
|
||
PYM string `json:"pym,omitempty"`
|
||
}
|
||
|
||
type Drug struct {
|
||
YPMC string `json:"ypmc"`
|
||
YPDW string `json:"ypdw"`
|
||
YPGG string `json:"ypgg"`
|
||
JLDW string `json:"jldw"`
|
||
}
|
||
|
||
type OrgQuery struct {
|
||
// docx 二者均标必填;联调验证通过的请求是两 key 都在(organizCode + parentId 可为 "")。
|
||
// 不加 omitempty,确保 parentId="" 也上送,避免像网格地址那样必填空值被丢导致平台 NPE(code=02)。
|
||
OrganizCode string `json:"organizCode"`
|
||
ParentID string `json:"parentId"`
|
||
}
|
||
|
||
type Org struct {
|
||
OrganizCode string `json:"organizCode"`
|
||
OrganizName string `json:"organizName"`
|
||
OrganizType string `json:"organizType"` // A医院/B社区中心(站)/C卫生院/D门诊诊所村室/D6村卫生室/R市卫生局
|
||
ParentID string `json:"parentId"`
|
||
RegionCode string `json:"regionCode"` // 机构所在网格码;联调实测可为 null(→"")
|
||
}
|
||
|
||
func (c *Client) QueryGridAddress(ctx context.Context, query GridAddressQuery) ([]GridAddress, Result, error) {
|
||
var rows []GridAddress
|
||
result, err := c.Call(ctx, ServiceIDGridAddress, query, &rows)
|
||
return rows, result, err
|
||
}
|
||
|
||
func (c *Client) QueryDoctors(ctx context.Context, query DoctorQuery) ([]Doctor, Result, error) {
|
||
var rows []Doctor
|
||
result, err := c.Call(ctx, ServiceIDDoctors, query, &rows)
|
||
return rows, result, err
|
||
}
|
||
|
||
func (c *Client) QueryDrugs(ctx context.Context, query DrugQuery) ([]Drug, Result, error) {
|
||
var rows []Drug
|
||
result, err := c.Call(ctx, ServiceIDDrugs, query, &rows)
|
||
return rows, result, err
|
||
}
|
||
|
||
func (c *Client) QueryOrgs(ctx context.Context, query OrgQuery) ([]Org, Result, error) {
|
||
var rows []Org
|
||
result, err := c.Call(ctx, ServiceIDOrgs, query, &rows)
|
||
return rows, result, err
|
||
}
|