docinUpdate.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package service
  2. import (
  3. "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/entity"
  4. "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/model"
  5. sm "app.yhyue.com/moapp/jy_docs/services/model"
  6. "app.yhyue.com/moapp/jy_docs/services/partner"
  7. "app.yhyue.com/moapp/jybase/date"
  8. "encoding/json"
  9. "fmt"
  10. "time"
  11. )
  12. func UpdateDocinInfos(b []byte) (err error, lastId int64, expectTotal, actualTotal int) {
  13. var docinInfos model.DocinInfoRes
  14. err = json.Unmarshal(b, &docinInfos)
  15. if err == nil {
  16. if docinInfos.Code == 0 {
  17. if expectTotal = len(docinInfos.Data); expectTotal > 0 {
  18. //更新doc
  19. for _, v := range docinInfos.Data {
  20. var (
  21. id = fmt.Sprintf("%s-%d", entity.PartnerName, v.ProductId)
  22. doc = sm.Doc{}
  23. )
  24. lastId = v.ProductId
  25. doc.Id = id
  26. doc.UpdateDate, _ = time.ParseInLocation(date.Date_Full_Layout, v.ModifyDate, time.Local)
  27. doc.Price = int(v.Price * entity.Multiple)
  28. doc.PriceVip = v.PriceVip
  29. doc.ProductType = int64(v.Ifcharge + entity.Charge)
  30. doc.DownOrUp = v.State
  31. if err := partner.DocsUpdate(doc); err == nil {
  32. actualTotal++
  33. }
  34. }
  35. }
  36. } else {
  37. err = fmt.Errorf(docinInfos.Msg)
  38. }
  39. }
  40. return
  41. }