劲创营---任务项目
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 

90 líneas
2.1 KiB

  1. package main
  2. import (
  3. "applet/app/cfg"
  4. "applet/app/comm/db"
  5. db2 "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/db"
  6. "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/db/model"
  7. "fmt"
  8. )
  9. // 系统初始化
  10. func init() {
  11. cfg.InitCfg() //配置初始化
  12. cfg.InitLog() //日志初始化
  13. cfg.InitCache() //缓存初始化
  14. if cfg.Debug { //判断是否是debug
  15. if err := db.InitDB(cfg.DB); err != nil { //主数据库初始化
  16. panic(err)
  17. }
  18. //channel := make(chan int, 0) //开辟管道,缓冲为
  19. ////go model.InitDBs(channel)
  20. //<-channel
  21. }
  22. fmt.Println("init success")
  23. }
  24. func main() {
  25. clearHasSonNum()
  26. datas, err := db2.UserSmallPublicPlatoonRelationCopyFindByParams(db.Db, map[string]interface{}{
  27. "key": "has_son_num",
  28. "value": "5",
  29. })
  30. if err != nil {
  31. fmt.Println(">>>>>>>>>>>>>", err)
  32. }
  33. for _, v := range *datas {
  34. var m []model.UserSmallPublicPlatoonRelationCopy
  35. db.Db.Where("father_uid1 =?", v.Uid).Find(&m)
  36. for k, v := range m {
  37. if k < 5 {
  38. continue
  39. }
  40. dealMorePosition(v)
  41. }
  42. v.HasSonNum = 5
  43. _, err = db.Db.Where("id=?", v.Id).Update(v)
  44. if err != nil {
  45. fmt.Println(">>>>>>>>>>>>>", err)
  46. }
  47. }
  48. clearHasSonNum()
  49. }
  50. func dealMorePosition(m model.UserSmallPublicPlatoonRelationCopy) {
  51. var data []model.UserSmallPublicPlatoonRelationCopy
  52. err := db.Db.Where("father_uid1 =?", m.Uid).Find(&data)
  53. if err != nil {
  54. fmt.Println(">>>>>>>>>>>>>", err)
  55. }
  56. db.Db.Where("id = ?", m.Id).Delete(model.UserSmallPublicPlatoonRelationCopy{})
  57. for _, v := range data {
  58. db.Db.Where("id = ?", v.Id).Delete(model.UserSmallPublicPlatoonRelationCopy{})
  59. if v.HasSonNum > 0 {
  60. dealMorePosition(v)
  61. }
  62. }
  63. }
  64. func clearHasSonNum() {
  65. data, err := db2.UserSmallPublicPlatoonRelationCopyFindByParams(db.Db, map[string]interface{}{
  66. "key": nil,
  67. "value": "",
  68. })
  69. if err != nil {
  70. fmt.Println(">>>>>>>>>>>>>", err)
  71. }
  72. for _, v := range *data {
  73. var m []model.UserSmallPublicPlatoonRelationCopy
  74. db.Db.Where("father_uid1 =?", v.Uid).Find(&m)
  75. if len(m) != v.HasSonNum {
  76. v.HasSonNum = len(m)
  77. _, err = db.Db.Where("id=?", v.Id).Update(v)
  78. }
  79. }
  80. }