|
@@ -1,19 +1,25 @@
|
1
|
1
|
package main
|
2
|
2
|
|
3
|
3
|
import (
|
|
4
|
+ "context"
|
|
5
|
+ "fmt"
|
|
6
|
+ "gdyb/models"
|
4
|
7
|
_ "gdyb/routers"
|
5
|
|
- //"gdyb/service"
|
|
8
|
+ "gdyb/service"
|
6
|
9
|
"github.com/astaxie/beego"
|
7
|
|
- //"github.com/qiniu/api.v7/auth/qbox"
|
8
|
|
- //"github.com/qiniu/api.v7/storage"
|
|
10
|
+ "github.com/qiniu/api.v7/auth/qbox"
|
|
11
|
+ "github.com/qiniu/api.v7/storage"
|
|
12
|
+ "os"
|
|
13
|
+ "strconv"
|
|
14
|
+ "time"
|
9
|
15
|
)
|
10
|
16
|
|
11
|
17
|
func init() {
|
12
|
|
- //service.ConnectDB()
|
13
|
|
- //org_id, _ := beego.AppConfig.Int64("org_id")
|
14
|
|
- //miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
|
15
|
|
- //CreateLog(miConfig)
|
16
|
|
- //UploadLog(miConfig)
|
|
18
|
+ service.ConnectDB()
|
|
19
|
+ org_id, _ := beego.AppConfig.Int64("org_id")
|
|
20
|
+ miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
|
|
21
|
+ CreateLog(miConfig)
|
|
22
|
+ UploadLog(miConfig)
|
17
|
23
|
//UploadSettleList(org_id)
|
18
|
24
|
}
|
19
|
25
|
func main() {
|
|
@@ -776,137 +782,137 @@ type ResultSeventeen struct {
|
776
|
782
|
// }
|
777
|
783
|
//}
|
778
|
784
|
|
779
|
|
-//func CreateLog(miConfig models.MedicalInsuranceOrgConfig) {
|
780
|
|
-// Mkdir(miConfig.OrgName + "日志")
|
781
|
|
-// //org_id,_ := beego.AppConfig.Int("org_id")
|
782
|
|
-// month := time.Unix(1557042972, 0).Format("1")
|
783
|
|
-// year := time.Now().Format("2006")
|
784
|
|
-// month = time.Now().Format("01")
|
785
|
|
-// day := time.Now().Format("02")
|
786
|
|
-// file := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + year + month + day + "_log"
|
787
|
|
-// file_name := file + ".txt"
|
788
|
|
-// file_path := miConfig.OrgName + "日志" + "/" + file_name
|
789
|
|
-// exist, _ := PathExists(file_path)
|
790
|
|
-// if exist { //存在
|
791
|
|
-// fmt.Println("存在")
|
792
|
|
-// f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
|
793
|
|
-// if err != nil {
|
794
|
|
-// fmt.Println("read fail")
|
795
|
|
-// }
|
796
|
|
-// content := "\r\r\r"
|
797
|
|
-// n, _ := f.Seek(0, 2)
|
798
|
|
-// _, err = f.WriteAt([]byte(content), n)
|
799
|
|
-//
|
800
|
|
-// } else { //不存在
|
801
|
|
-// fmt.Println("文件不存在,创建文件")
|
802
|
|
-// f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name)
|
803
|
|
-// defer f.Close()
|
804
|
|
-// if err != nil {
|
805
|
|
-// } else {
|
806
|
|
-// _, err = f.Write([]byte("记录日志"))
|
807
|
|
-// }
|
808
|
|
-// }
|
809
|
|
-//
|
810
|
|
-//}
|
|
785
|
+func CreateLog(miConfig models.MedicalInsuranceOrgConfig) {
|
|
786
|
+ Mkdir(miConfig.OrgName + "日志")
|
|
787
|
+ //org_id,_ := beego.AppConfig.Int("org_id")
|
|
788
|
+ month := time.Unix(1557042972, 0).Format("1")
|
|
789
|
+ year := time.Now().Format("2006")
|
|
790
|
+ month = time.Now().Format("01")
|
|
791
|
+ day := time.Now().Format("02")
|
|
792
|
+ file := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + year + month + day + "_log"
|
|
793
|
+ file_name := file + ".txt"
|
|
794
|
+ file_path := miConfig.OrgName + "日志" + "/" + file_name
|
|
795
|
+ exist, _ := PathExists(file_path)
|
|
796
|
+ if exist { //存在
|
|
797
|
+ fmt.Println("存在")
|
|
798
|
+ f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
|
|
799
|
+ if err != nil {
|
|
800
|
+ fmt.Println("read fail")
|
|
801
|
+ }
|
|
802
|
+ content := "\r\r\r"
|
|
803
|
+ n, _ := f.Seek(0, 2)
|
|
804
|
+ _, err = f.WriteAt([]byte(content), n)
|
811
|
805
|
|
812
|
|
-//func UploadLog(miConfig models.MedicalInsuranceOrgConfig) {
|
813
|
|
-// //获取七牛云上的文件信息,不存在则表示没上传到七牛云,上传昨天日志信息
|
814
|
|
-// nTime := time.Now()
|
815
|
|
-// yesTime := nTime.AddDate(0, 0, -1)
|
816
|
|
-// file_key := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + yesTime.Format("20060102") + "_log.txt"
|
817
|
|
-// mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
|
818
|
|
-// cfg := storage.Config{
|
819
|
|
-// // 是否使用https域名进行资源管理
|
820
|
|
-// UseHTTPS: true,
|
821
|
|
-// }
|
822
|
|
-// // 指定空间所在的区域,如果不指定将自动探测
|
823
|
|
-// // 如果没有特殊需求,默认不需要指定
|
824
|
|
-// //cfg.Zone=&storage.ZoneHuabei
|
825
|
|
-// bucketManager := storage.NewBucketManager(mac, &cfg)
|
826
|
|
-// bucket := beego.AppConfig.String("qiniu_bucket")
|
827
|
|
-// key := file_key
|
828
|
|
-// file, sErr := bucketManager.Stat(bucket, key)
|
829
|
|
-// fmt.Println(file)
|
830
|
|
-// fmt.Println(sErr)
|
831
|
|
-// fmt.Println(miConfig.OrgName + "日志" + "/" + file_key)
|
832
|
|
-//
|
833
|
|
-// if sErr != nil {
|
834
|
|
-// fmt.Println("七牛云上文件不存在,上传到七牛云")
|
835
|
|
-// //判断本地文件是否存在,存在则执行上传操作
|
836
|
|
-// exist, _ := PathExists(miConfig.OrgName + "日志" + "/" + file_key)
|
837
|
|
-// if exist {
|
838
|
|
-// upload_qiniu(miConfig.OrgName+"日志"+"/"+file_key, file_key)
|
839
|
|
-// } else {
|
840
|
|
-// fmt.Println("本地文件不存在")
|
841
|
|
-//
|
842
|
|
-// }
|
843
|
|
-// } else {
|
844
|
|
-// fmt.Println("七牛云文件存在")
|
845
|
|
-// }
|
846
|
|
-//
|
847
|
|
-//}
|
848
|
|
-//func Mkdir(dir string) {
|
849
|
|
-// // 创建文件夹
|
850
|
|
-// exist, err := PathExists(dir)
|
851
|
|
-// if err != nil {
|
852
|
|
-// fmt.Println(err.Error())
|
853
|
|
-// } else {
|
854
|
|
-// if exist {
|
855
|
|
-// fmt.Println(dir + "文件夹已存在!")
|
856
|
|
-// } else {
|
857
|
|
-// // 文件夹名称,权限
|
858
|
|
-// err := os.Mkdir(dir, os.ModePerm)
|
859
|
|
-// if err != nil {
|
860
|
|
-// fmt.Println(dir+"文件夹创建失败:", err.Error())
|
861
|
|
-// } else {
|
862
|
|
-// fmt.Println(dir + "文件夹创建成功!")
|
863
|
|
-// }
|
864
|
|
-// }
|
865
|
|
-// }
|
866
|
|
-//}
|
867
|
|
-//func PathExists(path string) (bool, error) {
|
868
|
|
-// _, err := os.Stat(path)
|
869
|
|
-// if err == nil {
|
870
|
|
-// return true, nil
|
871
|
|
-// }
|
872
|
|
-// if os.IsNotExist(err) {
|
873
|
|
-// return false, nil
|
874
|
|
-// }
|
875
|
|
-// return false, err
|
876
|
|
-//}
|
877
|
|
-//func upload_qiniu(filePath string, keys string) {
|
878
|
|
-// key := keys
|
879
|
|
-// //上传凭证,关于凭证这块大家可以去看看官方文档
|
880
|
|
-// putPolicy := storage.PutPolicy{
|
881
|
|
-// Scope: beego.AppConfig.String("qiniu_bucket"),
|
882
|
|
-// }
|
883
|
|
-// mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
|
884
|
|
-// upToken := putPolicy.UploadToken(mac)
|
885
|
|
-// cfg := storage.Config{}
|
886
|
|
-// //空间对应机房
|
887
|
|
-// //其中关于Zone对象和机房的关系如下:
|
888
|
|
-// // 机房 Zone对象
|
889
|
|
-// // 华东 storage.ZoneHuadong
|
890
|
|
-// // 华北 storage.ZoneHuabei
|
891
|
|
-// // 华南 storage.ZoneHuanan
|
892
|
|
-// // 北美 storage.ZoneBeimei
|
893
|
|
-// //七牛云存储空间设置首页有存储区域
|
894
|
|
-// cfg.Zone = &storage.ZoneHuadong
|
895
|
|
-// //不启用HTTPS域名
|
896
|
|
-// cfg.UseHTTPS = false
|
897
|
|
-// //不使用CND加速
|
898
|
|
-// cfg.UseCdnDomains = false
|
899
|
|
-// //构建上传表单对象
|
900
|
|
-// formUploader := storage.NewFormUploader(&cfg)
|
901
|
|
-// ret := storage.PutRet{}
|
902
|
|
-// // 可选
|
903
|
|
-// putExtra := storage.PutExtra{
|
904
|
|
-// Params: map[string]string{},
|
905
|
|
-// }
|
906
|
|
-// err := formUploader.PutFile(context.Background(), &ret, upToken, key, filePath, &putExtra)
|
907
|
|
-// if err != nil {
|
908
|
|
-// fmt.Println(err)
|
909
|
|
-// return
|
910
|
|
-// }
|
911
|
|
-// fmt.Println(ret.Key, ret.Hash)
|
912
|
|
-//}
|
|
806
|
+ } else { //不存在
|
|
807
|
+ fmt.Println("文件不存在,创建文件")
|
|
808
|
+ f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name)
|
|
809
|
+ defer f.Close()
|
|
810
|
+ if err != nil {
|
|
811
|
+ } else {
|
|
812
|
+ _, err = f.Write([]byte("记录日志"))
|
|
813
|
+ }
|
|
814
|
+ }
|
|
815
|
+
|
|
816
|
+}
|
|
817
|
+
|
|
818
|
+func UploadLog(miConfig models.MedicalInsuranceOrgConfig) {
|
|
819
|
+ //获取七牛云上的文件信息,不存在则表示没上传到七牛云,上传昨天日志信息
|
|
820
|
+ nTime := time.Now()
|
|
821
|
+ yesTime := nTime.AddDate(0, 0, -1)
|
|
822
|
+ file_key := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + yesTime.Format("20060102") + "_log.txt"
|
|
823
|
+ mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
|
|
824
|
+ cfg := storage.Config{
|
|
825
|
+ // 是否使用https域名进行资源管理
|
|
826
|
+ UseHTTPS: true,
|
|
827
|
+ }
|
|
828
|
+ // 指定空间所在的区域,如果不指定将自动探测
|
|
829
|
+ // 如果没有特殊需求,默认不需要指定
|
|
830
|
+ //cfg.Zone=&storage.ZoneHuabei
|
|
831
|
+ bucketManager := storage.NewBucketManager(mac, &cfg)
|
|
832
|
+ bucket := beego.AppConfig.String("qiniu_bucket")
|
|
833
|
+ key := file_key
|
|
834
|
+ file, sErr := bucketManager.Stat(bucket, key)
|
|
835
|
+ fmt.Println(file)
|
|
836
|
+ fmt.Println(sErr)
|
|
837
|
+ fmt.Println(miConfig.OrgName + "日志" + "/" + file_key)
|
|
838
|
+
|
|
839
|
+ if sErr != nil {
|
|
840
|
+ fmt.Println("七牛云上文件不存在,上传到七牛云")
|
|
841
|
+ //判断本地文件是否存在,存在则执行上传操作
|
|
842
|
+ exist, _ := PathExists(miConfig.OrgName + "日志" + "/" + file_key)
|
|
843
|
+ if exist {
|
|
844
|
+ upload_qiniu(miConfig.OrgName+"日志"+"/"+file_key, file_key)
|
|
845
|
+ } else {
|
|
846
|
+ fmt.Println("本地文件不存在")
|
|
847
|
+
|
|
848
|
+ }
|
|
849
|
+ } else {
|
|
850
|
+ fmt.Println("七牛云文件存在")
|
|
851
|
+ }
|
|
852
|
+
|
|
853
|
+}
|
|
854
|
+func Mkdir(dir string) {
|
|
855
|
+ // 创建文件夹
|
|
856
|
+ exist, err := PathExists(dir)
|
|
857
|
+ if err != nil {
|
|
858
|
+ fmt.Println(err.Error())
|
|
859
|
+ } else {
|
|
860
|
+ if exist {
|
|
861
|
+ fmt.Println(dir + "文件夹已存在!")
|
|
862
|
+ } else {
|
|
863
|
+ // 文件夹名称,权限
|
|
864
|
+ err := os.Mkdir(dir, os.ModePerm)
|
|
865
|
+ if err != nil {
|
|
866
|
+ fmt.Println(dir+"文件夹创建失败:", err.Error())
|
|
867
|
+ } else {
|
|
868
|
+ fmt.Println(dir + "文件夹创建成功!")
|
|
869
|
+ }
|
|
870
|
+ }
|
|
871
|
+ }
|
|
872
|
+}
|
|
873
|
+func PathExists(path string) (bool, error) {
|
|
874
|
+ _, err := os.Stat(path)
|
|
875
|
+ if err == nil {
|
|
876
|
+ return true, nil
|
|
877
|
+ }
|
|
878
|
+ if os.IsNotExist(err) {
|
|
879
|
+ return false, nil
|
|
880
|
+ }
|
|
881
|
+ return false, err
|
|
882
|
+}
|
|
883
|
+func upload_qiniu(filePath string, keys string) {
|
|
884
|
+ key := keys
|
|
885
|
+ //上传凭证,关于凭证这块大家可以去看看官方文档
|
|
886
|
+ putPolicy := storage.PutPolicy{
|
|
887
|
+ Scope: beego.AppConfig.String("qiniu_bucket"),
|
|
888
|
+ }
|
|
889
|
+ mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
|
|
890
|
+ upToken := putPolicy.UploadToken(mac)
|
|
891
|
+ cfg := storage.Config{}
|
|
892
|
+ //空间对应机房
|
|
893
|
+ //其中关于Zone对象和机房的关系如下:
|
|
894
|
+ // 机房 Zone对象
|
|
895
|
+ // 华东 storage.ZoneHuadong
|
|
896
|
+ // 华北 storage.ZoneHuabei
|
|
897
|
+ // 华南 storage.ZoneHuanan
|
|
898
|
+ // 北美 storage.ZoneBeimei
|
|
899
|
+ //七牛云存储空间设置首页有存储区域
|
|
900
|
+ cfg.Zone = &storage.ZoneHuadong
|
|
901
|
+ //不启用HTTPS域名
|
|
902
|
+ cfg.UseHTTPS = false
|
|
903
|
+ //不使用CND加速
|
|
904
|
+ cfg.UseCdnDomains = false
|
|
905
|
+ //构建上传表单对象
|
|
906
|
+ formUploader := storage.NewFormUploader(&cfg)
|
|
907
|
+ ret := storage.PutRet{}
|
|
908
|
+ // 可选
|
|
909
|
+ putExtra := storage.PutExtra{
|
|
910
|
+ Params: map[string]string{},
|
|
911
|
+ }
|
|
912
|
+ err := formUploader.PutFile(context.Background(), &ret, upToken, key, filePath, &putExtra)
|
|
913
|
+ if err != nil {
|
|
914
|
+ fmt.Println(err)
|
|
915
|
+ return
|
|
916
|
+ }
|
|
917
|
+ fmt.Println(ret.Key, ret.Hash)
|
|
918
|
+}
|