feat(handler): 暴露健康档案 upsert 接口(T-204)
This commit is contained in:
@@ -6,32 +6,20 @@ import (
|
||||
|
||||
"chis_osi/config"
|
||||
"chis_osi/handler"
|
||||
"chis_osi/osi"
|
||||
)
|
||||
|
||||
// runServer 启动 server 模式 HTTP 服务,暴露查询端点。
|
||||
// runServer 启动 server 模式 HTTP 服务。
|
||||
func runServer(cfg config.Config, addr string) error {
|
||||
client, err := buildOSIClient(cfg)
|
||||
if err != nil {
|
||||
return fmt.Errorf("build osi client: %w", err)
|
||||
}
|
||||
|
||||
hr := handler.NewHealthRecordHandler(client)
|
||||
hc := handler.NewHealthCheckHandler(client)
|
||||
elderly := handler.NewElderlyHandler(client)
|
||||
pub := handler.NewPublicHandler(client)
|
||||
mux := http.NewServeMux()
|
||||
mux.HandleFunc("/api/health-record/find", hr.Find)
|
||||
mux.HandleFunc("/api/health-record/crowd", hr.Crowd)
|
||||
mux.HandleFunc("/api/health-check/last", hc.Last)
|
||||
mux.HandleFunc("/api/health-check/all", hc.All)
|
||||
mux.HandleFunc("/api/health-check/list", hc.List)
|
||||
mux.HandleFunc("/api/elderly/self-care", elderly.SelfCare)
|
||||
mux.HandleFunc("/api/dictionaries/grid-addresses", pub.GridAddresses)
|
||||
mux.HandleFunc("/api/dictionaries/doctors", pub.Doctors)
|
||||
mux.HandleFunc("/api/dictionaries/drugs", pub.Drugs)
|
||||
mux.HandleFunc("/api/dictionaries/orgs", pub.Orgs)
|
||||
mux := newServerMux(client, newServerHealthRecordUpserter(client))
|
||||
|
||||
fmt.Printf("chis_osi server listening on %s\n", addr)
|
||||
fmt.Printf(" POST http://%s/api/health-record/upsert\n", addr)
|
||||
fmt.Printf(" GET http://%s/api/health-record/find?idCard=<身份证>\n", addr)
|
||||
fmt.Printf(" GET http://%s/api/health-record/crowd?idCard=<身份证>\n", addr)
|
||||
fmt.Printf(" GET http://%s/api/health-check/last?idCard=<身份证>\n", addr)
|
||||
@@ -46,3 +34,25 @@ func runServer(cfg config.Config, addr string) error {
|
||||
server := &http.Server{Addr: addr, Handler: mux}
|
||||
return server.ListenAndServe()
|
||||
}
|
||||
|
||||
func newServerMux(client *osi.Client, upserter handler.HealthRecordUpserter) *http.ServeMux {
|
||||
hr := handler.NewHealthRecordHandler(client)
|
||||
hu := handler.NewHealthRecordUpsertHandler(upserter)
|
||||
hc := handler.NewHealthCheckHandler(client)
|
||||
elderly := handler.NewElderlyHandler(client)
|
||||
pub := handler.NewPublicHandler(client)
|
||||
mux := http.NewServeMux()
|
||||
mux.HandleFunc("/api/health-record/upsert", hu.Upsert)
|
||||
mux.HandleFunc("/api/health-record/find", hr.Find)
|
||||
mux.HandleFunc("/api/health-record/crowd", hr.Crowd)
|
||||
mux.HandleFunc("/api/health-check/last", hc.Last)
|
||||
mux.HandleFunc("/api/health-check/all", hc.All)
|
||||
mux.HandleFunc("/api/health-check/list", hc.List)
|
||||
mux.HandleFunc("/api/elderly/self-care", elderly.SelfCare)
|
||||
mux.HandleFunc("/api/dictionaries/grid-addresses", pub.GridAddresses)
|
||||
mux.HandleFunc("/api/dictionaries/doctors", pub.Doctors)
|
||||
mux.HandleFunc("/api/dictionaries/drugs", pub.Drugs)
|
||||
mux.HandleFunc("/api/dictionaries/orgs", pub.Orgs)
|
||||
|
||||
return mux
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user