Ver código fonte

医保对接

csx 4 anos atrás
pai
commit
864d5877fb

+ 0 - 1
controllers/gdyb_controller.go Ver arquivo

127
 	doctor := c.GetString("doctor")
127
 	doctor := c.GetString("doctor")
128
 	insuplc_admdvs := c.GetString("insuplc_admdvs")
128
 	insuplc_admdvs := c.GetString("insuplc_admdvs")
129
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
129
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
130
-
131
 	secret_key := c.GetString("secret_key")
130
 	secret_key := c.GetString("secret_key")
132
 
131
 
133
 	result := service.Gdyb2202(psnNo, mdtrtId, iptOtpNo, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key)
132
 	result := service.Gdyb2202(psnNo, mdtrtId, iptOtpNo, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key)

+ 46 - 24
controllers/his_api_controller.go Ver arquivo

21
 	"reflect"
21
 	"reflect"
22
 	"strconv"
22
 	"strconv"
23
 	"strings"
23
 	"strings"
24
-	"time"
25
 	"syscall"
24
 	"syscall"
25
+	"time"
26
 	"unsafe"
26
 	"unsafe"
27
 )
27
 )
28
 
28
 
80
 
80
 
81
 func (c *HisApiController) Sscard() {
81
 func (c *HisApiController) Sscard() {
82
 	r := CardInit()
82
 	r := CardInit()
83
-	if (r==0) {
83
+	if r == 0 {
84
 		GetBaseInfo()
84
 		GetBaseInfo()
85
 	}
85
 	}
86
 	c.ServeSuccessJSON(map[string]interface{}{
86
 	c.ServeSuccessJSON(map[string]interface{}{
87
-		"list":    "11",
87
+		"list": "11",
88
 	})
88
 	})
89
 
89
 
90
 }
90
 }
91
 
91
 
92
-func GetBaseInfo() (error) {
93
-    handle := syscall.MustLoadDLL("SSCard.dll")
94
-    ReadCardBas := handle.MustFindProc("ReadCardBas")
95
-  
96
-	str := make([]byte,256)
97
-	str1 := make([]byte,256)
98
-	r,_,ferr := ReadCardBas.Call((uintptr)(unsafe.Pointer(&str[0])),IntPtr(1024),(uintptr)(unsafe.Pointer(&str1[0])),IntPtr(1024))
92
+func GetBaseInfo() error {
93
+	handle := syscall.MustLoadDLL("SSCard.dll")
94
+	ReadCardBas := handle.MustFindProc("ReadCardBas")
95
+
96
+	str := make([]byte, 256)
97
+	str1 := make([]byte, 256)
98
+	r, _, ferr := ReadCardBas.Call((uintptr)(unsafe.Pointer(&str[0])), IntPtr(1024), (uintptr)(unsafe.Pointer(&str1[0])), IntPtr(1024))
99
 	if ferr != nil {
99
 	if ferr != nil {
100
-        fmt.Println("ReadCardBas 报错", ferr.Error())
101
-        return  ferr
100
+		fmt.Println("ReadCardBas 报错", ferr.Error())
101
+		return ferr
102
 	}
102
 	}
103
-	
103
+
104
 	fmt.Println(string(str))
104
 	fmt.Println(string(str))
105
 
105
 
106
 	fmt.Println(r)
106
 	fmt.Println(r)
107
-    return  nil
107
+	return nil
108
 }
108
 }
109
 
109
 
110
-func CardInit() int{
110
+func CardInit() int {
111
 	DllTestDef := syscall.MustLoadDLL("SSCard.dll")
111
 	DllTestDef := syscall.MustLoadDLL("SSCard.dll")
112
-    add := DllTestDef.MustFindProc("Init")
113
-    ret, _, err := add.Call(StrPtr("http://igb.hsa.gdgov.cn/gdyb_inf/poc/api/card/initDll"),StrPtr("440200"))
114
-    if err != nil {
115
-        fmt.Println("SSCard的运算结果为:", ret)
116
-    }
112
+	add := DllTestDef.MustFindProc("Init")
113
+	ret, _, err := add.Call(StrPtr("http://igb.hsa.gdgov.cn/gdyb_inf/poc/api/card/initDll"), StrPtr("440200"))
114
+	if err != nil {
115
+		fmt.Println("SSCard的运算结果为:", ret)
116
+	}
117
 	result := int(ret)
117
 	result := int(ret)
118
 	return result
118
 	return result
119
 }
119
 }
120
 
120
 
121
 func IntPtr(n int) uintptr {
121
 func IntPtr(n int) uintptr {
122
-    return uintptr(n)
122
+	return uintptr(n)
123
 }
123
 }
124
- 
124
+
125
 func StrPtr(s string) uintptr {
125
 func StrPtr(s string) uintptr {
126
-    return uintptr(unsafe.Pointer(syscall.StringBytePtr(s)))
126
+	return uintptr(unsafe.Pointer(syscall.StringBytePtr(s)))
127
 }
127
 }
128
 
128
 
129
-
130
 func (c *HisApiController) GetHisPatientList() {
129
 func (c *HisApiController) GetHisPatientList() {
131
 	types, _ := c.GetInt64("type", 0)
130
 	types, _ := c.GetInt64("type", 0)
132
 	record_date := c.GetString("record_date")
131
 	record_date := c.GetString("record_date")
2255
 			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2254
 			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2256
 			return
2255
 			return
2257
 		}
2256
 		}
2257
+
2258
+		api3 := "http://127.0.0.1:9532/" + "gdyb/three?psn_no=" + his.PsnNo +
2259
+			"&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + patientPrescription.Doctor + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
2260
+			"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
2261
+		resp3, requestErr3 := http.Get(api3)
2262
+		if requestErr3 != nil {
2263
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2264
+			return
2265
+		}
2266
+
2267
+		body3, ioErr3 := ioutil.ReadAll(resp3.Body)
2268
+		if ioErr3 != nil {
2269
+			utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
2270
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2271
+			return
2272
+		}
2273
+		var respJSON3 map[string]interface{}
2274
+		if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
2275
+			utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
2276
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2277
+			return
2278
+		}
2279
+
2258
 		err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId)
2280
 		err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId)
2259
 		if err == nil {
2281
 		if err == nil {
2260
 			c.ServeSuccessJSON(map[string]interface{}{
2282
 			c.ServeSuccessJSON(map[string]interface{}{

+ 34 - 15
service/gdyb_service.go Ver arquivo

53
 		return err.Error()
53
 		return err.Error()
54
 	}
54
 	}
55
 	reader := bytes.NewReader(bytesData)
55
 	reader := bytes.NewReader(bytesData)
56
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/1101"
56
 
57
 
57
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
58
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
58
 	request, err := http.NewRequest("POST", url, reader)
59
 	request, err := http.NewRequest("POST", url, reader)
59
 	if err != nil {
60
 	if err != nil {
60
 		fmt.Println(err.Error())
61
 		fmt.Println(err.Error())
119
 		return err.Error()
120
 		return err.Error()
120
 	}
121
 	}
121
 	reader := bytes.NewReader(bytesData)
122
 	reader := bytes.NewReader(bytesData)
123
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/2201"
122
 
124
 
123
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2201"
125
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2201"
124
 	request, err := http.NewRequest("POST", url, reader)
126
 	request, err := http.NewRequest("POST", url, reader)
125
 	if err != nil {
127
 	if err != nil {
126
 		fmt.Println(err.Error())
128
 		fmt.Println(err.Error())
176
 	}
178
 	}
177
 	reader := bytes.NewReader(bytesData)
179
 	reader := bytes.NewReader(bytesData)
178
 
180
 
179
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2202"
181
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/2202"
182
+
183
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2202"
180
 	request, err := http.NewRequest("POST", url, reader)
184
 	request, err := http.NewRequest("POST", url, reader)
181
 	if err != nil {
185
 	if err != nil {
182
 		fmt.Println(err.Error())
186
 		fmt.Println(err.Error())
184
 	}
188
 	}
185
 
189
 
186
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
190
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
187
-	request.Header.Set("x-tif-paasid", "test_hosp")
191
+	//request.Header.Set("x-tif-paasid", "test_hosp")
192
+	request.Header.Set("x-tif-paasid", "sg03_prd")
193
+
188
 	request.Header.Set("x-tif-signature", signature)
194
 	request.Header.Set("x-tif-signature", signature)
189
 	request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
195
 	request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
190
 	request.Header.Set("x-tif-nonce", nonce)
196
 	request.Header.Set("x-tif-nonce", nonce)
255
 	}
261
 	}
256
 	reader := bytes.NewReader(bytesData)
262
 	reader := bytes.NewReader(bytesData)
257
 
263
 
258
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2203"
264
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/2203"
265
+
266
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2203"
259
 	request, err := http.NewRequest("POST", url, reader)
267
 	request, err := http.NewRequest("POST", url, reader)
260
 	if err != nil {
268
 	if err != nil {
261
 		fmt.Println(err.Error())
269
 		fmt.Println(err.Error())
457
 		return ""
465
 		return ""
458
 	}
466
 	}
459
 	reader := bytes.NewReader(bytesData)
467
 	reader := bytes.NewReader(bytesData)
468
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/2204"
460
 
469
 
461
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2204"
470
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2204"
462
 	request, err := http.NewRequest("POST", url, reader)
471
 	request, err := http.NewRequest("POST", url, reader)
463
 	if err != nil {
472
 	if err != nil {
464
 		fmt.Println(err.Error())
473
 		fmt.Println(err.Error())
515
 		return err.Error()
524
 		return err.Error()
516
 	}
525
 	}
517
 	reader := bytes.NewReader(bytesData)
526
 	reader := bytes.NewReader(bytesData)
527
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/2205"
518
 
528
 
519
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2205"
529
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2205"
520
 	request, err := http.NewRequest("POST", url, reader)
530
 	request, err := http.NewRequest("POST", url, reader)
521
 	fmt.Println(err)
531
 	fmt.Println(err)
522
 
532
 
583
 	}
593
 	}
584
 	reader := bytes.NewReader(bytesData)
594
 	reader := bytes.NewReader(bytesData)
585
 
595
 
586
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2206"
596
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/2206"
597
+
598
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2206"
587
 	request, err := http.NewRequest("POST", url, reader)
599
 	request, err := http.NewRequest("POST", url, reader)
588
 	if err != nil {
600
 	if err != nil {
589
 		fmt.Println(err.Error())
601
 		fmt.Println(err.Error())
647
 		return err.Error()
659
 		return err.Error()
648
 	}
660
 	}
649
 	reader := bytes.NewReader(bytesData)
661
 	reader := bytes.NewReader(bytesData)
662
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/2207"
650
 
663
 
651
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2207"
664
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2207"
652
 	request, err := http.NewRequest("POST", url, reader)
665
 	request, err := http.NewRequest("POST", url, reader)
653
 	if err != nil {
666
 	if err != nil {
654
 		fmt.Println(err.Error())
667
 		fmt.Println(err.Error())
704
 		return err.Error()
717
 		return err.Error()
705
 	}
718
 	}
706
 	reader := bytes.NewReader(bytesData)
719
 	reader := bytes.NewReader(bytesData)
720
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/2208"
707
 
721
 
708
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2208"
722
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2208"
709
 	request, err := http.NewRequest("POST", url, reader)
723
 	request, err := http.NewRequest("POST", url, reader)
710
 	if err != nil {
724
 	if err != nil {
711
 		fmt.Println(err.Error())
725
 		fmt.Println(err.Error())
770
 		return err.Error()
784
 		return err.Error()
771
 	}
785
 	}
772
 	reader := bytes.NewReader(bytesData)
786
 	reader := bytes.NewReader(bytesData)
787
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/3201"
773
 
788
 
774
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/3201"
789
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/3201"
775
 	request, err := http.NewRequest("POST", url, reader)
790
 	request, err := http.NewRequest("POST", url, reader)
776
 	if err != nil {
791
 	if err != nil {
777
 		fmt.Println(err.Error())
792
 		fmt.Println(err.Error())
837
 		return err.Error()
852
 		return err.Error()
838
 	}
853
 	}
839
 	reader := bytes.NewReader(bytesData)
854
 	reader := bytes.NewReader(bytesData)
855
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/9101"
840
 
856
 
841
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/9101"
857
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/9101"
842
 	request, err := http.NewRequest("POST", url, reader)
858
 	request, err := http.NewRequest("POST", url, reader)
843
 	if err != nil {
859
 	if err != nil {
844
 		fmt.Println(err.Error())
860
 		fmt.Println(err.Error())
890
 		return err.Error()
906
 		return err.Error()
891
 	}
907
 	}
892
 	reader := bytes.NewReader(bytesData)
908
 	reader := bytes.NewReader(bytesData)
909
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/9102"
893
 
910
 
894
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/9102"
911
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/9102"
895
 	request, err := http.NewRequest("POST", url, reader)
912
 	request, err := http.NewRequest("POST", url, reader)
896
 	if err != nil {
913
 	if err != nil {
897
 		fmt.Println(err.Error())
914
 		fmt.Println(err.Error())
949
 		return err.Error()
966
 		return err.Error()
950
 	}
967
 	}
951
 	reader := bytes.NewReader(bytesData)
968
 	reader := bytes.NewReader(bytesData)
969
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/3202"
952
 
970
 
953
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/3202"
971
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/3202"
954
 	request, err := http.NewRequest("POST", url, reader)
972
 	request, err := http.NewRequest("POST", url, reader)
955
 	if err != nil {
973
 	if err != nil {
956
 		fmt.Println(err.Error())
974
 		fmt.Println(err.Error())
1000
 		return err.Error()
1018
 		return err.Error()
1001
 	}
1019
 	}
1002
 	reader := bytes.NewReader(bytesData)
1020
 	reader := bytes.NewReader(bytesData)
1021
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5203"
1003
 
1022
 
1004
-	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/5203"
1023
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/5203"
1005
 	request, err := http.NewRequest("POST", url, reader)
1024
 	request, err := http.NewRequest("POST", url, reader)
1006
 	if err != nil {
1025
 	if err != nil {
1007
 		fmt.Println(err.Error())
1026
 		fmt.Println(err.Error())