Переглянути джерело

Merge branch 'master' of 192.168.30.132:MTP2.0/MTP20_IF

zhou.xiaoning 4 роки тому
батько
коміт
386680f62d
3 змінених файлів з 31 додано та 11 видалено
  1. 1 1
      go.mod
  2. 1 1
      models/ermcp3.go
  3. 29 9
      mtpcache/goods.go

+ 1 - 1
go.mod

@@ -33,7 +33,7 @@ require (
 	github.com/mattn/go-isatty v0.0.13 // indirect
 	github.com/mattn/go-oci8 v0.0.8
 	github.com/mattn/go-sqlite3 v1.14.6 // indirect
-	github.com/muesli/cache2go v0.0.0-20211005105910-8e46465cca4a // indirect
+	github.com/muesli/cache2go v0.0.0-20211005105910-8e46465cca4a
 	github.com/onsi/ginkgo v1.12.0 // indirect
 	github.com/onsi/gomega v1.9.0 // indirect
 	github.com/pkg/errors v0.9.1 // indirect

+ 1 - 1
models/ermcp3.go

@@ -3001,7 +3001,7 @@ SELECT t.ORDERTYPE,
   LEFT JOIN enumdicitem e
     on g.goodunitid = e.enumitemname
    and e.enumdiccode = 'goodsunit'
- WHERE 1 = 1
+ WHERE 1 = 1 and t.tradelot > t.relatedlot 
 `
 	sqlId.JoinFormat(" and %v in (ta.relateduserid, ta.userid)", r.AREAUSERID)
 	return sqlId.String()

+ 29 - 9
mtpcache/goods.go

@@ -8,22 +8,42 @@
 package mtpcache
 
 import (
+	"github.com/muesli/cache2go"
 	"mtp2_if/db"
 	"mtp2_if/utils"
-	"sync"
 	"time"
 )
 
-// GoodsCache 商品缓存
-type GoodsCache struct {
-	mtx  sync.RWMutex
-	data map[int64]Goods
-	last time.Time
-}
+var goodsCache *cache2go.CacheTable
+
+func init() {
+	goodsCache = cache2go.Cache("goods")
+	goodsCache.SetDataLoader(func(key interface{}, param ...interface{}) *cache2go.CacheItem {
+		if v, ok := key.(int64); ok {
+			m := Goods{GOODSID: v}
+			if d, err := m.GetData(); err == nil {
+				if len(d) > 0 {
+					val := d[0]
+					item := cache2go.NewCacheItem(val.GOODSID, 0, val)
+					return item
+				}
+			}
+		}
 
-// Load 加载数据
-func (r *GoodsCache) Load() {
+		return nil
+	})
 
+	// go loadData()
+}
+
+func loadData() {
+	time.Sleep(time.Second * 5)
+	m := Goods{}
+	if d, err := m.GetData(); err == nil {
+		for _, v := range d {
+			goodsCache.Add(v.GOODSID, 0, &v)
+		}
+	}
 }
 
 // Goods 商品信息