package services import ( "context" "encoding/json" "fmt" "hongze/hongze_cygx/models" "hongze/hongze_cygx/utils" "io/ioutil" "net/http" "time" ) func GetStocksFromVmp(cont context.Context) (err error) { defer func() { if err != nil { fmt.Println("err:", err) go utils.SendAlarmMsg("更新上市公司表失败"+err.Error(), 2) } }() err = models.DelYanxuanSpecialCompany() if err != nil { fmt.Println("获取上市公司信息失败 Err:%s", err.Error()) return } getUrl := "https://vmp.hzinsights.com/v2api/articles/stock" result, err := http.Get(getUrl) if err != nil { return } defer result.Body.Close() body, err := ioutil.ReadAll(result.Body) if err != nil { fmt.Println("err:" + err.Error()) return } fmt.Println(body) var resp models.VmpStocks err = json.Unmarshal(body, &resp) if err != nil { fmt.Println("获取上市公司信息失败 Err:%s", err.Error()) return } items := make([]*models.CygxYanxuanSpecialCompany, 0) for i, _ := range resp.Data { items = append(items, &resp.Data[i]) if len(items) > 5000 { err = models.AddCygxYanxuanSpecialCompanyMulti(items) if err != nil { fmt.Println("AddCygxYanxuanSpecialCompanyMulti Err:%s", err.Error()) return } items = []*models.CygxYanxuanSpecialCompany{} } } err = models.AddCygxYanxuanSpecialCompanyMulti(items) if err != nil { fmt.Println("AddCygxYanxuanSpecialCompanyMulti Err:%s", err.Error()) return } return } func AddSpecialRecord(user *models.WxUserItem, specialId int) { var sellerName string sellerName, err := models.GetCompanySellerName(user.CompanyId) if err != nil { return } item := models.CygxYanxuanSpecialRecord{ UserId: user.UserId, Mobile: user.Mobile, Email: user.Email, CompanyId: user.CompanyId, CompanyName: user.CompanyName, RealName: user.RealName, SellerName: sellerName, CreateTime: time.Now(), ModifyTime: time.Now(), RegisterPlatform: utils.REGISTER_PLATFORM, YanxuanSpecialId: specialId, } _, err = models.AddCygxYanxuanSpecialRecord(&item) if err != nil { return } }