// 获取商户 func (this *baseC) GetPartner(ctx *web.Context) *partner.ValuePartner { val := ctx.Session().Get("member:rel_partner") if val != nil { return cache.GetValuePartnerCache(val.(int)) } else { m := this.GetMember(ctx) if m != nil { rel := dps.MemberService.GetRelation(m.Id) ctx.Session().Set("member:rel_partner", rel.RegisterPartnerId) ctx.Session().Save() return cache.GetValuePartnerCache(rel.RegisterPartnerId) } } return nil }
func (this *BaseC) Requesting(ctx *web.Context) bool { // 商户不存在 partnerId := getPartnerId(ctx) if partnerId <= 0 { renderError(ctx, true, "No such partner.") return false } ctx.Items["partner_id"] = partnerId // 缓存PartnerId // 校验商户并缓存 pt := cache.GetValuePartnerCache(partnerId) ctx.Items["partner_ins"] = pt // 判断线上商店开通情况 var conf = cache.GetPartnerSiteConf(partnerId) if conf == nil { renderError(ctx, true, "线上商店未开通") return false } if conf.State == enum.PARTNER_SITE_CLOSED { if strings.TrimSpace(conf.StateHtml) == "" { conf.StateHtml = "网站暂停访问,请联系商家:" + pt.Tel } renderError(ctx, true, conf.StateHtml) return false } ctx.Items["partner_siteconf"] = conf return true }
// 获取商户 func (this *baseC) GetPartner(ctx *web.Context) *partner.ValuePartner { val := ctx.Session().Get("member:rel_partner") if val != nil { return cache.GetValuePartnerCache(val.(int)) } return nil }
func getPartner(ctx *web.Context) (*partner.ValuePartner, error) { //todo: 缓存,用Member对应的Partner编号来查询缓存 var partnerId int = ctx.GetItem("partner_id").(int) var err error var pt *partner.ValuePartner = cache.GetValuePartnerCache(partnerId) if pt == nil { if pt, err = dps.PartnerService.GetPartner(getPartnerId(ctx)); err == nil { cache.SetValuePartnerCache(partnerId, pt) } } return pt, err }