Browse Source

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

csx 3 years ago
parent
commit
c9b4802a16
1 changed files with 145 additions and 137 deletions
  1. 145 137
      main.go

+ 145 - 137
main.go View File

@@ -1,152 +1,160 @@
1 1
 package main
2 2
 
3 3
 import (
4
+	"context"
5
+	"fmt"
6
+	"gdyb/models"
4 7
 	_ "gdyb/routers"
5 8
 	"gdyb/service"
6 9
 	"github.com/astaxie/beego"
10
+	"github.com/qiniu/api.v7/auth/qbox"
11
+	"github.com/qiniu/api.v7/storage"
12
+	"os"
13
+	"strconv"
14
+	"time"
7 15
 )
8 16
 
9 17
 func init() {
10 18
 	service.ConnectDB()
11
-	//org_id, _ := beego.AppConfig.Int64("org_id")
12
-	//miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
13
-	//CreateLog(miConfig)
14
-	//UploadLog(miConfig)
19
+	org_id, _ := beego.AppConfig.Int64("org_id")
20
+	miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
21
+	CreateLog(miConfig)
22
+	UploadLog(miConfig)
15 23
 }
16 24
 func main() {
17 25
 	beego.Run()
18 26
 }
19 27
 
20
-//func CreateLog(miConfig models.MedicalInsuranceOrgConfig) {
21
-//	Mkdir(miConfig.OrgName + "日志")
22
-//	//org_id,_ := beego.AppConfig.Int("org_id")
23
-//	month := time.Unix(1557042972, 0).Format("1")
24
-//	year := time.Now().Format("2006")
25
-//	month = time.Now().Format("01")
26
-//	day := time.Now().Format("02")
27
-//	file := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + year + month + day + "_log"
28
-//	file_name := file + ".txt"
29
-//	file_path := miConfig.OrgName + "日志" + "/" + file_name
30
-//	exist, _ := PathExists(file_path)
31
-//	if exist { //存在
32
-//		fmt.Println("存在")
33
-//		f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
34
-//		if err != nil {
35
-//			fmt.Println("read fail")
36
-//		}
37
-//		content := "\r\r\r"
38
-//		n, _ := f.Seek(0, 2)
39
-//		_, err = f.WriteAt([]byte(content), n)
40
-//
41
-//	} else { //不存在
42
-//		fmt.Println("文件不存在,创建文件")
43
-//		f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name)
44
-//		defer f.Close()
45
-//		if err != nil {
46
-//		} else {
47
-//			_, err = f.Write([]byte("记录日志"))
48
-//		}
49
-//	}
50
-//
51
-//}
52
-//func UploadLog(miConfig models.MedicalInsuranceOrgConfig) {
53
-//	//获取七牛云上的文件信息,不存在则表示没上传到七牛云,上传昨天日志信息
54
-//	nTime := time.Now()
55
-//	yesTime := nTime.AddDate(0, 0, -1)
56
-//	file_key := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + yesTime.Format("20060102") + "_log.txt"
57
-//	mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
58
-//	cfg := storage.Config{
59
-//		// 是否使用https域名进行资源管理
60
-//		UseHTTPS: true,
61
-//	}
62
-//	// 指定空间所在的区域,如果不指定将自动探测
63
-//	// 如果没有特殊需求,默认不需要指定
64
-//	//cfg.Zone=&storage.ZoneHuabei
65
-//	bucketManager := storage.NewBucketManager(mac, &cfg)
66
-//	bucket := beego.AppConfig.String("qiniu_bucket")
67
-//	key := file_key
68
-//	file, sErr := bucketManager.Stat(bucket, key)
69
-//	fmt.Println(file)
70
-//	fmt.Println(sErr)
71
-//	fmt.Println(miConfig.OrgName + "日志" + "/" + file_key)
72
-//
73
-//	if sErr != nil {
74
-//		fmt.Println("七牛云上文件不存在,上传到七牛云")
75
-//		//判断本地文件是否存在,存在则执行上传操作
76
-//		exist, _ := PathExists(miConfig.OrgName + "日志" + "/" + file_key)
77
-//		if exist {
78
-//			upload_qiniu(miConfig.OrgName+"日志"+"/"+file_key, file_key)
79
-//		} else {
80
-//			fmt.Println("本地文件不存在")
81
-//
82
-//		}
83
-//	} else {
84
-//		fmt.Println("七牛云文件存在")
85
-//	}
86
-//
87
-//}
88
-//func Mkdir(dir string) {
89
-//	// 创建文件夹
90
-//	exist, err := PathExists(dir)
91
-//	if err != nil {
92
-//		fmt.Println(err.Error())
93
-//	} else {
94
-//		if exist {
95
-//			fmt.Println(dir + "文件夹已存在!")
96
-//		} else {
97
-//			// 文件夹名称,权限
98
-//			err := os.Mkdir(dir, os.ModePerm)
99
-//			if err != nil {
100
-//				fmt.Println(dir+"文件夹创建失败:", err.Error())
101
-//			} else {
102
-//				fmt.Println(dir + "文件夹创建成功!")
103
-//			}
104
-//		}
105
-//	}
106
-//}
107
-//func PathExists(path string) (bool, error) {
108
-//	_, err := os.Stat(path)
109
-//	if err == nil {
110
-//		return true, nil
111
-//	}
112
-//	if os.IsNotExist(err) {
113
-//		return false, nil
114
-//	}
115
-//	return false, err
116
-//}
117
-//func upload_qiniu(filePath string, keys string) {
118
-//	key := keys
119
-//	//上传凭证,关于凭证这块大家可以去看看官方文档
120
-//	putPolicy := storage.PutPolicy{
121
-//		Scope: beego.AppConfig.String("qiniu_bucket"),
122
-//	}
123
-//	mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
124
-//	upToken := putPolicy.UploadToken(mac)
125
-//	cfg := storage.Config{}
126
-//	//空间对应机房
127
-//	//其中关于Zone对象和机房的关系如下:
128
-//	//    机房    Zone对象
129
-//	//    华东    storage.ZoneHuadong
130
-//	//    华北    storage.ZoneHuabei
131
-//	//    华南    storage.ZoneHuanan
132
-//	//    北美    storage.ZoneBeimei
133
-//	//七牛云存储空间设置首页有存储区域
134
-//	cfg.Zone = &storage.ZoneHuadong
135
-//	//不启用HTTPS域名
136
-//	cfg.UseHTTPS = false
137
-//	//不使用CND加速
138
-//	cfg.UseCdnDomains = false
139
-//	//构建上传表单对象
140
-//	formUploader := storage.NewFormUploader(&cfg)
141
-//	ret := storage.PutRet{}
142
-//	// 可选
143
-//	putExtra := storage.PutExtra{
144
-//		Params: map[string]string{},
145
-//	}
146
-//	err := formUploader.PutFile(context.Background(), &ret, upToken, key, filePath, &putExtra)
147
-//	if err != nil {
148
-//		fmt.Println(err)
149
-//		return
150
-//	}
151
-//	fmt.Println(ret.Key, ret.Hash)
152
-//}
28
+func CreateLog(miConfig models.MedicalInsuranceOrgConfig) {
29
+	Mkdir(miConfig.OrgName + "日志")
30
+	//org_id,_ := beego.AppConfig.Int("org_id")
31
+	month := time.Unix(1557042972, 0).Format("1")
32
+	year := time.Now().Format("2006")
33
+	month = time.Now().Format("01")
34
+	day := time.Now().Format("02")
35
+	file := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + year + month + day + "_log"
36
+	file_name := file + ".txt"
37
+	file_path := miConfig.OrgName + "日志" + "/" + file_name
38
+	exist, _ := PathExists(file_path)
39
+	if exist { //存在
40
+		fmt.Println("存在")
41
+		f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
42
+		if err != nil {
43
+			fmt.Println("read fail")
44
+		}
45
+		content := "\r\r\r"
46
+		n, _ := f.Seek(0, 2)
47
+		_, err = f.WriteAt([]byte(content), n)
48
+
49
+	} else { //不存在
50
+		fmt.Println("文件不存在,创建文件")
51
+		f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name)
52
+		defer f.Close()
53
+		if err != nil {
54
+		} else {
55
+			_, err = f.Write([]byte("记录日志"))
56
+		}
57
+	}
58
+
59
+}
60
+func UploadLog(miConfig models.MedicalInsuranceOrgConfig) {
61
+	//获取七牛云上的文件信息,不存在则表示没上传到七牛云,上传昨天日志信息
62
+	nTime := time.Now()
63
+	yesTime := nTime.AddDate(0, 0, -1)
64
+	file_key := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + yesTime.Format("20060102") + "_log.txt"
65
+	mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
66
+	cfg := storage.Config{
67
+		// 是否使用https域名进行资源管理
68
+		UseHTTPS: true,
69
+	}
70
+	// 指定空间所在的区域,如果不指定将自动探测
71
+	// 如果没有特殊需求,默认不需要指定
72
+	//cfg.Zone=&storage.ZoneHuabei
73
+	bucketManager := storage.NewBucketManager(mac, &cfg)
74
+	bucket := beego.AppConfig.String("qiniu_bucket")
75
+	key := file_key
76
+	file, sErr := bucketManager.Stat(bucket, key)
77
+	fmt.Println(file)
78
+	fmt.Println(sErr)
79
+	fmt.Println(miConfig.OrgName + "日志" + "/" + file_key)
80
+
81
+	if sErr != nil {
82
+		fmt.Println("七牛云上文件不存在,上传到七牛云")
83
+		//判断本地文件是否存在,存在则执行上传操作
84
+		exist, _ := PathExists(miConfig.OrgName + "日志" + "/" + file_key)
85
+		if exist {
86
+			upload_qiniu(miConfig.OrgName+"日志"+"/"+file_key, file_key)
87
+		} else {
88
+			fmt.Println("本地文件不存在")
89
+
90
+		}
91
+	} else {
92
+		fmt.Println("七牛云文件存在")
93
+	}
94
+
95
+}
96
+func Mkdir(dir string) {
97
+	// 创建文件夹
98
+	exist, err := PathExists(dir)
99
+	if err != nil {
100
+		fmt.Println(err.Error())
101
+	} else {
102
+		if exist {
103
+			fmt.Println(dir + "文件夹已存在!")
104
+		} else {
105
+			// 文件夹名称,权限
106
+			err := os.Mkdir(dir, os.ModePerm)
107
+			if err != nil {
108
+				fmt.Println(dir+"文件夹创建失败:", err.Error())
109
+			} else {
110
+				fmt.Println(dir + "文件夹创建成功!")
111
+			}
112
+		}
113
+	}
114
+}
115
+func PathExists(path string) (bool, error) {
116
+	_, err := os.Stat(path)
117
+	if err == nil {
118
+		return true, nil
119
+	}
120
+	if os.IsNotExist(err) {
121
+		return false, nil
122
+	}
123
+	return false, err
124
+}
125
+func upload_qiniu(filePath string, keys string) {
126
+	key := keys
127
+	//上传凭证,关于凭证这块大家可以去看看官方文档
128
+	putPolicy := storage.PutPolicy{
129
+		Scope: beego.AppConfig.String("qiniu_bucket"),
130
+	}
131
+	mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
132
+	upToken := putPolicy.UploadToken(mac)
133
+	cfg := storage.Config{}
134
+	//空间对应机房
135
+	//其中关于Zone对象和机房的关系如下:
136
+	//    机房    Zone对象
137
+	//    华东    storage.ZoneHuadong
138
+	//    华北    storage.ZoneHuabei
139
+	//    华南    storage.ZoneHuanan
140
+	//    北美    storage.ZoneBeimei
141
+	//七牛云存储空间设置首页有存储区域
142
+	cfg.Zone = &storage.ZoneHuadong
143
+	//不启用HTTPS域名
144
+	cfg.UseHTTPS = false
145
+	//不使用CND加速
146
+	cfg.UseCdnDomains = false
147
+	//构建上传表单对象
148
+	formUploader := storage.NewFormUploader(&cfg)
149
+	ret := storage.PutRet{}
150
+	// 可选
151
+	putExtra := storage.PutExtra{
152
+		Params: map[string]string{},
153
+	}
154
+	err := formUploader.PutFile(context.Background(), &ret, upToken, key, filePath, &putExtra)
155
+	if err != nil {
156
+		fmt.Println(err)
157
+		return
158
+	}
159
+	fmt.Println(ret.Key, ret.Hash)
160
+}