Browse Source

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

csx 3 years ago
parent
commit
a7bab3fdc3
3 changed files with 101 additions and 78 deletions
  1. 1 1
      controllers/sg/gdyb_controller.go
  2. 19 13
      controllers/sg/his_api_controller.go
  3. 81 64
      main.go

+ 1 - 1
controllers/sg/gdyb_controller.go View File

@@ -145,7 +145,7 @@ func (c *GdybController) PostThree() {
145 145
 	secret_key := c.GetString("secret_key")
146 146
 	fixmedins_code := c.GetString("fixmedins_code")
147 147
 	result, requestLog := service.Gdyb2202(psnNo, mdtrtId, iptOtpNo, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key, fixmedins_code)
148
-	saveLog(result, requestLog, "2202")
148
+	saveLog(result, requestLog, "2202", "退号")
149 149
 	var dat map[string]interface{}
150 150
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
151 151
 	} else {

+ 19 - 13
controllers/sg/his_api_controller.go View File

@@ -1846,7 +1846,7 @@ func (c *HisApiController) GetRegisterInfo() {
1846 1846
 
1847 1847
 		} else {
1848 1848
 			result, requestLog := service.Gdyb1101C(patient.IdCardNo, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, "", certificates)
1849
-			saveLog(result, requestLog, "1101")
1849
+			saveLog(result, requestLog, "1101", "人员基本信息获取")
1850 1850
 			if err := json.Unmarshal([]byte(result), &res); err != nil {
1851 1851
 				utils.ErrorLog("解析失败:%v", err)
1852 1852
 				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -1985,7 +1985,7 @@ func (c *HisApiController) GetRegisterInfo() {
1985 1985
 
1986 1986
 			} else {
1987 1987
 				result, requestLog := service.Gdyb2201(res.Output.Baseinfo.PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_id, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type)
1988
-				saveLog(result, requestLog, "2201")
1988
+				saveLog(result, requestLog, "2201", "挂号")
1989 1989
 				if err := json.Unmarshal([]byte(result), &res); err != nil {
1990 1990
 					utils.ErrorLog("解析失败:%v", err)
1991 1991
 					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -2211,7 +2211,7 @@ func (c *HisApiController) GetUploadInfo() {
2211 2211
 			} else {
2212 2212
 				result, requestLog = service.Gdyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.AdminUserId, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config)
2213 2213
 			}
2214
-			saveLog(result, requestLog, "2203")
2214
+			saveLog(result, requestLog, "2203", "上传就诊信息")
2215 2215
 			var respJSON2 map[string]interface{}
2216 2216
 			if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
2217 2217
 				utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
@@ -2363,7 +2363,7 @@ func (c *HisApiController) GetUploadInfo() {
2363 2363
 					} else {
2364 2364
 						fmt.Println(err)
2365 2365
 					}
2366
-					saveLog(result, request_log, "2204")
2366
+					saveLog(result, request_log, "2204", "上传费用明细")
2367 2367
 					userJSONBytes, _ := json.Marshal(dat)
2368 2368
 
2369 2369
 					if err := json.Unmarshal(userJSONBytes, &res); err != nil {
@@ -2596,7 +2596,7 @@ func (c *HisApiController) GetUploadInfo() {
2596 2596
 								fmt.Println(err)
2597 2597
 							}
2598 2598
 
2599
-							saveLog(result2, src_resquest, "2207")
2599
+							saveLog(result2, src_resquest, "2207", "结算")
2600 2600
 
2601 2601
 							userJSONBytes, _ := json.Marshal(dat)
2602 2602
 
@@ -2835,7 +2835,7 @@ func (c *HisApiController) GetUploadInfo() {
2835 2835
 					fmt.Println(err)
2836 2836
 				}
2837 2837
 
2838
-				saveLog(result2, src_resquest, "2207")
2838
+				saveLog(result2, src_resquest, "2207", "结算")
2839 2839
 
2840 2840
 				userJSONBytes, _ := json.Marshal(dat)
2841 2841
 
@@ -3573,7 +3573,7 @@ func (c *HisApiController) GetPreUploadInfo() {
3573 3573
 			result, requestLog = service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.AdminUserId, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config)
3574 3574
 		} else {
3575 3575
 			result, requestLog = service.Gdyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.AdminUserId, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.CountryCode, sickConfig.ClassName, roles.UserName, config)
3576
-			saveLog(result, requestLog, "2203")
3576
+			saveLog(result, requestLog, "2203", "上传就诊信息")
3577 3577
 			var respJSON2 map[string]interface{}
3578 3578
 			if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
3579 3579
 				utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
@@ -3714,7 +3714,7 @@ func (c *HisApiController) GetPreUploadInfo() {
3714 3714
 				} else {
3715 3715
 					fmt.Println(err)
3716 3716
 				}
3717
-				saveLog(result, request_log, "2204")
3717
+				saveLog(result, request_log, "2204", "上传费用明细")
3718 3718
 				userJSONBytes, _ := json.Marshal(dat)
3719 3719
 				if err := json.Unmarshal(userJSONBytes, &res); err != nil {
3720 3720
 					utils.ErrorLog("解析失败:%v", err)
@@ -3933,7 +3933,7 @@ func (c *HisApiController) GetPreUploadInfo() {
3933 3933
 						} else {
3934 3934
 							fmt.Println(err)
3935 3935
 						}
3936
-						saveLog(result, request_log, "2206")
3936
+						saveLog(result, request_log, "2206", "预结算")
3937 3937
 						userJSONBytes, _ := json.Marshal(dat)
3938 3938
 
3939 3939
 						if err := json.Unmarshal(userJSONBytes, &res); err != nil {
@@ -4337,7 +4337,7 @@ func (c *HisApiController) Refund() {
4337 4337
 			} else {
4338 4338
 				fmt.Println(err)
4339 4339
 			}
4340
-			saveLog(result, src_resquest, "2208")
4340
+			saveLog(result, src_resquest, "2208", "退费")
4341 4341
 			userJSONBytes, _ := json.Marshal(dat)
4342 4342
 			if err := json.Unmarshal(userJSONBytes, &res); err != nil {
4343 4343
 				utils.ErrorLog("解析失败:%v", err)
@@ -4391,7 +4391,7 @@ func (c *HisApiController) Refund() {
4391 4391
 					fmt.Println(err)
4392 4392
 				}
4393 4393
 
4394
-				saveLog(result2, src_request, "2205")
4394
+				saveLog(result2, src_request, "2205", "撤销明细")
4395 4395
 
4396 4396
 				userJSONBytes, _ := json.Marshal(dat)
4397 4397
 
@@ -6623,7 +6623,7 @@ func saveRegisterLog(result string) {
6623 6623
 
6624 6624
 }
6625 6625
 
6626
-func saveLog(result string, request string, infno string) {
6626
+func saveLog(result string, request string, infno string, desc string) {
6627 6627
 
6628 6628
 	org_id, _ := beego.AppConfig.Int64("org_id")
6629 6629
 	miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
@@ -6633,6 +6633,12 @@ func saveLog(result string, request string, infno string) {
6633 6633
 	year := time.Now().Format("2006")
6634 6634
 	month = time.Now().Format("01")
6635 6635
 	day := time.Now().Format("02")
6636
+	hour := time.Now().Format("15")
6637
+	min := time.Now().Format("04")
6638
+	sec := time.Now().Format("05")
6639
+
6640
+	result_time := year + "-" + month + "-" + day + " " + hour + ":" + min + ":" + sec
6641
+
6636 6642
 	file := strconv.FormatInt(org_id, 10) + "_" + year + month + day + "_log"
6637 6643
 	file_name := file + ".txt"
6638 6644
 	file_path := miConfig.OrgName + "日志" + "/" + file_name
@@ -6643,7 +6649,7 @@ func saveLog(result string, request string, infno string) {
6643 6649
 		if err != nil {
6644 6650
 			fmt.Println("read fail")
6645 6651
 		}
6646
-		content := infno + "\r\n" + "\r\n" + "\r\n" + "\r\n" + request + "\r\n" + "\r\n" + "\r\n" + "\r\n" + result
6652
+		content := "\r\n" + "\r\n" + "\r\n" + result_time + " " + "【 " + desc + infno + "入参" + " 】:" + "\r\n" + request + "\r\n" + result_time + " " + "【 " + desc + infno + "出参" + " 】:" + "\r\n" + result
6647 6653
 		n, _ := f.Seek(0, 2)
6648 6654
 		_, err = f.WriteAt([]byte(content), n)
6649 6655
 

+ 81 - 64
main.go View File

@@ -3,93 +3,47 @@ package main
3 3
 import (
4 4
 	"context"
5 5
 	"fmt"
6
+	"gdyb/models"
6 7
 	_ "gdyb/routers"
7 8
 	"gdyb/service"
8
-	"gdyb/utils"
9 9
 	"github.com/astaxie/beego"
10 10
 	"github.com/qiniu/api.v7/auth/qbox"
11 11
 	"github.com/qiniu/api.v7/storage"
12 12
 	"os"
13
-	"os/exec"
14 13
 	"strconv"
15 14
 	"time"
16 15
 )
17 16
 
18 17
 func init() {
19 18
 	service.ConnectDB()
20
-
21
-}
22
-
23
-//var (
24
-//	astr_jyhb string = "3046022100E4C617A5626E408938EEAC33D7BC0ACD645D8FF0B9A29FE55EC3F9BAB01A07C9022100D0F9E8A545E997F3E431C5E3DADA0EC5F53ACE6A7E9598FD6F3B85BE055D3E10"
25
-//	astr_jysr string = "bqh"
26
-//	astr_jysc string = ""
27
-//)
28
-var json1 = ""
29
-var json2 = ""
30
-
31
-func call_yh_hb_call() {
32
-	//json1 = `{
33
-	//	"TOKEN": "",
34
-	//		"cainfo": "",
35
-	//		"fixmedins_code": "000002",
36
-	//		"fixmedins_name": "六盘水市第二人民医院",
37
-	//		"inf_time": "2021-03-01 00:35:39",
38
-	//		"infno": "1201",
39
-	//		"infver": "1",
40
-	//		"input": {
41
-	//		"medinsinfo":{
42
-	//			"mdtrt_cert_type":"02",
43
-	//				"mdtrt_cert_no":"52020020210315000001",
44
-	//				"fixmedins_type":"1",
45
-	//				"fixmedins_name":"六盘水市第二人民医院",
46
-	//				"fixmedins_code":"000002"
47
-	//		}
48
-	//	},
49
-	//	"oinfno": "",
50
-	//		"msgid": "100000202010100035390000000442",
51
-	//		"opter": "1",
52
-	//		"opter_name": "测试用户",
53
-	//		"pay_loc": "1",
54
-	//		"recer_admvs": "520200",
55
-	//		"sender_admdvs": "520200",
56
-	//		"insuplc_admdvs":"520200",
57
-	//		"mdtrtarea_admvs":"520200",
58
-	//		"recer_sys_code":"1",
59
-	//		"opter_type":"1"
60
-	//}`
61
-	//service.Gdyb1201( )
62
-	cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "1201", json1, json2)
63
-	out, err := cmd.Output()
64
-	if err != nil {
65
-		fmt.Println("error:", err.Error())
66
-	}
67
-	fmt.Printf("call yh_hb_call %q\n", string(out))
68
-	fmt.Printf(json2)
19
+	org_id, _ := beego.AppConfig.Int64("org_id")
20
+	miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
21
+	CreateLog(miConfig)
22
+	UploadLog(miConfig)
69 23
 }
70 24
 
71 25
 func main() {
72
-	//call_yh_hb_call()
26
+	beego.Run()
27
+}
73 28
 
74
-	org_id, _ := beego.AppConfig.Int64("org_id")
75
-	miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
76
-	dir := miConfig.OrgName + "日志"
77
-	utils.Mkdir(dir)
29
+func CreateLog(miConfig models.MedicalInsuranceOrgConfig) {
30
+	Mkdir(miConfig.OrgName + "日志")
31
+	//org_id,_ := beego.AppConfig.Int("org_id")
78 32
 	month := time.Unix(1557042972, 0).Format("1")
79 33
 	year := time.Now().Format("2006")
80 34
 	month = time.Now().Format("01")
81 35
 	day := time.Now().Format("02")
82
-	file := strconv.FormatInt(org_id, 10) + "_" + year + month + day + "_log"
36
+	file := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + year + month + day + "_log"
83 37
 	file_name := file + ".txt"
84 38
 	file_path := miConfig.OrgName + "日志" + "/" + file_name
85
-	exist, _ := utils.PathExists(file_path)
39
+	exist, _ := PathExists(file_path)
86 40
 	if exist { //存在
87 41
 		fmt.Println("存在")
88 42
 		f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
89 43
 		if err != nil {
90 44
 			fmt.Println("read fail")
91 45
 		}
92
-		content := "\r\n"
46
+		content := "\r\r\r"
93 47
 		n, _ := f.Seek(0, 2)
94 48
 		_, err = f.WriteAt([]byte(content), n)
95 49
 
@@ -102,12 +56,75 @@ func main() {
102 56
 			_, err = f.Write([]byte("记录日志"))
103 57
 		}
104 58
 	}
105
-	//upload_qiniu(file_path,miConfig.OrgName+"_"+year+month+day)
106
-	beego.Run()
59
+
107 60
 }
61
+func UploadLog(miConfig models.MedicalInsuranceOrgConfig) {
62
+	//获取七牛云上的文件信息,不存在则表示没上传到七牛云,上传昨天日志信息
63
+	nTime := time.Now()
64
+	yesTime := nTime.AddDate(0, 0, -1)
65
+	file_key := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + yesTime.Format("20060102") + "_log.txt"
66
+	mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
67
+	cfg := storage.Config{
68
+		// 是否使用https域名进行资源管理
69
+		UseHTTPS: true,
70
+	}
71
+	// 指定空间所在的区域,如果不指定将自动探测
72
+	// 如果没有特殊需求,默认不需要指定
73
+	//cfg.Zone=&storage.ZoneHuabei
74
+	bucketManager := storage.NewBucketManager(mac, &cfg)
75
+	bucket := beego.AppConfig.String("qiniu_bucket")
76
+	key := file_key
77
+	file, sErr := bucketManager.Stat(bucket, key)
78
+	fmt.Println(file)
79
+	fmt.Println(sErr)
80
+	fmt.Println(miConfig.OrgName + "日志" + "/" + file_key)
108 81
 
109
-func upload_qiniu(filePath string, temp_key string) {
110
-	key := temp_key
82
+	if sErr != nil {
83
+		fmt.Println("七牛云上文件不存在,上传到七牛云")
84
+		//判断本地文件是否存在,存在则执行上传操作
85
+		exist, _ := PathExists(miConfig.OrgName + "日志" + "/" + file_key)
86
+		if exist {
87
+			upload_qiniu(miConfig.OrgName+"日志"+"/"+file_key, file_key)
88
+		} else {
89
+			fmt.Println("本地文件不存在")
90
+
91
+		}
92
+	} else {
93
+		fmt.Println("七牛云文件存在")
94
+	}
95
+
96
+}
97
+func Mkdir(dir string) {
98
+	// 创建文件夹
99
+	exist, err := PathExists(dir)
100
+	if err != nil {
101
+		fmt.Println(err.Error())
102
+	} else {
103
+		if exist {
104
+			fmt.Println(dir + "文件夹已存在!")
105
+		} else {
106
+			// 文件夹名称,权限
107
+			err := os.Mkdir(dir, os.ModePerm)
108
+			if err != nil {
109
+				fmt.Println(dir+"文件夹创建失败:", err.Error())
110
+			} else {
111
+				fmt.Println(dir + "文件夹创建成功!")
112
+			}
113
+		}
114
+	}
115
+}
116
+func PathExists(path string) (bool, error) {
117
+	_, err := os.Stat(path)
118
+	if err == nil {
119
+		return true, nil
120
+	}
121
+	if os.IsNotExist(err) {
122
+		return false, nil
123
+	}
124
+	return false, err
125
+}
126
+func upload_qiniu(filePath string, keys string) {
127
+	key := keys
111 128
 	//上传凭证,关于凭证这块大家可以去看看官方文档
112 129
 	putPolicy := storage.PutPolicy{
113 130
 		Scope: beego.AppConfig.String("qiniu_bucket"),
@@ -140,5 +157,5 @@ func upload_qiniu(filePath string, temp_key string) {
140 157
 		fmt.Println(err)
141 158
 		return
142 159
 	}
143
-
160
+	fmt.Println(ret.Key, ret.Hash)
144 161
 }