package main import ( "applet/app/cfg" "applet/app/comm/db" db2 "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/db" "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/db/model" "fmt" ) // 系统初始化 func init() { cfg.InitCfg() //配置初始化 cfg.InitLog() //日志初始化 cfg.InitCache() //缓存初始化 if cfg.Debug { //判断是否是debug if err := db.InitDB(cfg.DB); err != nil { //主数据库初始化 panic(err) } //channel := make(chan int, 0) //开辟管道,缓冲为 ////go model.InitDBs(channel) //<-channel } fmt.Println("init success") } func main() { clearHasSonNum() datas, err := db2.UserSmallPublicPlatoonRelationCopyFindByParams(db.Db, map[string]interface{}{ "key": "has_son_num", "value": "5", }) if err != nil { fmt.Println(">>>>>>>>>>>>>", err) } for _, v := range *datas { var m []model.UserSmallPublicPlatoonRelationCopy db.Db.Where("father_uid1 =?", v.Uid).Find(&m) for k, v := range m { if k < 5 { continue } dealMorePosition(v) } v.HasSonNum = 5 _, err = db.Db.Where("id=?", v.Id).Update(v) if err != nil { fmt.Println(">>>>>>>>>>>>>", err) } } clearHasSonNum() } func dealMorePosition(m model.UserSmallPublicPlatoonRelationCopy) { var data []model.UserSmallPublicPlatoonRelationCopy err := db.Db.Where("father_uid1 =?", m.Uid).Find(&data) if err != nil { fmt.Println(">>>>>>>>>>>>>", err) } db.Db.Where("id = ?", m.Id).Delete(model.UserSmallPublicPlatoonRelationCopy{}) for _, v := range data { db.Db.Where("id = ?", v.Id).Delete(model.UserSmallPublicPlatoonRelationCopy{}) if v.HasSonNum > 0 { dealMorePosition(v) } } } func clearHasSonNum() { data, err := db2.UserSmallPublicPlatoonRelationCopyFindByParams(db.Db, map[string]interface{}{ "key": nil, "value": "", }) if err != nil { fmt.Println(">>>>>>>>>>>>>", err) } for _, v := range *data { var m []model.UserSmallPublicPlatoonRelationCopy db.Db.Where("father_uid1 =?", v.Uid).Find(&m) if len(m) != v.HasSonNum { v.HasSonNum = len(m) _, err = db.Db.Where("id=?", v.Id).Update(v) } } }