main.go 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package main
  2. import (
  3. "context"
  4. "fmt"
  5. _ "gdyb/routers"
  6. "gdyb/service"
  7. "gdyb/utils"
  8. "github.com/astaxie/beego"
  9. "github.com/qiniu/api.v7/auth/qbox"
  10. "github.com/qiniu/api.v7/storage"
  11. "os"
  12. "strconv"
  13. "time"
  14. )
  15. func init() {
  16. service.ConnectDB()
  17. }
  18. func main() {
  19. org_id, _ := beego.AppConfig.Int64("org_id")
  20. miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
  21. dir := miConfig.OrgName + "日志"
  22. utils.Mkdir(dir)
  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(org_id, 10) + "_" + year + month + day + "_log"
  28. file_name := file + ".txt"
  29. file_path := miConfig.OrgName + "日志" + "/" + file_name
  30. exist, _ := utils.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. } else { //不存在
  41. fmt.Println("文件不存在,创建文件")
  42. f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name)
  43. defer f.Close()
  44. if err != nil {
  45. } else {
  46. _, err = f.Write([]byte("记录日志"))
  47. }
  48. }
  49. //upload_qiniu(file_path,miConfig.OrgName+"_"+year+month+day)
  50. beego.Run()
  51. }
  52. func upload_qiniu(filePath string, temp_key string) {
  53. key := temp_key
  54. //上传凭证,关于凭证这块大家可以去看看官方文档
  55. putPolicy := storage.PutPolicy{
  56. Scope: beego.AppConfig.String("qiniu_bucket"),
  57. }
  58. mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
  59. upToken := putPolicy.UploadToken(mac)
  60. cfg := storage.Config{}
  61. //空间对应机房
  62. //其中关于Zone对象和机房的关系如下:
  63. // 机房 Zone对象
  64. // 华东 storage.ZoneHuadong
  65. // 华北 storage.ZoneHuabei
  66. // 华南 storage.ZoneHuanan
  67. // 北美 storage.ZoneBeimei
  68. //七牛云存储空间设置首页有存储区域
  69. cfg.Zone = &storage.ZoneHuadong
  70. //不启用HTTPS域名
  71. cfg.UseHTTPS = false
  72. //不使用CND加速
  73. cfg.UseCdnDomains = false
  74. //构建上传表单对象
  75. formUploader := storage.NewFormUploader(&cfg)
  76. ret := storage.PutRet{}
  77. // 可选
  78. putExtra := storage.PutExtra{
  79. Params: map[string]string{},
  80. }
  81. err := formUploader.PutFile(context.Background(), &ret, upToken, key, filePath, &putExtra)
  82. if err != nil {
  83. fmt.Println(err)
  84. return
  85. }
  86. }