125 lines
5.2 KiB
Go
125 lines
5.2 KiB
Go
package controllers
|
||
|
||
import (
|
||
"git.rosy.net.cn/baseapi/platformapi/weixinapi"
|
||
"git.rosy.net.cn/jx-callback/business/jxstore/knowledge"
|
||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||
"git.rosy.net.cn/jx-callback/globals/api"
|
||
"github.com/astaxie/beego/server/web"
|
||
)
|
||
|
||
type KnowController struct {
|
||
web.Controller
|
||
}
|
||
|
||
// @Title 查询知识条目
|
||
// @Description 查询知识条目
|
||
// @Param token header string true "认证token"
|
||
// @Param keyword query string false "关键字"
|
||
// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)"
|
||
// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetKnowledgeDepot [get]
|
||
func (c *KnowController) GetKnowledgeDepot() {
|
||
c.callGetKnowledgeDepot(func(params *tKnowGetKnowledgeDepotParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = knowledge.GetKnowledgeDepot(params.Ctx, params.Keyword, params.Offset, params.PageSize)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 更新知识条目
|
||
// @Description 更新知识条目
|
||
// @Param token header string true "认证token"
|
||
// @Param id formData int true "id"
|
||
// @Param content formData string false "内容"
|
||
// @Param isDel formData bool true "是否是删除"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /UpdateKnowledgeDepot [post]
|
||
func (c *KnowController) UpdateKnowledgeDepot() {
|
||
c.callUpdateKnowledgeDepot(func(params *tKnowUpdateKnowledgeDepotParams) (retVal interface{}, errCode string, err error) {
|
||
err = knowledge.UpdateKnowledgeDepot(params.Ctx, params.Id, params.Content, params.IsDel)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 查询素材列表
|
||
// @Description 查询素材列表
|
||
// @Param token header string true "认证token"
|
||
// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)"
|
||
// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /GetMaterialList [get]
|
||
func (c *KnowController) GetMaterialList() {
|
||
c.callGetMaterialList(func(params *tKnowGetMaterialListParams) (retVal interface{}, errCode string, err error) {
|
||
retVal, err = api.WeixinAPI.CBBatchgetMaterial(weixinapi.MaterialTypeNews, params.Offset, params.PageSize)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 添加素材
|
||
// @Description 添加素材
|
||
// @Param token header string true "认证token"
|
||
// @Param knowIDs formData string false "知识条目IDs"
|
||
// @Param title formData string true "素材标题"
|
||
// @Param digest formData string false "素材摘要"
|
||
// @Param author formData string false "作者"
|
||
// @Param thumbMediaID formData string true "封面缩略图ID"
|
||
// @Param showCoverPic formData int false "内容中是否显示封面,0不显示,1显示"
|
||
// @Param needOpenComment formData int false "是否打开评论,0不打开,1打开"
|
||
// @Param onlyFansCanComment formData int false "是否只允许粉丝才能评论"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /AddMaterial [post]
|
||
func (c *KnowController) AddMaterial() {
|
||
c.callAddMaterial(func(params *tKnowAddMaterialParams) (retVal interface{}, errCode string, err error) {
|
||
new := &weixinapi.CBAddNewsParam{
|
||
Title: params.Title,
|
||
Digest: params.Digest,
|
||
Author: params.Author,
|
||
ThumbMediaID: params.ThumbMediaID,
|
||
ShowCoverPic: params.ShowCoverPic,
|
||
NeedOpenComment: params.NeedOpenComment,
|
||
OnlyFansCanComment: params.OnlyFansCanComment,
|
||
}
|
||
var knowIDs []int
|
||
jxutils.Strings2Objs(params.KnowIDs, &knowIDs)
|
||
err = knowledge.AddMaterial(params.Ctx, knowIDs, new)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 公众号上传图片
|
||
// @Description 公众号上传图片
|
||
// @Param token header string false "认证token"
|
||
// @Param isThumb query bool false "是否是缩略图"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /SNSUploadImg [get]
|
||
func (c *KnowController) SNSUploadImg() {
|
||
c.callSNSUploadImg(func(params *tKnowSNSUploadImgParams) (retVal interface{}, errCode string, err error) {
|
||
files := c.Ctx.Request.MultipartForm.File["userfiles"]
|
||
retVal, err = knowledge.SNSUploadImg(params.Ctx, files, params.IsThumb)
|
||
return retVal, "", err
|
||
})
|
||
}
|
||
|
||
// @Title 发送消息
|
||
// @Description 发送消息
|
||
// @Param token header string true "认证token"
|
||
// @Param storeIDs formData string false "门店IDs"
|
||
// @Param mediaID formData string false "素材ID"
|
||
// @Success 200 {object} controllers.CallResult
|
||
// @Failure 200 {object} controllers.CallResult
|
||
// @router /SendSNSMediaMsg [post]
|
||
func (c *KnowController) SendSNSMediaMsg() {
|
||
c.callSendSNSMediaMsg(func(params *tKnowSendSNSMediaMsgParams) (retVal interface{}, errCode string, err error) {
|
||
var storeIDs []int
|
||
jxutils.Strings2Objs(params.StoreIDs, &storeIDs)
|
||
err = knowledge.SendSNSMediaMsg(params.Ctx, storeIDs, params.MediaID)
|
||
return retVal, "", err
|
||
})
|
||
}
|