docinUpdate.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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 expectTotal = len(docinInfos.Data); expectTotal > 0 {
  17. //更新doc
  18. for _, v := range docinInfos.Data {
  19. var (
  20. id = fmt.Sprintf("%s-%d", entity.PartnerName, v.ProductId)
  21. doc = sm.Doc{}
  22. )
  23. lastId = v.ProductId
  24. doc.Id = id
  25. doc.UpdateDate, _ = time.ParseInLocation(date.Date_Full_Layout, v.ModifyDate, time.Local)
  26. doc.Price = int(v.Price * entity.Multiple)
  27. doc.PriceVip = v.PriceVip
  28. doc.ProductType = int64(v.Ifcharge + entity.Charge)
  29. doc.DownOrUp = v.State
  30. if err := partner.DocsUpdate(doc); err == nil {
  31. actualTotal++
  32. }
  33. }
  34. }
  35. }
  36. return
  37. }