enterprise.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. package service
  2. import (
  3. "context"
  4. "fmt"
  5. "math/rand"
  6. "strconv"
  7. "time"
  8. "youngee_b_api/db"
  9. "youngee_b_api/model/gorm_model"
  10. "youngee_b_api/model/http_model"
  11. "github.com/issue9/conv"
  12. log "github.com/sirupsen/logrus"
  13. )
  14. var Enterprise *enterprise
  15. type enterprise struct {
  16. }
  17. func (*enterprise) CreateEnterpriseUser(ctx context.Context, newEnterprise http_model.RegisterRequest) (*http_model.RegisterData, error) {
  18. user := gorm_model.YounggeeUser{
  19. Phone: newEnterprise.Phone,
  20. User: "1001",
  21. Username: newEnterprise.BusinessName,
  22. Password: "1001",
  23. RealName: newEnterprise.RealName,
  24. Role: "3",
  25. Email: newEnterprise.Email,
  26. LastLoginTime: time.Now().UTC().Local(),
  27. }
  28. userId, err := db.CreateUser(ctx, user)
  29. if err != nil {
  30. log.Infof("[CreateEnterpriseUser] fail,err:%+v", err)
  31. return nil, err
  32. } else {
  33. rand.Seed(time.Now().UnixNano())
  34. th := strconv.Itoa(time.Now().Hour())
  35. tm := strconv.Itoa(time.Now().Minute())
  36. if len(tm) < 2 {
  37. tm = "0" + tm
  38. }
  39. if len(th) < 2 {
  40. th = "0" + th
  41. }
  42. //ShowEnterpriseID := "1" + th + tm + conv.MustString(rand.Intn(10000-1000)+1000
  43. ShowEnterpriseID := "1" + th + tm + fmt.Sprintf("%04v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000))
  44. enterprise := &gorm_model.Enterprise{
  45. EnterpriseID: ShowEnterpriseID,
  46. Industry: newEnterprise.Industry,
  47. BusinessName: newEnterprise.BusinessName,
  48. UserID: *userId,
  49. Balance: 0,
  50. FrozenBalance: 0,
  51. AvailableBalance: 0,
  52. }
  53. enterpriseId, err := db.CreateEnterprise(ctx, *enterprise)
  54. if err != nil {
  55. log.Infof("[CreateEnterpriseUser] fail,err:%+v", err)
  56. return nil, err
  57. }
  58. res := &http_model.RegisterData{
  59. EnterpriseId: *enterpriseId,
  60. UserID: *userId,
  61. }
  62. return res, nil
  63. }
  64. }
  65. func (*enterprise) CreateEnterprise(ctx context.Context, phone string) (*http_model.RegisterData, error) {
  66. user := gorm_model.YounggeeUser{
  67. Phone: phone,
  68. User: "1001",
  69. Username: phone,
  70. Password: "1001",
  71. RealName: "",
  72. Role: "3",
  73. Email: "",
  74. LastLoginTime: time.Now().UTC().Local(),
  75. }
  76. userId, err := db.CreateUser(ctx, user)
  77. if err != nil {
  78. log.Infof("[CreateEnterpriseUser] fail,err:%+v", err)
  79. return nil, err
  80. } else {
  81. rand.Seed(time.Now().UnixNano())
  82. th := conv.MustString(time.Now().Hour())
  83. tm := conv.MustString(time.Now().Minute())
  84. if len(tm) < 2 {
  85. tm = "0" + tm
  86. }
  87. if len(tm) < 2 {
  88. th = "0" + th
  89. }
  90. ShowEnterpriseID := "1" + th + tm + conv.MustString(rand.Intn(10000-1000)+1000)
  91. enterprise := &gorm_model.Enterprise{
  92. EnterpriseID: ShowEnterpriseID,
  93. Industry: 1,
  94. BusinessName: phone,
  95. UserID: *userId,
  96. Balance: 0,
  97. FrozenBalance: 0,
  98. AvailableBalance: 0,
  99. }
  100. enterpriseId, err := db.CreateEnterprise(ctx, *enterprise)
  101. if err != nil {
  102. log.Infof("[CreateEnterpriseUser] fail,err:%+v", err)
  103. return nil, err
  104. }
  105. res := &http_model.RegisterData{
  106. EnterpriseId: *enterpriseId,
  107. UserID: *userId,
  108. }
  109. return res, nil
  110. }
  111. }
  112. // CreateEnterpriseSubUser ToDo
  113. // CreateEnterpriseSubUser 创建商家子账号
  114. func (*enterprise) CreateEnterpriseSubUser(ctx context.Context, newEnterprise http_model.RegisterRequest) (*http_model.RegisterData, error) {
  115. // 1. 新建User
  116. user := gorm_model.YounggeeUser{
  117. Phone: newEnterprise.Phone,
  118. User: "1001",
  119. Username: newEnterprise.BusinessName,
  120. Password: "1001",
  121. RealName: newEnterprise.RealName,
  122. Role: "3",
  123. Email: newEnterprise.Email,
  124. LastLoginTime: time.Now().UTC().Local(),
  125. }
  126. userId, err := db.CreateUser(ctx, user)
  127. // 2. 新建商家子账号
  128. if err != nil {
  129. log.Infof("[CreateEnterpriseUser] fail,err:%+v", err)
  130. fmt.Println("User创建失败")
  131. return nil, err
  132. } else {
  133. fmt.Println("User创建成功,开始创建商家子账号")
  134. fmt.Println(userId)
  135. }
  136. return nil, err
  137. }