customer info2
This commit is contained in:
parent
e04e84cb8a
commit
9d69129614
|
@ -180,6 +180,41 @@ func (a *AppCustomer) GetCustomerState(openKfid, externalUserid string) (*Custom
|
|||
return state, nil
|
||||
}
|
||||
|
||||
func (q *AppCustomer) GetCustomerInfo(externalUserid string) (*CustomerInfo, error) {
|
||||
|
||||
postdata := map[string]interface{}{
|
||||
"external_userid_list": []string{
|
||||
externalUserid,
|
||||
},
|
||||
"need_enter_session_context": 1,
|
||||
}
|
||||
dataByte, err := json.Marshal(postdata)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
rspBody, err := util.HttpPostJson("https://qyapi.weixin.qq.com/cgi-bin/kf/customer/batchget?access_token="+q.GetToken(), nil, dataByte)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result, err := q.GetResult(rspBody)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
users := cast.ToSlice(result["customer_list"])
|
||||
if len(users) == 0 {
|
||||
return nil, errors.New("no user info")
|
||||
}
|
||||
user := cast.ToStringMap(users[0])
|
||||
u := new(CustomerInfo)
|
||||
u.Nickname = cast.ToString(user["nickname"])
|
||||
u.Avatar = cast.ToString(user["avatar"])
|
||||
u.Unionid = cast.ToString(user["unionid"])
|
||||
u.Gender = cast.ToInt(user["gender"])
|
||||
u.Context = user["enter_session_context"]
|
||||
return u, nil
|
||||
}
|
||||
|
||||
func (a *AppCustomer) SendCustomerText(openKfId, toUser, content string) error {
|
||||
reqUrl := fmt.Sprintf("https://qyapi.weixin.qq.com/cgi-bin/kf/send_msg?access_token=%s", a.GetToken())
|
||||
params := make(map[string]interface{})
|
||||
|
@ -260,41 +295,6 @@ func (q *AppCustomer) GetServiceLink(openKfId, sence string) (string, error) {
|
|||
return customerServcieUrl, nil
|
||||
}
|
||||
|
||||
func (q *AppCustomer) GetCustomerInfo(externalUserid string) (*CustomerInfo, error) {
|
||||
|
||||
postdata := map[string]interface{}{
|
||||
"external_userid_list": []string{
|
||||
externalUserid,
|
||||
},
|
||||
"need_enter_session_context": 1,
|
||||
}
|
||||
dataByte, err := json.Marshal(postdata)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
rspBody, err := util.HttpPostJson("https://qyapi.weixin.qq.com/cgi-bin/kf/customer/batchget?access_token="+q.GetToken(), nil, dataByte)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result, err := q.GetResult(rspBody)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
users := cast.ToSlice(result["customer_list"])
|
||||
if len(users) == 0 {
|
||||
return nil, errors.New("no user info")
|
||||
}
|
||||
user := cast.ToStringMap(users[0])
|
||||
u := new(CustomerInfo)
|
||||
u.Nickname = cast.ToString(user["nickname"])
|
||||
u.Avatar = cast.ToString(user["avatar"])
|
||||
u.Unionid = cast.ToString(user["unionid"])
|
||||
u.Gender = cast.ToInt(user["gender"])
|
||||
u.Context = user["enter_session_context"]
|
||||
return u, nil
|
||||
}
|
||||
|
||||
func (m *CustomerMessage) From(data map[string]interface{}) {
|
||||
m.SyncTime = time.Now().Unix()
|
||||
m.SendTime = cast.ToInt64(data["send_time"])
|
||||
|
|
Loading…
Reference in New Issue