84 lines
2.3 KiB
Go
84 lines
2.3 KiB
Go
package enterprise_wechat
|
||
|
||
import (
|
||
"errors"
|
||
"git.rosy.net.cn/baseapi/utils"
|
||
"net/http"
|
||
)
|
||
|
||
// 创建成员,将门店老板创建为京西员工
|
||
func (a *API) CreateBoss2JxStaff(param *CreateBoos2JXStaffReq) error {
|
||
a.CheckAccessTokenExpiresIn()
|
||
result, err := a.AccessAPI(WeChatBaseApi, CreateBoosToJxStaff, http.MethodPost, utils.Struct2FlatMap(param))
|
||
if err != nil {
|
||
return err
|
||
}
|
||
|
||
errResult := &Err{}
|
||
if err := utils.Map2StructByJson(result, errResult, false); err != nil {
|
||
return err
|
||
}
|
||
if errResult.ErrCode != 0 {
|
||
return errors.New(errResult.ErrMsg)
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// 创建会话群聊
|
||
// 只允许企业自建应用调用,且应用的可见范围必须是根部门;
|
||
// 群成员人数不可超过管理端配置的“群成员人数上限”,且最大不可超过2000人;
|
||
// 每企业创建群数不可超过1000/天;
|
||
func (a *API) CreateAppChat(param *CreateAppChatParamReq) error {
|
||
a.CheckAccessTokenExpiresIn()
|
||
data, err := a.AccessAPI(WeChatBaseApi, CreateAppChat, http.MethodPost, utils.Struct2FlatMap(param))
|
||
if err != nil {
|
||
return err
|
||
}
|
||
errResult := &Err{}
|
||
if err := utils.Map2StructByJson(data, errResult, false); err != nil {
|
||
return err
|
||
}
|
||
if errResult.ErrCode != 0 {
|
||
return errors.New(errResult.ErrMsg)
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// 获取所有的部门列表
|
||
func (a *API) GetAllDepartmentList() ([]*Department, error) {
|
||
a.CheckAccessTokenExpiresIn()
|
||
param := map[string]interface{}{"access_token": a.accessToken}
|
||
data, err := a.AccessAPI(WeChatBaseApi, GetAllDepartmentListById, http.MethodGet, param)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
result := &GetAllDepartmentListRes{}
|
||
if err := utils.Map2StructByJson(data, result, false); err != nil {
|
||
return nil, err
|
||
}
|
||
if result.ErrCode != 0 {
|
||
return nil, errors.New(result.ErrMsg)
|
||
}
|
||
|
||
return result.Department, nil
|
||
}
|
||
|
||
// 通过手机号获取用户消息
|
||
func (a *API) GetUserIdByMobile(mobile string) (string, error) {
|
||
a.CheckAccessTokenExpiresIn()
|
||
data, err := a.AccessAPI(WeChatBaseApi, GetUserByMobileUrl, http.MethodPost, map[string]interface{}{"mobile": mobile})
|
||
if err != nil {
|
||
return "", err
|
||
}
|
||
|
||
result := &GetUserByMobileRes{}
|
||
if err := utils.Map2StructByJson(data, result, false); err != nil {
|
||
return "", err
|
||
}
|
||
if result.ErrCode != 0 {
|
||
return "", errors.New(result.ErrMsg)
|
||
}
|
||
|
||
return result.UserId, nil
|
||
}
|