cygx_yanxuan_special_company.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package services
  2. import (
  3. "context"
  4. "encoding/json"
  5. "fmt"
  6. "hongze/hongze_cygx/models"
  7. "hongze/hongze_cygx/utils"
  8. "io/ioutil"
  9. "net/http"
  10. "time"
  11. )
  12. func GetStocksFromVmp(cont context.Context) (err error) {
  13. defer func() {
  14. if err != nil {
  15. fmt.Println("err:", err)
  16. go utils.SendAlarmMsg("更新上市公司表失败"+err.Error(), 2)
  17. }
  18. }()
  19. err = models.DelYanxuanSpecialCompany()
  20. if err != nil {
  21. fmt.Println("获取上市公司信息失败 Err:%s", err.Error())
  22. return
  23. }
  24. getUrl := "https://vmp.hzinsights.com/v2api/articles/stock"
  25. result, err := http.Get(getUrl)
  26. if err != nil {
  27. return
  28. }
  29. defer result.Body.Close()
  30. body, err := ioutil.ReadAll(result.Body)
  31. if err != nil {
  32. fmt.Println("err:" + err.Error())
  33. return
  34. }
  35. fmt.Println(body)
  36. var resp models.VmpStocks
  37. err = json.Unmarshal(body, &resp)
  38. if err != nil {
  39. fmt.Println("获取上市公司信息失败 Err:%s", err.Error())
  40. return
  41. }
  42. items := make([]*models.CygxYanxuanSpecialCompany, 0)
  43. for i, _ := range resp.Data {
  44. items = append(items, &resp.Data[i])
  45. if len(items) > 5000 {
  46. err = models.AddCygxYanxuanSpecialCompanyMulti(items)
  47. if err != nil {
  48. fmt.Println("AddCygxYanxuanSpecialCompanyMulti Err:%s", err.Error())
  49. return
  50. }
  51. items = []*models.CygxYanxuanSpecialCompany{}
  52. }
  53. }
  54. err = models.AddCygxYanxuanSpecialCompanyMulti(items)
  55. if err != nil {
  56. fmt.Println("AddCygxYanxuanSpecialCompanyMulti Err:%s", err.Error())
  57. return
  58. }
  59. return
  60. }
  61. func AddSpecialRecord(user *models.WxUserItem, specialId int) {
  62. var sellerName string
  63. sellerName, err := models.GetCompanySellerName(user.CompanyId)
  64. if err != nil {
  65. return
  66. }
  67. item := models.CygxYanxuanSpecialRecord{
  68. UserId: user.UserId,
  69. Mobile: user.Mobile,
  70. Email: user.Email,
  71. CompanyId: user.CompanyId,
  72. CompanyName: user.CompanyName,
  73. RealName: user.RealName,
  74. SellerName: sellerName,
  75. CreateTime: time.Now(),
  76. ModifyTime: time.Now(),
  77. RegisterPlatform: utils.REGISTER_PLATFORM,
  78. YanxuanSpecialId: specialId,
  79. }
  80. _, err = models.AddCygxYanxuanSpecialRecord(&item)
  81. if err != nil {
  82. return
  83. }
  84. }