// 保存广告,更新时不允许修改类型 func (this *adService) SaveAd(adUserId int, v *ad.Ad) (int, error) { pa := this.getUserAd(adUserId) var adv ad.IAd if v.Id > 0 { adv = pa.GetById(v.Id) err := adv.SetValue(v) if err != nil { return -1, err } } else { adv = pa.CreateAd(v) } return adv.Save() }