예제 #1
0
// 获取商户信息缓存
func GetValueMerchantCache(merchantId int) *merchant.Merchant {
	var v merchant.Merchant
	var sto gof.Storage = GetKVS()
	var key string = GetValueMerchantCacheCK(merchantId)
	if sto.Get(key, &v) != nil {
		v2, err := dps.MerchantService.GetMerchant(merchantId)
		if v2 != nil && err == nil {
			sto.SetExpire(key, *v2, DefaultMaxSeconds)
			return v2
		}
	}
	return &v

}
예제 #2
0
// 获取商户站点配置
func GetPartnerSiteConf(partnerId int) *partner.SiteConf {
	var v *partner.SiteConf
	var sto gof.Storage = GetKVS()
	var key string = GetPartnerSiteConfCK(partnerId)

	if sto.Driver() == storage.DriveHashStorage {
		if obj, err := GetKVS().GetRaw(key); err != nil {
			v = obj.(*partner.SiteConf)
		}
	} else if sto.Driver() == storage.DriveRedisStorage {
		sto.Get(key, &v)
	}

	if v == nil {
		if v = dps.PartnerService.GetSiteConf(partnerId); v != nil {
			sto.Set(key, v)
		}
	}
	return v
}
예제 #3
0
// 获取商户信息缓存
func GetValuePartnerCache(partnerId int) *partner.ValuePartner {
	var v *partner.ValuePartner
	var sto gof.Storage = GetKVS()
	var key string = GetValuePartnerCacheCK(partnerId)

	if sto.Driver() == storage.DriveHashStorage {
		if obj, err := GetKVS().GetRaw(key); err != nil {
			v = obj.(*partner.ValuePartner)
		}
	} else if sto.Driver() == storage.DriveRedisStorage {
		sto.Get(key, &v)
	}

	if v == nil {
		var err error
		if v, err = dps.PartnerService.GetPartner(partnerId); err == nil {
			sto.Set(key, v)
		}

	}
	return v
}