示例#1
0
func (this *merchantService) SaveMerchant(merchantId int, v *merchant.Merchant) (int, error) {
	var mch merchant.IMerchant
	var err error
	var isCreate bool

	v.Id = merchantId

	if merchantId > 0 {
		mch, _ = this._mchRep.GetMerchant(merchantId)
		if mch == nil {
			err = errors.New("no such partner")
		} else {
			err = mch.SetValue(v)
		}
	} else {
		isCreate = true
		mch, err = this._mchRep.CreateMerchant(v)
	}

	if err != nil {
		return 0, err
	}

	merchantId, err = mch.Save()

	if isCreate {
		this.initializeMerchant(merchantId)
	}

	return merchantId, err
}