func (this *promotionService) SaveCoupon(partnerId int, e *promotion.ValueCoupon) (int, error) { prom := this._rep.GetPromotion(partnerId) var coupon promotion.ICoupon if e.Id > 0 { coupon = prom.GetCoupon(e.Id) if coupon == nil { return 0, errors.New("优惠券不存在") } err := coupon.SetValue(e) if err != nil { return 0, err } } else { coupon = prom.CreateCoupon(e) } return coupon.Save() }