Browse Source

Merge branch '20201014_xt_api_new_branch' of http://git.shengws.com/csx/XT_New into 20201014_xt_api_new_branch

csx 4 years ago
parent
commit
baab16f990
3 changed files with 70 additions and 2 deletions
  1. 11 0
      controllers/gdyb_controller.go
  2. 2 0
      controllers/his_api_controller.go
  3. 57 2
      service/gdyb_service.go

+ 11 - 0
controllers/gdyb_controller.go View File

@@ -24,6 +24,9 @@ func GdybRegistRouters() {
24 24
 	beego.Router("/gdyb/seven", &GdybController{}, "get:PostSeven")
25 25
 	beego.Router("/gdyb/eight", &GdybController{}, "get:PostEight")
26 26
 	beego.Router("/gdyb/nine", &GdybController{}, "get:PostNine")
27
+
28
+	beego.Router("/gdyb/tem", &GdybController{}, "get:PostTen")
29
+
27 30
 }
28 31
 
29 32
 //provinces, _ := service.GetDistrictsByUpid(0)21
@@ -229,3 +232,11 @@ func (c *GdybController) PostNine() {
229 232
 		"pre": result,
230 233
 	})
231 234
 }
235
+
236
+func (c *GdybController) PostTen() {
237
+	fixmedins_type := c.GetString("fixmedins_type")
238
+	result := service.Gdyb1201(fixmedins_type)
239
+	c.ServeSuccessJSON(map[string]interface{}{
240
+		"pre": result,
241
+	})
242
+}

+ 2 - 0
controllers/his_api_controller.go View File

@@ -893,6 +893,8 @@ func (c *HisApiController) setProjectWithJSON(project *models.HisPrescriptionPro
893 893
 	if json["project_id"] != nil || reflect.TypeOf(json["project_id"]).String() == "float64" {
894 894
 		project_id := int64(json["project_id"].(float64))
895 895
 		project.ProjectId = project_id
896
+		fmt.Println(project_id)
897
+		fmt.Println(project.ProjectId)
896 898
 	}
897 899
 
898 900
 	if json["price"] != nil || reflect.TypeOf(json["price"]).String() == "float64" {

+ 57 - 2
service/gdyb_service.go View File

@@ -17,7 +17,7 @@ import (
17 17
 
18 18
 const (
19 19
 	SceretKey     = "RhaDw4H0RUbWYyTxmRKM1eSeN0qyGLds" //     secretKey 私钥
20
-	FixmedinsCOde = "H44022900158"                     // 定点医药机构编号
20
+	FixmedinsCOde = "H44020500197"                     // 定点医药机构编号
21 21
 )
22 22
 
23 23
 // 人员基本信息
@@ -768,7 +768,7 @@ func SetInputMessage(nonce string, timestamp int64) map[string]interface{} {
768 768
 	inputMessage["opter_name"] = "测试用户"                                                        // 经办人姓名
769 769
 	inputMessage["inf_time"] = timeFormatOne                                                   // 交易时间
770 770
 	inputMessage["fixmedins_code"] = FixmedinsCOde                                             // 定点医药机构编号
771
-	inputMessage["fixmedins_name"] = "翁源沅胜血液透析中心"                                              //定点医药机构名称
771
+	inputMessage["fixmedins_name"] = "韶关市曲江区小坑镇卫生院"                                            //定点医药机构名称
772 772
 	inputMessage["sign_no"] = ""                                                               //交易签到流水号
773 773
 	return inputMessage
774 774
 }
@@ -779,3 +779,58 @@ func FindHisRegisterRecord(record_time int64, patient_id int64, org_id int64) (t
779 779
 
780 780
 	return
781 781
 }
782
+
783
+func Gdyb1201(psnNo string) string {
784
+	// 生成签名
785
+	nonce := GetRandomString(32)
786
+	timestamp := time.Now().Unix()
787
+	signature := setSignature(timestamp, nonce)
788
+
789
+	// 生成输入报文
790
+	inputMessage := SetInputMessage(nonce, timestamp)
791
+	input := make(map[string]interface{})
792
+	inputData := make(map[string]interface{})
793
+	inputMessage["infno"] = "1201"      // 交易编码
794
+	inputData["fixmedins_type"] = psnNo // 人员编号 (来自1101接口返回)
795
+	inputData["fixmedins_name"] = "韶关"  // 人员编号 (来自1101接口返回)
796
+	inputData["fixmedins_code"] = ""    // 人员编号 (来自1101接口返回)
797
+
798
+	input["medinsinfo"] = inputData
799
+	inputMessage["input"] = input //交易输入
800
+
801
+	bytesData, err := json.Marshal(inputMessage)
802
+	fmt.Println(string(bytesData))
803
+	if err != nil {
804
+		fmt.Println(err.Error())
805
+		return err.Error()
806
+	}
807
+	reader := bytes.NewReader(bytesData)
808
+
809
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1201"
810
+	request, err := http.NewRequest("POST", url, reader)
811
+	if err != nil {
812
+		fmt.Println(err.Error())
813
+		return err.Error()
814
+	}
815
+
816
+	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
817
+	request.Header.Set("x-tif-paasid", "test_hosp")
818
+	request.Header.Set("x-tif-signature", signature)
819
+	request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
820
+	request.Header.Set("x-tif-nonce", nonce)
821
+
822
+	client := http.Client{}
823
+	resp, err := client.Do(request)
824
+	if err != nil {
825
+		fmt.Println(err.Error())
826
+		return err.Error()
827
+	}
828
+	respBytes, err := ioutil.ReadAll(resp.Body)
829
+	if err != nil {
830
+		fmt.Println(err.Error())
831
+		return err.Error()
832
+	}
833
+	str := string(respBytes)
834
+	fmt.Println(str)
835
+	return str
836
+}