github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/mp/card/membercard/updateuser.go (about)

     1  package membercard
     2  
     3  import (
     4  	"github.com/chanxuehong/wechat/mp/core"
     5  )
     6  
     7  type UpdateUserParameters struct {
     8  	Code   string `json:"code"`              // 必须; 要消耗的序列号.
     9  	CardId string `json:"card_id,omitempty"` // 可选; 要消耗序列号所述的card_id. 自定义code 的会员卡必填
    10  
    11  	AddBonus      int    `json:"add_bonus,omitempty"`      // 必须; 需要变更的积分,扣除积分用“-“表示。
    12  	RecordBonus   string `json:"record_bonus,omitempty"`   // 可选; 商家自定义积分消耗记录,不超过14个汉字。
    13  	AddBalance    int    `json:"add_balance,omitempty"`    // 可选; 需要变更的余额,扣除金额用“-”表示。单位为分。
    14  	RecordBalance string `json:"record_balance,omitempty"` // 可选; 商家自定义金额消耗记录,不超过14个汉字。
    15  
    16  	CustomFieldValue1 string `json:"custom_field_value1,omitempty"` // 可选, 创建时字段custom_field1定义类型的初始值,限制为4个汉字,12字节。
    17  	CustomFieldValue2 string `json:"custom_field_value2,omitempty"` // 可选, 创建时字段custom_field2定义类型的初始值,限制为4个汉字,12字节。
    18  	CustomFieldValue3 string `json:"custom_field_value3,omitempty"` // 可选, 创建时字段custom_field3定义类型的初始值,限制为4个汉字,12字节。
    19  }
    20  
    21  type UpdateUserResult struct {
    22  	ResultBonus   int    `json:"result_bonus"`   // 当前用户积分总额。
    23  	ResultBalance int    `json:"result_balance"` // 当前用户预存总金额。
    24  	OpenId        string `json:"openid"`         // 用户openid。
    25  }
    26  
    27  // 更新会员信息
    28  func UpdateUser(clt *core.Client, para *UpdateUserParameters) (rslt *UpdateUserResult, err error) {
    29  	var result struct {
    30  		core.Error
    31  		UpdateUserResult
    32  	}
    33  
    34  	incompleteURL := "https://api.weixin.qq.com/card/membercard/updateuser?access_token="
    35  	if err = clt.PostJSON(incompleteURL, para, &result); err != nil {
    36  		return
    37  	}
    38  
    39  	if result.ErrCode != core.ErrCodeOK {
    40  		err = &result.Error
    41  		return
    42  	}
    43  	rslt = &result.UpdateUserResult
    44  	return
    45  }