蛋蛋星球-客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

209 line
6.3 KiB

  1. package main
  2. import (
  3. "applet/app/db"
  4. "applet/app/utils"
  5. "code.fnuoos.com/EggPlanet/egg_models.git/src/model"
  6. "code.fnuoos.com/EggPlanet/egg_system_rules.git/rule"
  7. "code.fnuoos.com/EggPlanet/egg_system_rules.git/rule/egg_energy/md"
  8. "context"
  9. "errors"
  10. "fmt"
  11. "log"
  12. "net/http"
  13. "os"
  14. "os/signal"
  15. "syscall"
  16. "time"
  17. "applet/app/cfg"
  18. "applet/app/router"
  19. )
  20. // 系统初始化
  21. func init() {
  22. cfg.InitCfg() // 配置初始化
  23. cfg.InitLog() // 日志初始化
  24. cfg.InitCache() // 缓存初始化
  25. cfg.InitMq() // 队列初始化
  26. cfg.InitEs() //ElasticSearch初始化
  27. if cfg.Debug { // 判断是否是debug
  28. if err := db.InitDB(cfg.DB); err != nil { // 主数据库初始化
  29. panic(err)
  30. }
  31. if err := db.InitImDB(cfg.IMDB); err != nil { // IM主数据库初始化
  32. panic(err)
  33. }
  34. }
  35. fmt.Println("init success")
  36. }
  37. // @title 蛋蛋星球-APP客户端
  38. // @version 1.0
  39. // @description APP客户端-Api接口
  40. // @termsOfService http://swagger.io/terms/
  41. // @contact.name dengbiao
  42. // @contact.url http://www.swagger.io/support
  43. // @contact.email 1239118001@qq.com
  44. // @license.name Apache 2.0
  45. // @license.url http://www.apache.org/licenses/LICENSE-2.0.html
  46. // @host ddxq.izhim.com
  47. // @BasePath /api/v1
  48. func main() {
  49. var users []model.UserRelate
  50. //db.Db.Where("level=1 and id>= 79725").Asc("id").Find(&users)
  51. db.Db.Where("level=1").Asc("id").Find(&users)
  52. for _, v := range users {
  53. fmt.Println("ID<<<<<<<", v.Id)
  54. fmt.Println("user>>>>>", v.Uid)
  55. if v.ParentUid != 0 {
  56. var req []*md.AddPublicPlatoonUserRelationCommissionReq
  57. req = append(req, &md.AddPublicPlatoonUserRelationCommissionReq{
  58. Uid: utils.Int64ToStr(v.Uid),
  59. RecommendUid: utils.Int64ToStr(v.ParentUid),
  60. })
  61. _, err := rule.AddPublicPlatoonUserRelationCommission(db.Db, req)
  62. if err != nil {
  63. if err.Error() == "当前用户已加入公排" {
  64. continue
  65. }
  66. if err.Error() == "未查询到推荐人记录" {
  67. var user model.User
  68. db.Db.Where("`id`=?", v.ParentUid).Get(&user)
  69. var newreq []*md.AddPublicPlatoonUserRelationCommissionReq
  70. newreq = append(newreq, &md.AddPublicPlatoonUserRelationCommissionReq{
  71. Uid: utils.Int64ToStr(user.Id),
  72. RecommendUid: utils.Int64ToStr(user.ParentUid),
  73. })
  74. _, err = rule.AddPublicPlatoonUserRelationCommission(db.Db, newreq)
  75. if err != nil {
  76. fmt.Println("err1>>>>>>", err)
  77. }
  78. _, err = rule.AddPublicPlatoonUserRelationCommission(db.Db, req)
  79. if err != nil {
  80. fmt.Println("err2>>>>>>", err)
  81. }
  82. return
  83. } else {
  84. var user model.User
  85. db.Db.Where("`id`=?", v.ParentUid).Get(&user)
  86. if user.Nickname != "注销用户" {
  87. fmt.Println("err >>>>>>>", err.Error())
  88. return
  89. } else {
  90. var newreq []*md.AddPublicPlatoonUserRelationCommissionReq
  91. newreq = append(newreq, &md.AddPublicPlatoonUserRelationCommissionReq{
  92. Uid: utils.Int64ToStr(v.Uid),
  93. RecommendUid: utils.Int64ToStr(1),
  94. })
  95. _, err := rule.AddPublicPlatoonUserRelationCommission(db.Db, newreq)
  96. fmt.Println("err>>>>>>", err)
  97. }
  98. }
  99. }
  100. }
  101. }
  102. return
  103. r := router.Init() // 创建路由
  104. srv := &http.Server{ // 设置http服务参数
  105. Addr: cfg.SrvAddr, // 指定ip和端口
  106. Handler: r, // 指定路由
  107. }
  108. go func() { // 协程启动监听http服务
  109. fmt.Println("Listening and serving HTTP on " + cfg.SrvAddr)
  110. if err := srv.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) {
  111. log.Fatalf("listen: %s\n", err)
  112. }
  113. }()
  114. // 退出go守护进程
  115. quit := make(chan os.Signal)
  116. signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
  117. <-quit
  118. log.Println("Shutting down server...")
  119. ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
  120. defer cancel()
  121. if err := srv.Shutdown(ctx); err != nil {
  122. log.Fatal("Server forced to shutdown:", err)
  123. }
  124. log.Println("Server exiting")
  125. }
  126. //func main() {
  127. // var users []model.User
  128. // db.Db.Where("1=1 and phone != ''").Desc("id").Find(&users)
  129. // var codeWithUsers = map[string]*model.User{}
  130. // for _, v := range users {
  131. // fmt.Println("user>>>>>", v.Id)
  132. // if v.ParentUid != 0 {
  133. // var userRelate model.UserRelate
  134. // if has, _ := db.Db.Where("`parent_uid`=? and level = 1", v.ParentUid).Get(&userRelate); has == false {
  135. // utils.FilePutContents("test_test_test_1", utils.SerializeStr(map[string]interface{}{
  136. // "uid": v.Id,
  137. // "phone": v.Phone,
  138. // }))
  139. // }
  140. // }
  141. // if codeWithUsers[v.SystemInviteCode] != nil {
  142. // if v.Phone != "" {
  143. // utils.FilePutContents("test_test_test", utils.SerializeStr(map[string]interface{}{
  144. // "uid": v.Id,
  145. // "phone": v.Phone,
  146. // }))
  147. // //var inviteCode string
  148. // //sysCfgDb := sys_cfg.NewSysCfgDb(db.Db)
  149. // //sysCfg := sysCfgDb.SysCfgFindWithDb(enum.AppInviteType, enum.AppInviteLength)
  150. // //inviteCode = svc.ReturnCode(utils.StrToInt(sysCfg[enum.AppInviteLength]), utils.StrToInt(sysCfg[enum.AppInviteType]), 0)
  151. // //v.SystemInviteCode = inviteCode
  152. // //_, err := db.Db.Where("id=?", v.Id).Cols("system_invite_code").Update(v)
  153. // //fmt.Println("code>>>>", inviteCode)
  154. // //fmt.Println("err>>>>", err)
  155. //
  156. // //var userRelate []model.UserRelate
  157. // //db.Db.Where("parent_uid = ? and level = 1", v.Id).Find(&userRelate)
  158. // //if len(userRelate) > 0 {
  159. // // utils.FilePutContents("test_test_test_v1", utils.SerializeStr(map[string]interface{}{
  160. // // "uid": v.Id,
  161. // // "phone": v.Phone,
  162. // // }))
  163. // //}
  164. // }
  165. // continue
  166. // }
  167. // codeWithUsers[v.SystemInviteCode] = &v
  168. // }
  169. //
  170. // return
  171. // r := router.Init() // 创建路由
  172. //
  173. // srv := &http.Server{ // 设置http服务参数
  174. // Addr: cfg.SrvAddr, // 指定ip和端口
  175. // Handler: r, // 指定路由
  176. // }
  177. //
  178. // go func() { // 协程启动监听http服务
  179. // fmt.Println("Listening and serving HTTP on " + cfg.SrvAddr)
  180. // if err := srv.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) {
  181. // log.Fatalf("listen: %s\n", err)
  182. // }
  183. // }()
  184. //
  185. // // 退出go守护进程
  186. // quit := make(chan os.Signal)
  187. // signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
  188. // <-quit
  189. // log.Println("Shutting down server...")
  190. // ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
  191. // defer cancel()
  192. // if err := srv.Shutdown(ctx); err != nil {
  193. // log.Fatal("Server forced to shutdown:", err)
  194. // }
  195. // log.Println("Server exiting")
  196. //
  197. //}