|
@@ -354,7 +354,7 @@ func Gdyb2201(psnNo string, insutype string, certNo string, org_name string, ope
|
354
|
354
|
|
355
|
355
|
}
|
356
|
356
|
|
357
|
|
-func Gdyb2201A(psnNo string, insutype string, certNo string, org_name string, opera string, ipt_otp_no string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, doctor_name string, record_time string) (string, string) {
|
|
357
|
+func Gdyb2201A(psnNo string, insutype string, certNo string, org_name string, opera string, ipt_otp_no string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, doctor_name string, record_time string, token string) (string, string) {
|
358
|
358
|
fmt.Println(opera)
|
359
|
359
|
|
360
|
360
|
// 生成签名
|
|
@@ -376,6 +376,10 @@ func Gdyb2201A(psnNo string, insutype string, certNo string, org_name string, op
|
376
|
376
|
if id_card_type == 1 {
|
377
|
377
|
inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
|
378
|
378
|
inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
|
|
379
|
+ } else if id_card_type == 4 {
|
|
380
|
+
|
|
381
|
+ inputData["mdtrt_cert_type"] = "01" // 就诊凭证类型
|
|
382
|
+ inputData["mdtrt_cert_no"] = token // 就诊凭证编号
|
379
|
383
|
} else {
|
380
|
384
|
inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
|
381
|
385
|
inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
|
|
@@ -3829,7 +3833,7 @@ func Gdyb1101G(certNo string, org_name string, doctor string, fixmedins_code str
|
3829
|
3833
|
return str
|
3830
|
3834
|
}
|
3831
|
3835
|
|
3832
|
|
-func Gdyb1101ForEleCert(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string) string {
|
|
3836
|
+func Gdyb1101ForEleCert(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, token string) (string, string) {
|
3833
|
3837
|
//生成签名
|
3834
|
3838
|
nonce := GetRandomString(32)
|
3835
|
3839
|
timestamp := time.Now().Unix()
|
|
@@ -3845,9 +3849,9 @@ func Gdyb1101ForEleCert(org_name string, doctor string, fixmedins_code string, i
|
3845
|
3849
|
inputData["certno"] = "" // 证件号码
|
3846
|
3850
|
inputData["psn_cert_type"] = "01" // 人员证件类型
|
3847
|
3851
|
|
3848
|
|
- inputData["mdtrt_cert_no"] = "" // 就诊凭证编号
|
3849
|
|
- inputData["begntime"] = "" // 开始时间
|
3850
|
|
- inputData["psn_name"] = "" // 人员姓名
|
|
3852
|
+ inputData["mdtrt_cert_no"] = token // 就诊凭证编号
|
|
3853
|
+ inputData["begntime"] = "" // 开始时间
|
|
3854
|
+ inputData["psn_name"] = "" // 人员姓名
|
3851
|
3855
|
input["data"] = inputData
|
3852
|
3856
|
inputMessage["input"] = input //交易输入
|
3853
|
3857
|
|
|
@@ -3855,7 +3859,7 @@ func Gdyb1101ForEleCert(org_name string, doctor string, fixmedins_code string, i
|
3855
|
3859
|
fmt.Println(string(bytesData))
|
3856
|
3860
|
if err != nil {
|
3857
|
3861
|
fmt.Println(err.Error())
|
3858
|
|
- return err.Error()
|
|
3862
|
+ return err.Error(), ""
|
3859
|
3863
|
}
|
3860
|
3864
|
reader := bytes.NewReader(bytesData)
|
3861
|
3865
|
gdyb_url := beego.AppConfig.String("gdyb_url")
|
|
@@ -3877,7 +3881,7 @@ func Gdyb1101ForEleCert(org_name string, doctor string, fixmedins_code string, i
|
3877
|
3881
|
request, err := http.NewRequest("POST", url, reader)
|
3878
|
3882
|
if err != nil {
|
3879
|
3883
|
fmt.Println(err.Error())
|
3880
|
|
- return err.Error()
|
|
3884
|
+ return err.Error(), ""
|
3881
|
3885
|
}
|
3882
|
3886
|
|
3883
|
3887
|
request.Header.Set("Content-Type", "application/json;charset=UTF-8")
|
|
@@ -3890,16 +3894,90 @@ func Gdyb1101ForEleCert(org_name string, doctor string, fixmedins_code string, i
|
3890
|
3894
|
resp, err := client.Do(request)
|
3891
|
3895
|
if err != nil {
|
3892
|
3896
|
fmt.Println(err.Error())
|
3893
|
|
- return err.Error()
|
|
3897
|
+ return err.Error(), ""
|
3894
|
3898
|
}
|
3895
|
3899
|
respBytes, err := ioutil.ReadAll(resp.Body)
|
3896
|
3900
|
if err != nil {
|
3897
|
3901
|
fmt.Println(err.Error())
|
3898
|
|
- return err.Error()
|
|
3902
|
+ return err.Error(), ""
|
3899
|
3903
|
}
|
3900
|
3904
|
fmt.Println(string(respBytes))
|
3901
|
3905
|
str := string(respBytes)
|
3902
|
|
- return str
|
|
3906
|
+ return str, string(bytesData)
|
|
3907
|
+
|
|
3908
|
+}
|
|
3909
|
+
|
|
3910
|
+func Gdyb6101(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string) (string, string) {
|
|
3911
|
+ //生成签名
|
|
3912
|
+ nonce := GetRandomString(32)
|
|
3913
|
+ timestamp := time.Now().Unix()
|
|
3914
|
+ signature := setSignature(timestamp, nonce, secret_key)
|
|
3915
|
+ //生成输入报文
|
|
3916
|
+ inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
|
|
3917
|
+ input := make(map[string]interface{})
|
|
3918
|
+ inputData := make(map[string]interface{})
|
|
3919
|
+ inputMessage["infno"] = "6101" // 交易编码
|
|
3920
|
+
|
|
3921
|
+ inputData["orgId"] = fixmedins_code // 就诊凭证类型
|
|
3922
|
+ inputData["businessType"] = "01101" // 卡识别码
|
|
3923
|
+ inputData["businessInfo"] = "" // 证件号码
|
|
3924
|
+ inputData["operateorId"] = "01" // 人员证件类型
|
|
3925
|
+ inputData["operateornName"] = doctor // 就诊凭证编号
|
|
3926
|
+ inputData["officeId"] = "01" // 开始时间
|
|
3927
|
+ inputData["officeName"] = "血透" // 人员姓名
|
|
3928
|
+ inputData["deviceType"] = "" // 人员姓名
|
|
3929
|
+ input["InData"] = inputData
|
|
3930
|
+ inputMessage["input"] = input //交易输入
|
|
3931
|
+
|
|
3932
|
+ bytesData, err := json.Marshal(inputMessage)
|
|
3933
|
+ fmt.Println(string(bytesData))
|
|
3934
|
+ if err != nil {
|
|
3935
|
+ fmt.Println(err.Error())
|
|
3936
|
+ return err.Error(), ""
|
|
3937
|
+ }
|
|
3938
|
+ reader := bytes.NewReader(bytesData)
|
|
3939
|
+ gdyb_url := beego.AppConfig.String("gdyb_url")
|
|
3940
|
+ gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
|
|
3941
|
+
|
|
3942
|
+ //url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/1101"
|
|
3943
|
+ //url := gdyb_url + "1101"
|
|
3944
|
+ var url string
|
|
3945
|
+ if fixmedins_code == "H15049901371" {
|
|
3946
|
+ url = gdyb_url
|
|
3947
|
+ } else {
|
|
3948
|
+ url = gdyb_url + "1101"
|
|
3949
|
+ }
|
|
3950
|
+
|
|
3951
|
+ fmt.Println(url)
|
|
3952
|
+ fmt.Println(gdyb_paasid)
|
|
3953
|
+ fmt.Println(secret_key)
|
|
3954
|
+ //url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
|
|
3955
|
+ request, err := http.NewRequest("POST", url, reader)
|
|
3956
|
+ if err != nil {
|
|
3957
|
+ fmt.Println(err.Error())
|
|
3958
|
+ return err.Error(), ""
|
|
3959
|
+ }
|
|
3960
|
+
|
|
3961
|
+ request.Header.Set("Content-Type", "application/json;charset=UTF-8")
|
|
3962
|
+ request.Header.Set("x-tif-paasid", gdyb_paasid)
|
|
3963
|
+ request.Header.Set("x-tif-signature", signature)
|
|
3964
|
+ request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
|
|
3965
|
+ request.Header.Set("x-tif-nonce", nonce)
|
|
3966
|
+
|
|
3967
|
+ client := http.Client{}
|
|
3968
|
+ resp, err := client.Do(request)
|
|
3969
|
+ if err != nil {
|
|
3970
|
+ fmt.Println(err.Error())
|
|
3971
|
+ return err.Error(), ""
|
|
3972
|
+ }
|
|
3973
|
+ respBytes, err := ioutil.ReadAll(resp.Body)
|
|
3974
|
+ if err != nil {
|
|
3975
|
+ fmt.Println(err.Error())
|
|
3976
|
+ return err.Error(), ""
|
|
3977
|
+ }
|
|
3978
|
+ fmt.Println(string(respBytes))
|
|
3979
|
+ str := string(respBytes)
|
|
3980
|
+ return str, string(bytesData)
|
3903
|
3981
|
|
3904
|
3982
|
}
|
3905
|
3983
|
|