Browse Source

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

csx 2 years ago
parent
commit
67bf28e09c
2 changed files with 57 additions and 0 deletions
  1. 1 0
      controllers/sg/his_api_controller.go
  2. 56 0
      service/gdyb_service.go

+ 1 - 0
controllers/sg/his_api_controller.go View File

@@ -9754,6 +9754,7 @@ func (c *HisApiController) GetSettleAccounts() {
9754 9754
 		} else {
9755 9755
 			result := service.Gdyb5203(baseParams, businessParams)
9756 9756
 			service.Gdyb5204(baseParams, businessParams)
9757
+			service.Gdyb5302(businessParams.PsnNo, baseParams.OrgName, baseParams.Doctor, baseParams.FixmedinsCode, baseParams.InsuplcAdmdvs, baseParams.MdtrtareaAdmvs, baseParams.SecretKey)
9757 9758
 
9758 9759
 			var dat map[string]interface{}
9759 9760
 			if err := json.Unmarshal([]byte(result), &dat); err == nil {

+ 56 - 0
service/gdyb_service.go View File

@@ -4669,3 +4669,59 @@ func Gdyb1101D(certNo string, org_name string, doctor string, fixmedins_code str
4669 4669
 //	inputMessage["sign_no"] = ""                                             //交易签到流水号
4670 4670
 //	return inputMessage
4671 4671
 //}
4672
+
4673
+func Gdyb5302(psnNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string) string {
4674
+	// 生成签名
4675
+	nonce := GetRandomString(32)
4676
+	timestamp := time.Now().Unix()
4677
+	signature := setSignature(timestamp, nonce, secret_key)
4678
+
4679
+	// 生成输入报文
4680
+	inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
4681
+	input := make(map[string]interface{})
4682
+	inputData := make(map[string]interface{})
4683
+	inputMessage["infno"] = "5302"    // 交易编码
4684
+	inputData["psn_no"] = psnNo       // 人员编号 (来自1101接口返回)
4685
+	inputData["biz_appy_type"] = "03" // 人员编号 (来自1101接口返回)
4686
+
4687
+	input["data"] = inputData
4688
+	inputMessage["input"] = input //交易输入
4689
+	bytesData, err := json.Marshal(inputMessage)
4690
+	fmt.Println(string(bytesData))
4691
+	if err != nil {
4692
+		fmt.Println(err.Error())
4693
+		return err.Error()
4694
+	}
4695
+	reader := bytes.NewReader(bytesData)
4696
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
4697
+	gdyb_url := beego.AppConfig.String("gdyb_url")
4698
+	gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
4699
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/1101"
4700
+	url := gdyb_url + "5302"
4701
+	request, err := http.NewRequest("POST", url, reader)
4702
+	if err != nil {
4703
+		fmt.Println(err.Error())
4704
+		return err.Error()
4705
+	}
4706
+
4707
+	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
4708
+	request.Header.Set("x-tif-paasid", gdyb_paasid)
4709
+	request.Header.Set("x-tif-signature", signature)
4710
+	request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
4711
+	request.Header.Set("x-tif-nonce", nonce)
4712
+
4713
+	client := http.Client{}
4714
+	resp, err := client.Do(request)
4715
+	if err != nil {
4716
+		fmt.Println(err.Error())
4717
+		return err.Error()
4718
+	}
4719
+	respBytes, err := ioutil.ReadAll(resp.Body)
4720
+	if err != nil {
4721
+		fmt.Println(err.Error())
4722
+		return err.Error()
4723
+	}
4724
+	str := string(respBytes)
4725
+	fmt.Println(str)
4726
+	return str
4727
+}