main.go 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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. "os/exec"
  13. "strconv"
  14. "time"
  15. )
  16. func init() {
  17. service.ConnectDB()
  18. }
  19. var (
  20. astr_jyhb string = "3046022100E4C617A5626E408938EEAC33D7BC0ACD645D8FF0B9A29FE55EC3F9BAB01A07C9022100D0F9E8A545E997F3E431C5E3DADA0EC5F53ACE6A7E9598FD6F3B85BE055D3E10"
  21. astr_jysr string = "bqh"
  22. astr_jysc string = ""
  23. )
  24. func call_yh_hb_call() {
  25. cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", astr_jyhb, astr_jysr, astr_jysc)
  26. out, err := cmd.Output()
  27. if err != nil {
  28. fmt.Println("error:", err.Error())
  29. }
  30. fmt.Printf("call yh_hb_call %q\n", string(out))
  31. }
  32. func main() {
  33. call_yh_hb_call()
  34. org_id, _ := beego.AppConfig.Int64("org_id")
  35. miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
  36. dir := miConfig.OrgName + "日志"
  37. utils.Mkdir(dir)
  38. month := time.Unix(1557042972, 0).Format("1")
  39. year := time.Now().Format("2006")
  40. month = time.Now().Format("01")
  41. day := time.Now().Format("02")
  42. file := strconv.FormatInt(org_id, 10) + "_" + year + month + day + "_log"
  43. file_name := file + ".txt"
  44. file_path := miConfig.OrgName + "日志" + "/" + file_name
  45. exist, _ := utils.PathExists(file_path)
  46. if exist { //存在
  47. fmt.Println("存在")
  48. f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
  49. if err != nil {
  50. fmt.Println("read fail")
  51. }
  52. content := "\r\n"
  53. n, _ := f.Seek(0, 2)
  54. _, err = f.WriteAt([]byte(content), n)
  55. } else { //不存在
  56. fmt.Println("文件不存在,创建文件")
  57. f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name)
  58. defer f.Close()
  59. if err != nil {
  60. } else {
  61. _, err = f.Write([]byte("记录日志"))
  62. }
  63. }
  64. //upload_qiniu(file_path,miConfig.OrgName+"_"+year+month+day)
  65. beego.Run()
  66. }
  67. func upload_qiniu(filePath string, temp_key string) {
  68. key := temp_key
  69. //上传凭证,关于凭证这块大家可以去看看官方文档
  70. putPolicy := storage.PutPolicy{
  71. Scope: beego.AppConfig.String("qiniu_bucket"),
  72. }
  73. mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
  74. upToken := putPolicy.UploadToken(mac)
  75. cfg := storage.Config{}
  76. //空间对应机房
  77. //其中关于Zone对象和机房的关系如下:
  78. // 机房 Zone对象
  79. // 华东 storage.ZoneHuadong
  80. // 华北 storage.ZoneHuabei
  81. // 华南 storage.ZoneHuanan
  82. // 北美 storage.ZoneBeimei
  83. //七牛云存储空间设置首页有存储区域
  84. cfg.Zone = &storage.ZoneHuadong
  85. //不启用HTTPS域名
  86. cfg.UseHTTPS = false
  87. //不使用CND加速
  88. cfg.UseCdnDomains = false
  89. //构建上传表单对象
  90. formUploader := storage.NewFormUploader(&cfg)
  91. ret := storage.PutRet{}
  92. // 可选
  93. putExtra := storage.PutExtra{
  94. Params: map[string]string{},
  95. }
  96. err := formUploader.PutFile(context.Background(), &ret, upToken, key, filePath, &putExtra)
  97. if err != nil {
  98. fmt.Println(err)
  99. return
  100. }
  101. }