initInfo.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package service
  2. import (
  3. . "bp.jydev.jianyu360.cn/CRM/networkManage/api/common"
  4. "encoding/json"
  5. "github.com/gogf/gf/v2/util/gconv"
  6. "log"
  7. )
  8. type InitInfoService struct {
  9. PositionType int64
  10. MgoUserId string
  11. EntId int64
  12. EntUserId int64
  13. EntRole int64
  14. PositionId int64
  15. }
  16. func (t *InitInfoService) UpdateInitInfo(company, business string) bool {
  17. fool := false
  18. if t.PositionType == 1 {
  19. //企业
  20. fool = Mgo.Update("ent_user", map[string]interface{}{
  21. "i_entid": t.EntId,
  22. "i_userid": t.EntUserId,
  23. }, map[string]interface{}{
  24. "$set": map[string]interface{}{
  25. "is_init": true,
  26. },
  27. }, false, false)
  28. if t.EntRole == 1 {
  29. //企业管理员
  30. info, _ := json.Marshal(map[string]interface{}{
  31. "company": company,
  32. "business": business,
  33. })
  34. fool = JianyuMysql.Update("entniche_info", map[string]interface{}{
  35. "id": t.EntId,
  36. }, map[string]interface{}{
  37. "identity_info": string(info),
  38. })
  39. }
  40. } else {
  41. fool = Mgo.UpdateById("user", t.MgoUserId, map[string]interface{}{
  42. "$set": map[string]interface{}{
  43. "identity_info.is_init": true,
  44. "identity_info.ent_businessType": business,
  45. "s_company": company,
  46. },
  47. })
  48. }
  49. return fool
  50. }
  51. func (t *InitInfoService) FindInitInfo() map[string]interface{} {
  52. returnJson := map[string]interface{}{
  53. "business": "",
  54. "company": "",
  55. "isInit": false,
  56. "isUpdate": false,
  57. }
  58. if t.PositionType == 1 {
  59. isInit := false
  60. entUserInfo, _ := Mgo.FindOne("ent_user", map[string]interface{}{"i_entid": t.EntId, "i_userid": t.EntUserId})
  61. if len(*entUserInfo) > 0 {
  62. isInit = gconv.Bool((*entUserInfo)["is_init"])
  63. returnJson["isInit"] = isInit
  64. }
  65. if isInit {
  66. entInfo := JianyuMysql.FindOne("entniche_info", map[string]interface{}{
  67. "id": t.EntId,
  68. }, "", "")
  69. if (*entInfo)["identity_info"] != nil {
  70. entMap := gconv.Map((*entInfo)["identity_info"])
  71. returnJson["company"] = entMap["company"]
  72. returnJson["business"] = entMap["business"]
  73. }
  74. }
  75. if t.EntRole == 1 {
  76. //企业管理员
  77. returnJson["isUpdate"] = true
  78. if !isInit {
  79. //查询订单信息
  80. dataOrder := JianyuMysql.SelectBySql(`select company_name from dataexport_order where user_id=? and order_status=1 and product_type LIKE "%大会员%" and vip_endtime>now()`, t.PositionId)
  81. if dataOrder != nil && len(*dataOrder) > 0 {
  82. if gconv.String((*dataOrder)[0]["company_name"]) != "" {
  83. returnJson["company"] = gconv.String((*dataOrder)[0]["company_name"])
  84. }
  85. }
  86. }
  87. } else {
  88. //个人
  89. returnJson["isUpdate"] = false
  90. }
  91. //企业
  92. } else {
  93. //个人
  94. user, ok := Mgo.FindById("user", t.MgoUserId, "")
  95. log.Println("用户信息", user)
  96. if ok && user != nil && len(*user) > 0 {
  97. if _, ok1 := (*user)["identity_info"]; !ok1 {
  98. returnJson["isInit"] = false
  99. return returnJson
  100. }
  101. identityInfo := gconv.Map((*user)["identity_info"])
  102. if _, ok1 := identityInfo["is_init"]; !ok1 {
  103. returnJson["isInit"] = false
  104. return returnJson
  105. }
  106. if _, ok1 := (*user)["s_company"]; ok1 {
  107. log.Println("公司名字", (*user)["s_company"])
  108. returnJson["company"] = gconv.String((*user)["s_company"])
  109. }
  110. if !gconv.Bool(identityInfo["is_init"]) {
  111. //设置过
  112. returnJson["business"] = gconv.String(identityInfo["ent_businessType"])
  113. dataOrder := JianyuMysql.SelectBySql(`select company_name from dataexport_order where user_id=? and order_status=1 and product_type LIKE "%大会员%" and vip_endtime>now()`, t.MgoUserId)
  114. if dataOrder != nil && len(*dataOrder) > 0 {
  115. returnJson["company"] = gconv.String((*dataOrder)[0]["company_name"])
  116. }
  117. }
  118. }
  119. returnJson["isInit"] = true
  120. returnJson["isUpdate"] = true
  121. }
  122. return returnJson
  123. }