package echomeet import ( "sort" "yunyan/comm" "yunyan/lego/sys/mysql" "yunyan/pb" ) // @Summary 获取会议模板列表 // @Description 获取公共模板与当前用户的模板列表,按语言过滤 // @Tags Echomeet // @Accept json // @Produce json // @Security BearerAuth // @Param user body pb.EchomeetGetTemplatesReq true "请求数据" // @Success 200 {object} comm.HttpResult{data=pb.EchomeetGetTemplatesResp} "响应数据" // @Router /api/home/echomeet_gettemplates [post] func (this *apiComp) GetTemplates(session comm.IUserSession, req *pb.EchomeetGetTemplatesReq) (resp *pb.EchomeetGetTemplatesResp, errdata *pb.ErrorData) { var ( commmodels []*pb.DBEchoMeetTemplate models []*pb.DBEchoMeetTemplate err error ) if commmodels, err = this.module.cache.GetCommTemplates(req.Language); err != nil && err != mysql.ErrNoDocuments { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Message: err.Error(), } return } if models, err = this.module.model.gettemplates(session.GetUserId(), req.Language); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Message: err.Error(), } return } templates := append(commmodels, models...) // 按显示优先级倒序排列,数值越大越靠前 sort.SliceStable(templates, func(i, j int) bool { return templates[i].Sort > templates[j].Sort }) resp = &pb.EchomeetGetTemplatesResp{ Templates: templates, } return }