|
@@ -162,13 +162,13 @@ func Gdyb1101(certNo string, org_name string, doctor string, fixmedins_code stri
|
162
|
162
|
inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
|
163
|
163
|
inputData["card_sn"] = card_sn // 卡识别码
|
164
|
164
|
inputData["certno"] = certNo // 证件号码
|
165
|
|
- inputData["psn_cert_type"] = "01" // 人员证件类型
|
|
165
|
+ inputData["psn_cert_type"] = "01" // 人员证件类型
|
166
|
166
|
|
167
|
167
|
} else {
|
168
|
168
|
inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
|
169
|
169
|
inputData["card_sn"] = "" // 卡识别码
|
170
|
170
|
inputData["certno"] = certNo // 证件号码
|
171
|
|
- inputData["psn_cert_type"] = "01" // 人员证件类型
|
|
171
|
+ inputData["psn_cert_type"] = "01" // 人员证件类型
|
172
|
172
|
}
|
173
|
173
|
}
|
174
|
174
|
|
|
@@ -2506,7 +2506,7 @@ func SetInputMessage(nonce string, timestamp int64, org_name string, doctor stri
|
2506
|
2506
|
inputMessage["signtype"] = "" // 签名类型
|
2507
|
2507
|
inputMessage["infver"] = "V1.0" // 接收方系统代码
|
2508
|
2508
|
inputMessage["opter_type"] = "1" // 经办人类别
|
2509
|
|
- inputMessage["opter"] = doctor // 经办人
|
|
2509
|
+ inputMessage["opter"] = doctor // 经办人
|
2510
|
2510
|
inputMessage["opter_name"] = doctor // 经办人姓名
|
2511
|
2511
|
inputMessage["inf_time"] = timeFormatOne // 交易时间
|
2512
|
2512
|
inputMessage["fixmedins_code"] = fixmedins_code // 定点医药机构编号
|
|
@@ -2800,7 +2800,7 @@ func Gdyb1101B(certNo string, org_name string, doctor string, fixmedins_code str
|
2800
|
2800
|
} else {
|
2801
|
2801
|
if id_card_type == 1 {
|
2802
|
2802
|
inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
|
2803
|
|
- inputData["card_sn"] = "" // 卡识别码
|
|
2803
|
+ inputData["card_sn"] = "" // 卡识别码
|
2804
|
2804
|
inputData["certno"] = certNo // 证件号码
|
2805
|
2805
|
inputData["psn_cert_type"] = "01" // 人员证件类型
|
2806
|
2806
|
|
|
@@ -2921,3 +2921,55 @@ func Gdyb90991(psn_no string, org_name string, doctor string, fixmedins_code str
|
2921
|
2921
|
str := string(respBytes)
|
2922
|
2922
|
return str
|
2923
|
2923
|
}
|
|
2924
|
+func Gdyb90100(psn_no string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string) string {
|
|
2925
|
+ //生成签名
|
|
2926
|
+ nonce := GetRandomString(32)
|
|
2927
|
+ timestamp := time.Now().Unix()
|
|
2928
|
+ signature := setSignature(timestamp, nonce, secret_key)
|
|
2929
|
+ //生成输入报文
|
|
2930
|
+ inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
|
|
2931
|
+ input := make(map[string]interface{})
|
|
2932
|
+ inputData := make(map[string]interface{})
|
|
2933
|
+ inputMessage["infno"] = "90100" // 交易编码
|
|
2934
|
+ inputData["psn_no"] = psn_no // 开始时间
|
|
2935
|
+ input["data"] = inputData
|
|
2936
|
+ inputMessage["input"] = input //交易输入
|
|
2937
|
+
|
|
2938
|
+ bytesData, err := json.Marshal(inputMessage)
|
|
2939
|
+ fmt.Println(string(bytesData))
|
|
2940
|
+ if err != nil {
|
|
2941
|
+ fmt.Println(err.Error())
|
|
2942
|
+ return err.Error()
|
|
2943
|
+ }
|
|
2944
|
+ reader := bytes.NewReader(bytesData)
|
|
2945
|
+ gdyb_url := beego.AppConfig.String("gdyb_url")
|
|
2946
|
+ gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
|
|
2947
|
+
|
|
2948
|
+ url := gdyb_url + "90100"
|
|
2949
|
+ request, err := http.NewRequest("POST", url, reader)
|
|
2950
|
+ if err != nil {
|
|
2951
|
+ fmt.Println(err.Error())
|
|
2952
|
+ return err.Error()
|
|
2953
|
+ }
|
|
2954
|
+
|
|
2955
|
+ request.Header.Set("Content-Type", "application/json;charset=UTF-8")
|
|
2956
|
+ request.Header.Set("x-tif-paasid", gdyb_paasid)
|
|
2957
|
+ request.Header.Set("x-tif-signature", signature)
|
|
2958
|
+ request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
|
|
2959
|
+ request.Header.Set("x-tif-nonce", nonce)
|
|
2960
|
+
|
|
2961
|
+ client := http.Client{}
|
|
2962
|
+ resp, err := client.Do(request)
|
|
2963
|
+ if err != nil {
|
|
2964
|
+ fmt.Println(err.Error())
|
|
2965
|
+ return err.Error()
|
|
2966
|
+ }
|
|
2967
|
+ respBytes, err := ioutil.ReadAll(resp.Body)
|
|
2968
|
+ if err != nil {
|
|
2969
|
+ fmt.Println(err.Error())
|
|
2970
|
+ return err.Error()
|
|
2971
|
+ }
|
|
2972
|
+ fmt.Println(string(respBytes))
|
|
2973
|
+ str := string(respBytes)
|
|
2974
|
+ return str
|
|
2975
|
+}
|