Browse Source

Merge branch 'master' of http://git.shengws.com/csx/gdyb

csx 2 years ago
parent
commit
6aa31d176b
2 changed files with 74 additions and 1 deletions
  1. 1 1
      controllers/nm/nm_controller.go
  2. 73 0
      service/zh_his_service.go

+ 1 - 1
controllers/nm/nm_controller.go View File

161
 		MdtrtId: mdtrt_id,
161
 		MdtrtId: mdtrt_id,
162
 		SetlId:  setl_id,
162
 		SetlId:  setl_id,
163
 	}
163
 	}
164
-	result := service.Gdyb5203(bp, bps)
164
+	result := service.ZHyb5203(bp, bps)
165
 	saveJsLog(result, "", "5203", "结算单", org_name)
165
 	saveJsLog(result, "", "5203", "结算单", org_name)
166
 	var dat map[string]interface{}
166
 	var dat map[string]interface{}
167
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
167
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {

+ 73 - 0
service/zh_his_service.go View File

1287
 		Find(&prescription).Error
1287
 		Find(&prescription).Error
1288
 	return
1288
 	return
1289
 }
1289
 }
1290
+
1291
+func ZHyb5203(baseParams models.BaseParams, businessParams models.BusinessParams) string {
1292
+	fmt.Println("~~~~~~1")
1293
+	fmt.Println(baseParams)
1294
+	fmt.Println(businessParams)
1295
+
1296
+	// 生成签名
1297
+	nonce := GetRandomString(32)
1298
+	timestamp := time.Now().Unix()
1299
+	signature := setSignature(timestamp, nonce, baseParams.SecretKey)
1300
+	fmt.Println("~~~~~~2")
1301
+
1302
+	// 生成输入报文
1303
+	inputMessage := SetInputMessage(nonce, timestamp, baseParams.OrgName, baseParams.Doctor, baseParams.FixmedinsCode, baseParams.InsuplcAdmdvs, baseParams.MdtrtareaAdmvs)
1304
+	input := make(map[string]interface{})
1305
+	inputData := make(map[string]interface{})
1306
+	inputMessage["infno"] = "5203" // 交易编码
1307
+	inputData["psn_no"] = businessParams.PsnNo
1308
+	inputData["setl_id"] = businessParams.SetlId
1309
+	inputData["mdtrt_id"] = businessParams.MdtrtId
1310
+	input["data"] = inputData
1311
+	inputMessage["input"] = input //交易输入
1312
+	bytesData, err := json.Marshal(inputMessage)
1313
+	fmt.Println(string(bytesData))
1314
+	fmt.Println("~~~~~~")
1315
+	fmt.Println("~~~~~~")
1316
+	fmt.Println(string(bytesData))
1317
+	if err != nil {
1318
+		fmt.Println(err.Error())
1319
+		return err.Error()
1320
+	}
1321
+	reader := bytes.NewReader(bytesData)
1322
+	gdyb_url := beego.AppConfig.String("gdyb_url")
1323
+	gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
1324
+
1325
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/1101"
1326
+	//url := gdyb_url + "5203"
1327
+	var url string
1328
+	if baseParams.FixmedinsCode == "H15049901371" {
1329
+		url = gdyb_url
1330
+	} else {
1331
+		url = gdyb_url + "5203"
1332
+	}
1333
+
1334
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5203"
1335
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/5203"
1336
+
1337
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/5203"
1338
+	request, err := http.NewRequest("POST", url, reader)
1339
+	if err != nil {
1340
+		fmt.Println(err.Error())
1341
+		return err.Error()
1342
+	}
1343
+	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1344
+	request.Header.Set("x-tif-paasid", gdyb_paasid)
1345
+	request.Header.Set("x-tif-signature", signature)
1346
+	request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
1347
+	request.Header.Set("x-tif-nonce", nonce)
1348
+	client := http.Client{}
1349
+	resp, err := client.Do(request)
1350
+	if err != nil {
1351
+		fmt.Println(err.Error())
1352
+		return err.Error()
1353
+	}
1354
+	respBytes, err := ioutil.ReadAll(resp.Body)
1355
+	if err != nil {
1356
+		fmt.Println(err.Error())
1357
+		return err.Error()
1358
+	}
1359
+	str := string(respBytes)
1360
+	fmt.Println(str)
1361
+	return str
1362
+}