ermcpGoods.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package models
  2. // 企业风管期货商品相关
  3. import (
  4. "fmt"
  5. "mtp2_if/db"
  6. "time"
  7. )
  8. // GetErmcpGoodses 企业风管专用获取商品信息的方法
  9. func GetErmcpGoodses(lastUpdateTime string) ([]Goods, error) {
  10. engine := db.GetEngine()
  11. goodses := make([]Goods, 0)
  12. session := engine.Table("GOODS").Where("GOODSSTATUS = 3")
  13. // if lastID != 0 {
  14. // session = session.And("GOODSID > ?", lastID)
  15. // }
  16. // session = session.Asc("GOODSID")
  17. if len(lastUpdateTime) != 0 {
  18. session = session.And(fmt.Sprintf("MODIFYTIME > to_date('%s','yyyy-MM-dd hh24:mi:ss')", lastUpdateTime))
  19. }
  20. if err := session.Find(&goodses); err != nil {
  21. return nil, err
  22. }
  23. return goodses, nil
  24. }
  25. // GetGoodsLastUpdateTime 获取商品表最后更新(Update)时间
  26. func GetGoodsLastUpdateTime() (*time.Time, error) {
  27. engine := db.GetEngine()
  28. var lastUpdateTimes time.Time
  29. sql := `SELECT VERSIONS_STARTTIME LASTUPDATETIME
  30. FROM GOODS VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE WHERE
  31. VERSIONS_STARTTIME IS NOT NULL and VERSIONS_OPERATION = 'U' order by LASTUPDATETIME desc`
  32. has, err := engine.SQL(sql).Get(&lastUpdateTimes)
  33. if err != nil {
  34. return nil, err
  35. }
  36. if !has {
  37. return nil, nil
  38. }
  39. return &lastUpdateTimes, nil
  40. }