package controllers import ( "encoding/json" "github.com/rdlucklib/rdluck_tools/paging" "hongze/hongze_cygx/models" "hongze/hongze_cygx/services" "hongze/hongze_cygx/utils" "strconv" "strings" "time" ) // 微路演 type MicroRoadShowController struct { BaseAuthController } // @Title 微路演列表 // @Description 微路演列表接口 // @Param PageSize query int true "每页数据条数" // @Param CurrentIndex query int true "当前页页码,从1开始" // @Param KeyWord query string false "搜索关键词" // @Param AudioId query int false "音频ID" // @Param VideoId query int false "视频ID" // @Param AudioIds query string false "活动音频IDs" // @Param ActivityVideoIds query string false "活动视频IDs" // @Param VideoIds query string false "视频IDs" // @Param ActivityVideoId query int false "活动视频ID" // @Param Filter query string false "筛选条件 为空:全部 1:视频 2:音频 3:逻辑解析 4:路演回放 多个用 , 隔开" // @Success 200 {object} models.HomeListResp // @router /list [get] func (this *MicroRoadShowController) List() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() user := this.User if user == nil { br.Msg = "请登录" br.ErrMsg = "请登录,用户信息为空" br.Ret = 408 return } pageSize, _ := this.GetInt("PageSize") currentIndex, _ := this.GetInt("CurrentIndex") keywords := this.GetString("KeyWord") audioId, _ := this.GetInt("AudioId") videoId, _ := this.GetInt("VideoId") audioIds := this.GetString("AudioIds") videoIds := this.GetString("VideoIds") activityVideoIds := this.GetString("ActivityVideoIds") activityVideoId, _ := this.GetInt("ActivityVideoId") filter := this.GetString("Filter") if pageSize <= 0 { pageSize = utils.PageSize20 } if currentIndex <= 0 { currentIndex = 1 } var keyWordArr []string var err error if keywords != "" { keyWordArr, err = services.GetIndustryMapNameSliceV3(keywords) if err != nil { br.Msg = "获取失败" br.ErrMsg = "获取分词失败,GetIndustryMapNameSliceV3 Err: " + err.Error() return } keyWordArr = services.RemoveDuplicatesAndEmpty(keyWordArr) } var list []*models.MicroRoadShowPageList var total int var e error // 微路演列表 list, total, e = services.GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activityVideoId, filter, keywords, audioIds, videoIds, activityVideoIds) if e != nil { br.Msg = "获取失败" br.ErrMsg = "获取微路演列表失败, Err: " + e.Error() return } if keywords != "" { var pageSizeIk int //获取总的数量 totalIk, e := services.CountMicroRoadShowPageListIkWord(audioId, videoId, activityVideoId, keyWordArr, filter, audioIds, videoIds, activityVideoIds) if e != nil { br.Msg = "获取失败" br.ErrMsg = "获取微路演联想词列表失败, Err: " + e.Error() return } pageSizeIk = totalIk - len(list) //处理IK分词部分的分页获取条数 startSizeIk := utils.StartIndex(currentIndex, pageSize) startSizeIk = startSizeIk - total if startSizeIk < 0 { startSizeIk = 0 } if pageSizeIk > 0 { lisIk, e := services.GetMicroRoadShowPageListIkWord(startSizeIk, pageSizeIk, audioId, videoId, activityVideoId, keyWordArr, filter, audioIds, videoIds, activityVideoIds, keywords) if e != nil { br.Msg = "获取失败" br.ErrMsg = "获取微路演列表失败, Err: " + e.Error() return } for _, item := range lisIk { list = append(list, item) } } total = totalIk } userId := user.UserId listMycollect, err := models.GetUserMicroRoadshowCollectList(userId) if err != nil { br.Msg = "获取数据失败" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } mapaudioIds := make(map[int]int) //活动音频 mapvideoIds := make(map[int]int) // 微路演视频 mapactivityVideoIds := make(map[int]int) // 活动视频 for _, item := range listMycollect { if item.ActivityVoiceId > 0 { mapaudioIds[item.ActivityVoiceId] = item.ActivityVoiceId } else if item.VideoId > 0 { mapvideoIds[item.VideoId] = item.VideoId } else if item.ActivityVideoId > 0 { mapactivityVideoIds[item.ActivityVoiceId] = item.ActivityVoiceId } } for _, item := range list { if item.Type == 1 { //音频 if mapaudioIds[item.Id] > 0 { item.IsCollect = true } } else if item.Type == 2 { //活动视频 if mapactivityVideoIds[item.Id] > 0 { item.IsCollect = true } } else if item.Type == 3 { //微路演视频 if mapvideoIds[item.Id] > 0 { item.IsCollect = true } } } // 用户权限 authInfo, permissionArr, e := services.GetUserRaiPermissionInfo(user.UserId, user.CompanyId) if e != nil { br.Msg = "获取失败" br.ErrMsg = "获取用户权限失败, Err: " + e.Error() return } // 获取默认图配置 audioMap, videoMap, audioShareMap, videoShareMap, e := services.GetMicroRoadShowDefaultImgConfig() if e != nil { br.Msg = "获取失败" br.ErrMsg = "获取微路演列表失败, Err: " + e.Error() return } for i := range list { // 权限 au := new(models.UserPermissionAuthInfo) au.SellerName = authInfo.SellerName au.SellerMobile = authInfo.SellerMobile au.HasPermission = authInfo.HasPermission au.OperationMode = authInfo.OperationMode if au.HasPermission == 1 { // 非宏观权限进一步判断是否有权限 if list[i].ChartPermissionId != utils.HONG_GUAN_ID && !utils.InArrayByStr(permissionArr, list[i].ChartPermissionName) { au.HasPermission = 2 } } // 无权限的弹框提示 if au.HasPermission != 1 { if au.OperationMode == services.UserPermissionOperationModeCall { if list[i].Type == 1 { au.PopupMsg = services.UserPermissionPopupMsgCallActivity } else { au.PopupMsg = services.UserPermissionPopupMsgCallMicroVideo } } else { if list[i].Type == 1 { au.PopupMsg = services.UserPermissionPopupMsgApplyActivity } else { au.PopupMsg = services.UserPermissionPopupMsgApplyMicroVideo } } } list[i].AuthInfo = au list[i].PublishTime = utils.StrTimeToTime(list[i].PublishTime).Format(utils.FormatDate) // 默认图 if list[i].BackgroundImg == "" { if list[i].Type == 1 { list[i].BackgroundImg = audioMap[list[i].ChartPermissionId] } else { list[i].BackgroundImg = videoMap[list[i].ChartPermissionId] } } // 分享图 if list[i].ShareImg == "" { if list[i].Type == 1 { list[i].ShareImg = audioShareMap[list[i].ChartPermissionId] } else { list[i].ShareImg = videoShareMap[list[i].ChartPermissionId] } } } if len(list) == 0 { list = make([]*models.MicroRoadShowPageList, 0) } resp := new(models.MicroRoadShowListResp) page := paging.GetPaging(currentIndex, pageSize, total) resp.List = list resp.Paging = page br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp } // @Title 记录用户浏览音频回放接口 // @Description 记录用户浏览音频回放接口 // @Param request body models.ActivityIdRep true "type json string" // @Success Ret=200 {object} models.AppointmentResp // @router /videoHistory/add [post] func (this *MicroRoadShowController) VideoHistoryAdd() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() user := this.User if user == nil { br.Msg = "请登录" br.ErrMsg = "请登录,用户信息为空" br.Ret = 408 return } uid := user.UserId var req models.AddVideoHistoryReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } videoId := req.VideoId playSeconds := req.PlaySeconds sourceType := req.SourceType if sourceType == 0 { sourceType = 1 } var sellerName string sellerName, err = models.GetCompanySellerName(user.CompanyId) if err != nil { br.Msg = "报名失败!" br.ErrMsg = "获取对应销售失败,Err:" + err.Error() return } if sourceType == 1 { item := models.CygxMicroRoadshowVideoHistory{ VideoId: videoId, UserId: uid, Mobile: user.Mobile, Email: user.Email, CompanyId: user.CompanyId, CompanyName: user.CompanyName, RealName: user.RealName, SellerName: sellerName, PlaySeconds: strconv.Itoa(playSeconds), CreateTime: time.Now(), ModifyTime: time.Now(), } if playSeconds != 0 { lastItem, err := models.GetLastCygxMicroRoadshowVideoHistory(videoId, user.UserId) if err != nil { br.Msg = "操作失败" br.ErrMsg = "操作失败,GetLastCygxMicroRoadshowVideoHistory Err:" + err.Error() return } err = models.UpdateLastCygxActivityVideoHistory(strconv.Itoa(playSeconds), lastItem.Id) if err != nil { br.Msg = "更新失败" br.ErrMsg = "更新失败,UpdateLastCygxActivityVideoHistory Err:" + err.Error() return } } else { err = models.AddCygxMicroRoadshowVideoHistory(&item) if err != nil { br.Msg = "操作失败" br.ErrMsg = "操作失败,Err:" + err.Error() return } err = models.UpdateCygxActivityVideoCounts(videoId) if err != nil { br.Msg = "更新失败" br.ErrMsg = "更新失败,Err:" + err.Error() return } } go services.MicroRoadshowVideoUserRmind(user, videoId) } else if sourceType == 2 { err = services.AddActivityVideoHistory(user, videoId) if err != nil { br.Msg = "更新失败" br.ErrMsg = "更新失败,AddActivityVideoHistory Err:" + err.Error() return } } br.Ret = 200 br.Success = true br.Msg = "操作成功" return } // @Title 微路演新增留言 // @Description 微路演新增留言接口 // @Param request body models.AddVideoCommnetReq true "type json string" // @Success Ret=200 {object} models.AppointmentResp // @router /comment/add [post] func (this *MicroRoadShowController) CommentAdd() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() user := this.User if user == nil { br.Msg = "请登录" br.ErrMsg = "请登录,用户信息为空" br.Ret = 408 return } uid := user.UserId var req models.AddVideoCommnetReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } var isResearch bool // 是否属于研选 sourceType := req.SourceType title := req.Title if sourceType == 0 { sourceType = 1 } item := models.CygxArticleComment{ UserId: uid, CreateTime: time.Now(), RealName: user.RealName, Mobile: user.Mobile, Email: user.Email, CompanyId: user.CompanyId, CompanyName: user.CompanyName, Content: req.Content, Title: req.Title, } //var resourceId int if sourceType == 1 { activityVoiceInfo, _ := models.GetCygxActivityVoiceByActivityId(req.Id) if activityVoiceInfo == nil { br.Msg = "操作失败" br.ErrMsg = "活动ID错误,不存在activityId:" + strconv.Itoa(req.Id) return } item.ActivityId = req.Id item.ActivityVoiceId = activityVoiceInfo.ActivityVoiceId //resourceId = activityVoiceInfo.ActivityId } else if sourceType == 2 { activityInfo, _ := models.GetCygxActivityVideoByActivityId(req.Id) if activityInfo == nil { br.Msg = "操作失败" br.ErrMsg = "活动ID错误,不存在activityId:" + strconv.Itoa(req.Id) return } item.VideoId = activityInfo.VideoId item.ActivityId = req.Id //resourceId = activityInfo.ActivityId } else if sourceType == 3 { item.VideoId = req.Id microVideo, e := models.GetMicroRoadshowVideoById(req.Id) if e != nil { br.Msg = "操作失败" br.ErrMsg = "微路演视频信息有误, 不存在的VideoId: " + strconv.Itoa(req.Id) return } item.IndustryId = microVideo.IndustryId //resourceId = microVideo.IndustryId } if sourceType == 2 || sourceType == 3 { detail, err := models.GetAddActivityInfoById(req.Id) if err != nil { br.Msg = "操作失败" br.ErrMsg = "活动ID错误,不存在activityId:" + strconv.Itoa(req.Id) return } if strings.Contains(detail.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) { isResearch = true } } msgId, err := models.AddArticleComment(&item) if err != nil { br.Msg = "提交失败" br.ErrMsg = "提交留言失败,Err:" + err.Error() return } services.SendWxMsgWithMicroRoadshowAsk(req, user, sourceType, int(msgId), title, isResearch) br.Ret = 200 br.Success = true br.Msg = "操作成功" return } // @Title 微路演收藏 // @Description 微路演收藏 // @Param request body models.MicroRoadshowCollectReq true "type json string" // @Success 200 {object} models.FontsCollectResp // @router /collect [post] func (this *MicroRoadShowController) Collect() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() user := this.User if user == nil { br.Msg = "请重新登录" br.Ret = 408 return } uid := user.UserId var req models.MicroRoadshowCollectReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } if req.SourceType == 1 { _, err := models.GetCygxActivityVoiceById(req.Id) if err != nil { br.Msg = "获取信息失败" br.ErrMsg = "获取信息失败,Err:" + err.Error() return } count, err := models.GetVoiceCollectCount(uid, req.Id) if err != nil { br.Msg = "获取数据失败!" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } resp := new(models.ArticleCollectResp) if count <= 0 { item := new(models.CygxArticleCollect) item.ActivityVoiceId = req.Id item.UserId = uid item.CreateTime = time.Now() item.Mobile = user.Mobile item.Email = user.Email item.CompanyId = user.CompanyId item.CompanyName = user.CompanyName item.RealName = user.RealName _, err = models.AddCygxArticleCollect(item) if err != nil { br.Msg = "收藏失败" br.ErrMsg = "收藏失败,Err:" + err.Error() return } br.Msg = "收藏成功" resp.Status = 1 // 文章收藏消息发送 //go services.ArticleUserRemind(user, detail, 2) } else { err = models.RemoveVoiceCollect(uid, req.Id) if err != nil { br.Msg = "取消收藏失败" br.ErrMsg = "取消收藏失败,Err:" + err.Error() return } br.Msg = "已取消收藏" resp.Status = 2 } collectTotal, err := models.GetVoiceCollectUsersCount(req.Id) if err != nil { br.Msg = "获取数据失败" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } resp.CollectCount = collectTotal br.Ret = 200 br.Success = true br.Data = resp } else if req.SourceType == 2 { _, err := models.GetCygxActivityVideoById(req.Id) if err != nil { br.Msg = "获取信息失败" br.ErrMsg = "获取信息失败,Err:" + err.Error() return } count, err := models.GetActivityVideoCollectCount(uid, req.Id) if err != nil { br.Msg = "获取数据失败!" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } resp := new(models.ArticleCollectResp) if count <= 0 { item := new(models.CygxArticleCollect) item.ActivityVideoId = req.Id item.UserId = uid item.CreateTime = time.Now() item.Mobile = user.Mobile item.Email = user.Email item.CompanyId = user.CompanyId item.CompanyName = user.CompanyName item.RealName = user.RealName _, err = models.AddCygxArticleCollect(item) if err != nil { br.Msg = "收藏失败" br.ErrMsg = "收藏失败,Err:" + err.Error() return } br.Msg = "收藏成功" resp.Status = 1 // 文章收藏消息发送 //go services.ArticleUserRemind(user, detail, 2) } else { err = models.RemoveActivityVideoCollect(uid, req.Id) if err != nil { br.Msg = "取消收藏失败" br.ErrMsg = "取消收藏失败,Err:" + err.Error() return } br.Msg = "已取消收藏" resp.Status = 2 } collectTotal, err := models.GetActivityVideoCollectUsersCount(req.Id) if err != nil { br.Msg = "获取数据失败" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } resp.CollectCount = collectTotal br.Ret = 200 br.Success = true br.Data = resp } else if req.SourceType == 3 { _, err := models.GetMicroRoadshowVideoById(req.Id) if err != nil { br.Msg = "获取信息失败" br.ErrMsg = "获取信息失败,Err:" + err.Error() return } count, err := models.GetVideoCollectCount(uid, req.Id) if err != nil { br.Msg = "获取数据失败!" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } resp := new(models.ArticleCollectResp) if count <= 0 { item := new(models.CygxArticleCollect) item.VideoId = req.Id item.UserId = uid item.CreateTime = time.Now() item.Mobile = user.Mobile item.Email = user.Email item.CompanyId = user.CompanyId item.CompanyName = user.CompanyName item.RealName = user.RealName _, err = models.AddCygxArticleCollect(item) if err != nil { br.Msg = "收藏失败" br.ErrMsg = "收藏失败,Err:" + err.Error() return } br.Msg = "收藏成功" resp.Status = 1 // 文章收藏消息发送 //go services.ArticleUserRemind(user, detail, 2) } else { err = models.RemoveVideoCollect(uid, req.Id) if err != nil { br.Msg = "取消收藏失败" br.ErrMsg = "取消收藏失败,Err:" + err.Error() return } br.Msg = "已取消收藏" resp.Status = 2 } collectTotal, err := models.GetVideoCollectUsersCount(req.Id) if err != nil { br.Msg = "获取数据失败" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } resp.CollectCount = collectTotal br.Ret = 200 br.Success = true br.Data = resp } } // @Title 我的收藏微路演列表 // @Description 我的收藏微路演列表接口 // @Param PageSize query int true "每页数据条数" // @Param CurrentIndex query int true "当前页页码,从1开始" // @Success 200 {object} models.HomeListResp // @router /mycollect [get] func (this *MicroRoadShowController) Mycollect() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() user := this.User if user == nil { br.Msg = "请登录" br.ErrMsg = "请登录,用户信息为空" br.Ret = 408 return } pageSize, _ := this.GetInt("PageSize") currentIndex, _ := this.GetInt("CurrentIndex") if pageSize <= 0 { pageSize = utils.PageSize20 } if currentIndex <= 0 { currentIndex = 1 } userId := user.UserId listMycollect, err := models.GetUserMicroRoadshowCollectList(userId) if err != nil { br.Msg = "获取数据失败" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } var audioIds []string var videoIds []string var activityVideoIds []string for _, item := range listMycollect { if item.ActivityVoiceId > 0 { audioIds = append(audioIds, strconv.Itoa(item.ActivityVoiceId)) } else if item.VideoId > 0 { videoIds = append(videoIds, strconv.Itoa(item.VideoId)) } else if item.ActivityVideoId > 0 { activityVideoIds = append(activityVideoIds, strconv.Itoa(item.ActivityVideoId)) } } if len(audioIds) == 0 && len(videoIds) == 0 && len(activityVideoIds) == 0 { resp := new(models.MicroRoadShowListResp) page := paging.GetPaging(currentIndex, pageSize, 0) resp.List = make([]*models.MicroRoadShowPageList, 0) resp.Paging = page br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp return } audioIdstr := strings.Join(audioIds, ",") ideoIdsStr := strings.Join(videoIds, ",") activityVideoIdsStr := strings.Join(activityVideoIds, ",") // 微路演列表 list, total, e := services.GetMicroRoadShowMycollect(pageSize, currentIndex, audioIdstr, ideoIdsStr, activityVideoIdsStr) if e != nil { br.Msg = "获取失败" br.ErrMsg = "获取微路演列表失败, Err: " + e.Error() return } for _, item := range list { if item.Type == 1 { //音频 count, err := models.GetVoiceCollectCount(user.UserId, item.Id) if err != nil { br.Msg = "获取数据失败!" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } if count > 0 { item.IsCollect = true } } else if item.Type == 2 { //活动视频 count, err := models.GetActivityVideoCollectCount(user.UserId, item.Id) if err != nil { br.Msg = "获取数据失败!" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } if count > 0 { item.IsCollect = true } } else if item.Type == 3 { //微路演视频 count, err := models.GetVideoCollectCount(user.UserId, item.Id) if err != nil { br.Msg = "获取数据失败!" br.ErrMsg = "获取数据失败,Err:" + err.Error() return } if count > 0 { item.IsCollect = true } } } // 用户权限 authInfo, permissionArr, e := services.GetUserRaiPermissionInfo(user.UserId, user.CompanyId) if e != nil { br.Msg = "获取失败" br.ErrMsg = "获取用户权限失败, Err: " + e.Error() return } // 获取默认图配置 audioMap, videoMap, audioShareMap, videoShareMap, e := services.GetMicroRoadShowDefaultImgConfig() if e != nil { br.Msg = "获取失败" br.ErrMsg = "获取微路演列表失败, Err: " + e.Error() return } for i := range list { // 权限 au := new(models.UserPermissionAuthInfo) au.SellerName = authInfo.SellerName au.SellerMobile = authInfo.SellerMobile au.HasPermission = authInfo.HasPermission au.OperationMode = authInfo.OperationMode if au.HasPermission == 1 { // 非宏观权限进一步判断是否有权限 if list[i].ChartPermissionId != utils.HONG_GUAN_ID && !utils.InArrayByStr(permissionArr, list[i].ChartPermissionName) { au.HasPermission = 2 } } // 无权限的弹框提示 if au.HasPermission != 1 { if au.OperationMode == services.UserPermissionOperationModeCall { if list[i].Type == 1 { au.PopupMsg = services.UserPermissionPopupMsgCallActivity } else { au.PopupMsg = services.UserPermissionPopupMsgCallMicroVideo } } else { if list[i].Type == 1 { au.PopupMsg = services.UserPermissionPopupMsgApplyActivity } else { au.PopupMsg = services.UserPermissionPopupMsgApplyMicroVideo } } } list[i].AuthInfo = au list[i].PublishTime = utils.StrTimeToTime(list[i].PublishTime).Format(utils.FormatDate) // 默认图 if list[i].BackgroundImg == "" { if list[i].Type == 1 { list[i].BackgroundImg = audioMap[list[i].ChartPermissionId] } else { list[i].BackgroundImg = videoMap[list[i].ChartPermissionId] } } // 分享图 if list[i].ShareImg == "" { if list[i].Type == 1 { list[i].ShareImg = audioShareMap[list[i].ChartPermissionId] } else { list[i].ShareImg = videoShareMap[list[i].ChartPermissionId] } } } resp := new(models.MicroRoadShowListResp) page := paging.GetPaging(currentIndex, pageSize, total) resp.List = list resp.Paging = page br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp } // @Title 模版消息留言详情 // @Description 模版消息留言详情接口 // @Param SourceId query int true "资源ID" // @Param SourceType query int true "留言类型,1:文章、2:活动、3:微路演视频、4:活动视频、5:活动音频" // @Success Ret=200 {object} models.CygxArticleCommentWxResp // @router /comment/detail [get] func (this *MicroRoadShowController) CommentDetail() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() user := this.User if user == nil { br.Msg = "请登录" br.ErrMsg = "请登录,用户信息为空" br.Ret = 408 return } sourceId, _ := this.GetInt("SourceId") sourceType, _ := this.GetInt("SourceType") resp := new(models.CygxArticleCommentWxResp) if sourceType == 1 || sourceType == 3 || sourceType == 4 || sourceType == 5 { detail, err := models.GetArticleCommentById(sourceId) if err != nil { br.Msg = "获取失败" br.ErrMsg = "获取用户权限失败, Err: " + err.Error() return } resp.Content = detail.Content if sourceType == 1 { resp.SourceId = detail.ArticleId resp.RedirectType = 1 } else if sourceType == 3 { resp.SourceId = detail.IndustryId resp.RedirectType = 3 } else { resp.SourceId = detail.ActivityId resp.RedirectType = 2 } } else { detail, err := models.GetCygxActivityHelpAskById(sourceId) if err != nil { br.Msg = "获取失败" br.ErrMsg = "获取用户权限失败, Err: " + err.Error() return } resp.Content = detail.Content resp.SourceId = detail.ActivityId resp.RedirectType = 2 } br.Ret = 200 br.Success = true br.Data = resp br.Msg = "操作成功" return }