Files

79 lines
2.5 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
}