package main import ( "applet/app/db" "context" "fmt" "log" "net/http" "os" "os/signal" "syscall" "time" "applet/app/cfg" "applet/app/router" ) //系统初始化 func init() { cfg.InitCfg() //配置初始化 cfg.InitLog() //日志初始化 cfg.InitCache() //缓存初始化 cfg.InitMq() //队列初始化 if cfg.Debug { //判断是否是debug if err := db.InitDB(cfg.DB); err != nil { //主数据库初始化 panic(err) } } fmt.Println("init success") } func DealClassWithUser() { //var list []model.ClassWithUser //if err := db.Db.Where("id < ").Desc("id").Find(&list); err != nil { // fmt.Println(err) //} //var notIds = map[int]bool{} //for _, v := range list { // if notIds[v.Id] { // continue // } // var tmpList []model.ClassWithUser // if err := db.Db.Where("id !=? and user_identity_id=?", v.Id, v.UserIdentityId).And("class_id =?", v.ClassId).Find(&tmpList); err != nil { // fmt.Println(err) // } // if len(tmpList) > 0 { // for _, vv := range tmpList { // notIds[vv.Id] = true // utils.FilePutContents("test_test", utils.IntToStr(vv.Id)) // } // } // fmt.Println(v) //} //return } func main() { //var list []model.CentralKitchenForSchoolPackageOrdForReserve //if err := db.Db.Where("create_at >= '2024-09-01 15:00:00'").Desc("id").Find(&list); err != nil { // fmt.Println(err) //} //// //var ordIds = map[string]string{} //for _, v := range list { // if ordIds[v.OutTradeNo+"_"+utils.AnyToString(v.Kind)+"_"+v.ReserveMonth] != "" { // continue // } // var tmpList []model.CentralKitchenForSchoolPackageOrdForReserve // if err := db.Db.Where("out_trade_no = ?", v.OutTradeNo).And("kind =?", v.Kind).And("reserve_month =?", v.ReserveMonth). // And("total_price =?", v.TotalPrice).Find(&tmpList); err != nil { // fmt.Println(err) // } // fmt.Println(v.OutTradeNo) // if len(tmpList) > 1 { // ordIds[v.OutTradeNo+"_"+utils.AnyToString(v.Kind)+"_"+v.ReserveMonth] = v.OutTradeNo // utils.FilePutContents("test_test_test", v.OutTradeNo) // } // // v.RecordsId = -v.RecordsId // // v.OutTradeNo = "-" + v.OutTradeNo // // affected1, err := db.Db.Where("id=?", v.Id).Cols("records_id", "out_trade_no").Update(&v) // // if err != nil { // // fmt.Println(err) // // } // // fmt.Println(">>>>>>>>>>>>>>>>>affected1<<<<<<<<<<<<<<<<<<<", affected1) // // continue //var mm []model.CentralKitchenForSchoolUserRefundDay //if err := db.Db.Where("memo = ?", "退款处理失败:(未查询到对应预定记录)").Find(&mm); err != nil { // fmt.Println(err) //} //// // //if len(mm) > 0 { // for _, v := range mm { // mmm := new(model.CentralKitchenForSchoolUserWithDay) // has, err := db.Db.Where("id =?", v.RecordsId).Get(mmm) // if err != nil { // fmt.Println(err) // } // if !has { // utils.FilePutContents("test_test", utils.IntToStr(v.Id)) // fmt.Println(v) // } // } // //} //return // //if mmm.Date == "2024-01-31" { // //1、更改当前记录 // v.Uid = -v.Uid // affected1, err := db.Db.Where("id=?", v.Id).Cols("uid").Update(&v) // if err != nil { // // fmt.Println(err) // // } // // fmt.Println(">>>>>>>>>>>>>>>>>affected1<<<<<<<<<<<<<<<<<<<", affected1) // // vv := new(model.CentralKitchenForSchoolUserWithDay) // // _, err = db.Db.Where("id =?", v.RecordsId).Get(vv) // // if err != nil { // // fmt.Println(err) // // } // // vv.State = 2 // // affected11, err := db.Db.Where("id=?", vv.Id).Cols("state").Update(vv) // // if err != nil { // // fmt.Println(err) // // } // // fmt.Println(">>>>>>>>>>>>>>>>>affected11<<<<<<<<<<<<<<<<<<<", affected11) // // // // //2、更改兑换记录 // // mm[0].OutRequestNo = v.OutRequestNo // // mm[0].State = v.State // // mm[0].RefundDate = v.RefundDate // // mm[0].Memo = "exchange" // // affected2, err := db.Db.Where("id=?", mm[0].Id).Cols("out_request_no", "state", "refund_date", "memo").Update(mm[0]) // // if err != nil { // // fmt.Println(err) // // } // // fmt.Println(">>>>>>>>>>>>>>>>>affected2<<<<<<<<<<<<<<<<<<<", affected2) // // mmm.State = 4 // // affected22, err := db.Db.Where("id=?", mmm.Id).Cols("state").Update(mmm) // // if err != nil { // // fmt.Println(err) // // } // // fmt.Println(">>>>>>>>>>>>>>>>>affected22<<<<<<<<<<<<<<<<<<<", affected22) // // // // //} // // } else { // // notCanUserIds = append(notCanUserIds, v.Uid) // // } //} //return r := router.Init() //创建路由 srv := &http.Server{ //设置http服务参数 Addr: cfg.SrvAddr, //指定ip和端口 Handler: r, //指定路由 } go func() { //协程启动监听http服务 fmt.Println("Listening and serving HTTP on " + cfg.SrvAddr) if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed { log.Fatalf("listen: %s\n", err) } }() //退出go守护进程 quit := make(chan os.Signal) signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM) <-quit log.Println("Shutting down server...") ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() if err := srv.Shutdown(ctx); err != nil { log.Fatal("Server forced to shutdown:", err) } log.Println("Server exiting") }