Files
baseapi/platformapi/enterprise_wechat/create_group.go

84 lines
2.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
}