csx 4 vuotta sitten
vanhempi
commit
864d5877fb
3 muutettua tiedostoa jossa 80 lisäystä ja 40 poistoa
  1. 0 1
      controllers/gdyb_controller.go
  2. 46 24
      controllers/his_api_controller.go
  3. 34 15
      service/gdyb_service.go

+ 0 - 1
controllers/gdyb_controller.go Näytä tiedosto

@@ -127,7 +127,6 @@ func (c *GdybController) PostThree() {
127 127
 	doctor := c.GetString("doctor")
128 128
 	insuplc_admdvs := c.GetString("insuplc_admdvs")
129 129
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
130
-
131 130
 	secret_key := c.GetString("secret_key")
132 131
 
133 132
 	result := service.Gdyb2202(psnNo, mdtrtId, iptOtpNo, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key)

+ 46 - 24
controllers/his_api_controller.go Näytä tiedosto

@@ -21,8 +21,8 @@ import (
21 21
 	"reflect"
22 22
 	"strconv"
23 23
 	"strings"
24
-	"time"
25 24
 	"syscall"
25
+	"time"
26 26
 	"unsafe"
27 27
 )
28 28
 
@@ -80,53 +80,52 @@ func HisManagerApiRegistRouters() {
80 80
 
81 81
 func (c *HisApiController) Sscard() {
82 82
 	r := CardInit()
83
-	if (r==0) {
83
+	if r == 0 {
84 84
 		GetBaseInfo()
85 85
 	}
86 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 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 104
 	fmt.Println(string(str))
105 105
 
106 106
 	fmt.Println(r)
107
-    return  nil
107
+	return nil
108 108
 }
109 109
 
110
-func CardInit() int{
110
+func CardInit() int {
111 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 117
 	result := int(ret)
118 118
 	return result
119 119
 }
120 120
 
121 121
 func IntPtr(n int) uintptr {
122
-    return uintptr(n)
122
+	return uintptr(n)
123 123
 }
124
- 
124
+
125 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 129
 func (c *HisApiController) GetHisPatientList() {
131 130
 	types, _ := c.GetInt64("type", 0)
132 131
 	record_date := c.GetString("record_date")
@@ -2255,6 +2254,29 @@ func (c *HisApiController) Refund() {
2255 2254
 			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2256 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 2280
 		err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId)
2259 2281
 		if err == nil {
2260 2282
 			c.ServeSuccessJSON(map[string]interface{}{

+ 34 - 15
service/gdyb_service.go Näytä tiedosto

@@ -53,8 +53,9 @@ func Gdyb1101(certNo string, org_name string, doctor string, fixmedins_code stri
53 53
 		return err.Error()
54 54
 	}
55 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 59
 	request, err := http.NewRequest("POST", url, reader)
59 60
 	if err != nil {
60 61
 		fmt.Println(err.Error())
@@ -119,8 +120,9 @@ func Gdyb2201(psnNo string, insutype string, certNo string, org_name string, doc
119 120
 		return err.Error()
120 121
 	}
121 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 126
 	request, err := http.NewRequest("POST", url, reader)
125 127
 	if err != nil {
126 128
 		fmt.Println(err.Error())
@@ -176,7 +178,9 @@ func Gdyb2202(psnNo string, mdtrtId string, ipt_otp_no string, org_name string,
176 178
 	}
177 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 184
 	request, err := http.NewRequest("POST", url, reader)
181 185
 	if err != nil {
182 186
 		fmt.Println(err.Error())
@@ -184,7 +188,9 @@ func Gdyb2202(psnNo string, mdtrtId string, ipt_otp_no string, org_name string,
184 188
 	}
185 189
 
186 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 194
 	request.Header.Set("x-tif-signature", signature)
189 195
 	request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
190 196
 	request.Header.Set("x-tif-nonce", nonce)
@@ -255,7 +261,9 @@ func Gdyb2203(psnNo string, mdtrtId string, doctor string, department string, di
255 261
 	}
256 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 267
 	request, err := http.NewRequest("POST", url, reader)
260 268
 	if err != nil {
261 269
 		fmt.Println(err.Error())
@@ -457,8 +465,9 @@ func Gdyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPrescri
457 465
 		return ""
458 466
 	}
459 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 471
 	request, err := http.NewRequest("POST", url, reader)
463 472
 	if err != nil {
464 473
 		fmt.Println(err.Error())
@@ -515,8 +524,9 @@ func Gdyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, d
515 524
 		return err.Error()
516 525
 	}
517 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 530
 	request, err := http.NewRequest("POST", url, reader)
521 531
 	fmt.Println(err)
522 532
 
@@ -583,7 +593,9 @@ func Gdyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
583 593
 	}
584 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 599
 	request, err := http.NewRequest("POST", url, reader)
588 600
 	if err != nil {
589 601
 		fmt.Println(err.Error())
@@ -647,8 +659,9 @@ func Gdyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
647 659
 		return err.Error()
648 660
 	}
649 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 665
 	request, err := http.NewRequest("POST", url, reader)
653 666
 	if err != nil {
654 667
 		fmt.Println(err.Error())
@@ -704,8 +717,9 @@ func Gdyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doct
704 717
 		return err.Error()
705 718
 	}
706 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 723
 	request, err := http.NewRequest("POST", url, reader)
710 724
 	if err != nil {
711 725
 		fmt.Println(err.Error())
@@ -770,8 +784,9 @@ func Gdyb3201(baseParams models.BaseParams, businessParams models.BusinessParams
770 784
 		return err.Error()
771 785
 	}
772 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 790
 	request, err := http.NewRequest("POST", url, reader)
776 791
 	if err != nil {
777 792
 		fmt.Println(err.Error())
@@ -837,8 +852,9 @@ func Gdyb9101(baseParams models.BaseParams, file_name string, file_byte []byte)
837 852
 		return err.Error()
838 853
 	}
839 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 858
 	request, err := http.NewRequest("POST", url, reader)
843 859
 	if err != nil {
844 860
 		fmt.Println(err.Error())
@@ -890,8 +906,9 @@ func Gdyb9102(baseParams models.BaseParams, file_name string, file_qury_no strin
890 906
 		return err.Error()
891 907
 	}
892 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 912
 	request, err := http.NewRequest("POST", url, reader)
896 913
 	if err != nil {
897 914
 		fmt.Println(err.Error())
@@ -949,8 +966,9 @@ func Gdyb3202(baseParams models.BaseParams, businessParams models.BusinessParams
949 966
 		return err.Error()
950 967
 	}
951 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 972
 	request, err := http.NewRequest("POST", url, reader)
955 973
 	if err != nil {
956 974
 		fmt.Println(err.Error())
@@ -1000,8 +1018,9 @@ func Gdyb5203(baseParams models.BaseParams, businessParams models.BusinessParams
1000 1018
 		return err.Error()
1001 1019
 	}
1002 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 1024
 	request, err := http.NewRequest("POST", url, reader)
1006 1025
 	if err != nil {
1007 1026
 		fmt.Println(err.Error())