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 }