智慧食堂
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

177 lignes
5.1 KiB

  1. package main
  2. import (
  3. "applet/app/db"
  4. "context"
  5. "fmt"
  6. "log"
  7. "net/http"
  8. "os"
  9. "os/signal"
  10. "syscall"
  11. "time"
  12. "applet/app/cfg"
  13. "applet/app/router"
  14. )
  15. //系统初始化
  16. func init() {
  17. cfg.InitCfg() //配置初始化
  18. cfg.InitLog() //日志初始化
  19. cfg.InitCache() //缓存初始化
  20. cfg.InitMq() //队列初始化
  21. if cfg.Debug { //判断是否是debug
  22. if err := db.InitDB(cfg.DB); err != nil { //主数据库初始化
  23. panic(err)
  24. }
  25. }
  26. fmt.Println("init success")
  27. }
  28. func DealClassWithUser() {
  29. //var list []model.ClassWithUser
  30. //if err := db.Db.Where("id < ").Desc("id").Find(&list); err != nil {
  31. // fmt.Println(err)
  32. //}
  33. //var notIds = map[int]bool{}
  34. //for _, v := range list {
  35. // if notIds[v.Id] {
  36. // continue
  37. // }
  38. // var tmpList []model.ClassWithUser
  39. // if err := db.Db.Where("id !=? and user_identity_id=?", v.Id, v.UserIdentityId).And("class_id =?", v.ClassId).Find(&tmpList); err != nil {
  40. // fmt.Println(err)
  41. // }
  42. // if len(tmpList) > 0 {
  43. // for _, vv := range tmpList {
  44. // notIds[vv.Id] = true
  45. // utils.FilePutContents("test_test", utils.IntToStr(vv.Id))
  46. // }
  47. // }
  48. // fmt.Println(v)
  49. //}
  50. //return
  51. }
  52. func main() {
  53. //var list []model.CentralKitchenForSchoolPackageOrdForReserve
  54. //if err := db.Db.Where("create_at >= '2024-09-01 15:00:00'").Desc("id").Find(&list); err != nil {
  55. // fmt.Println(err)
  56. //}
  57. ////
  58. //var ordIds = map[string]string{}
  59. //for _, v := range list {
  60. // if ordIds[v.OutTradeNo+"_"+utils.AnyToString(v.Kind)+"_"+v.ReserveMonth] != "" {
  61. // continue
  62. // }
  63. // var tmpList []model.CentralKitchenForSchoolPackageOrdForReserve
  64. // if err := db.Db.Where("out_trade_no = ?", v.OutTradeNo).And("kind =?", v.Kind).And("reserve_month =?", v.ReserveMonth).
  65. // And("total_price =?", v.TotalPrice).Find(&tmpList); err != nil {
  66. // fmt.Println(err)
  67. // }
  68. // fmt.Println(v.OutTradeNo)
  69. // if len(tmpList) > 1 {
  70. // ordIds[v.OutTradeNo+"_"+utils.AnyToString(v.Kind)+"_"+v.ReserveMonth] = v.OutTradeNo
  71. // utils.FilePutContents("test_test_test", v.OutTradeNo)
  72. // }
  73. // // v.RecordsId = -v.RecordsId
  74. // // v.OutTradeNo = "-" + v.OutTradeNo
  75. // // affected1, err := db.Db.Where("id=?", v.Id).Cols("records_id", "out_trade_no").Update(&v)
  76. // // if err != nil {
  77. // // fmt.Println(err)
  78. // // }
  79. // // fmt.Println(">>>>>>>>>>>>>>>>>affected1<<<<<<<<<<<<<<<<<<<", affected1)
  80. // // continue
  81. //var mm []model.CentralKitchenForSchoolUserRefundDay
  82. //if err := db.Db.Where("memo = ?", "退款处理失败:(未查询到对应预定记录)").Find(&mm); err != nil {
  83. // fmt.Println(err)
  84. //}
  85. //// //
  86. //if len(mm) > 0 {
  87. // for _, v := range mm {
  88. // mmm := new(model.CentralKitchenForSchoolUserWithDay)
  89. // has, err := db.Db.Where("id =?", v.RecordsId).Get(mmm)
  90. // if err != nil {
  91. // fmt.Println(err)
  92. // }
  93. // if !has {
  94. // utils.FilePutContents("test_test", utils.IntToStr(v.Id))
  95. // fmt.Println(v)
  96. // }
  97. // }
  98. //
  99. //}
  100. //return
  101. // //if mmm.Date == "2024-01-31" {
  102. // //1、更改当前记录
  103. // v.Uid = -v.Uid
  104. // affected1, err := db.Db.Where("id=?", v.Id).Cols("uid").Update(&v)
  105. // if err != nil {
  106. // // fmt.Println(err)
  107. // // }
  108. // // fmt.Println(">>>>>>>>>>>>>>>>>affected1<<<<<<<<<<<<<<<<<<<", affected1)
  109. // // vv := new(model.CentralKitchenForSchoolUserWithDay)
  110. // // _, err = db.Db.Where("id =?", v.RecordsId).Get(vv)
  111. // // if err != nil {
  112. // // fmt.Println(err)
  113. // // }
  114. // // vv.State = 2
  115. // // affected11, err := db.Db.Where("id=?", vv.Id).Cols("state").Update(vv)
  116. // // if err != nil {
  117. // // fmt.Println(err)
  118. // // }
  119. // // fmt.Println(">>>>>>>>>>>>>>>>>affected11<<<<<<<<<<<<<<<<<<<", affected11)
  120. // //
  121. // // //2、更改兑换记录
  122. // // mm[0].OutRequestNo = v.OutRequestNo
  123. // // mm[0].State = v.State
  124. // // mm[0].RefundDate = v.RefundDate
  125. // // mm[0].Memo = "exchange"
  126. // // affected2, err := db.Db.Where("id=?", mm[0].Id).Cols("out_request_no", "state", "refund_date", "memo").Update(mm[0])
  127. // // if err != nil {
  128. // // fmt.Println(err)
  129. // // }
  130. // // fmt.Println(">>>>>>>>>>>>>>>>>affected2<<<<<<<<<<<<<<<<<<<", affected2)
  131. // // mmm.State = 4
  132. // // affected22, err := db.Db.Where("id=?", mmm.Id).Cols("state").Update(mmm)
  133. // // if err != nil {
  134. // // fmt.Println(err)
  135. // // }
  136. // // fmt.Println(">>>>>>>>>>>>>>>>>affected22<<<<<<<<<<<<<<<<<<<", affected22)
  137. // //
  138. // // //}
  139. // // } else {
  140. // // notCanUserIds = append(notCanUserIds, v.Uid)
  141. // // }
  142. //}
  143. //return
  144. r := router.Init() //创建路由
  145. srv := &http.Server{ //设置http服务参数
  146. Addr: cfg.SrvAddr, //指定ip和端口
  147. Handler: r, //指定路由
  148. }
  149. go func() { //协程启动监听http服务
  150. fmt.Println("Listening and serving HTTP on " + cfg.SrvAddr)
  151. if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
  152. log.Fatalf("listen: %s\n", err)
  153. }
  154. }()
  155. //退出go守护进程
  156. quit := make(chan os.Signal)
  157. signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
  158. <-quit
  159. log.Println("Shutting down server...")
  160. ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
  161. defer cancel()
  162. if err := srv.Shutdown(ctx); err != nil {
  163. log.Fatal("Server forced to shutdown:", err)
  164. }
  165. log.Println("Server exiting")
  166. }