|
@@ -15,7 +15,6 @@ import (
|
|
|
//"strconv"
|
|
|
"errors"
|
|
|
"strings"
|
|
|
- "time"
|
|
|
)
|
|
|
|
|
|
type SearchComprehensiveItem struct {
|
|
@@ -517,18 +516,7 @@ func GetResourceDataEsList(list []*SearchComprehensiveItem, user *models.WxUserI
|
|
|
return
|
|
|
}
|
|
|
for _, v := range listArticle {
|
|
|
- v.Body = ""
|
|
|
- v.BodyHtml = ""
|
|
|
- if titleHighlight[v.ArticleId] != "" {
|
|
|
- v.Title = titleHighlight[v.ArticleId]
|
|
|
- }
|
|
|
- if len(bodyHighlight[v.ArticleId]) > 0 {
|
|
|
- v.Abstract = ""
|
|
|
- v.Annotation = ""
|
|
|
- v.BodyHighlight = bodyHighlight[v.ArticleId]
|
|
|
- } else {
|
|
|
- v.BodyHighlight = make([]string, 0)
|
|
|
- }
|
|
|
+ fmt.Println(v.Title)
|
|
|
mapItems[fmt.Sprint("article", v.ArticleId)].Article = v
|
|
|
}
|
|
|
}
|
|
@@ -681,203 +669,6 @@ func GetResourceDataEsList(list []*SearchComprehensiveItem, user *models.WxUserI
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //产业资源包
|
|
|
- if len(industrialResourceIdsHz) > 0 {
|
|
|
- pars = make([]interface{}, 0)
|
|
|
-
|
|
|
- var industrialResourceIdstring []string
|
|
|
- for _, v := range industrialResourceIdsHz {
|
|
|
- industrialResourceIdstring = append(industrialResourceIdstring, strconv.Itoa(v))
|
|
|
- }
|
|
|
- industrialId := strings.Join(industrialResourceIdstring, ",")
|
|
|
- condition = ` AND m.industrial_management_id IN (` + industrialId + `) AND a.article_type_id = 0 `
|
|
|
- listIndustrialResourceIds, e := models.GetSearchResourceList(user.UserId, condition, 0, len(industrialResourceIdsHz))
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetSearchResourceList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- //合并产业关联的标的
|
|
|
- listSubjcet, e := models.GetIndustrialSubjectAllByIndustrialId(industrialResourceIdsHz)
|
|
|
- if e != nil {
|
|
|
- e = errors.New("GetIndustrialSubjectAllByIndustrialId, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- mapIndustrial := make(map[string]int)
|
|
|
- for _, v := range listSubjcet {
|
|
|
- for k2, v2 := range listIndustrialResourceIds {
|
|
|
- if v2.IndustrialManagementId == v.IndustrialManagementId && mapIndustrial[fmt.Sprint(v2.IndustrialManagementId, "Hz", v.SubjectName)] == 0 {
|
|
|
- listIndustrialResourceIds[k2].IndustrialSubjectList = append(listIndustrialResourceIds[k2].IndustrialSubjectList, v)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- for _, v := range listIndustrialResourceIds {
|
|
|
- v.Source = 1
|
|
|
- mapItems[fmt.Sprint("industrialsourceHz", v.IndustrialManagementId)].IndustrialResource = v
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if len(industrialResourceIdsYx) > 0 {
|
|
|
- pars = make([]interface{}, 0)
|
|
|
-
|
|
|
- var industrialResourceIdstring []string
|
|
|
- for _, v := range industrialResourceIdsYx {
|
|
|
- industrialResourceIdstring = append(industrialResourceIdstring, strconv.Itoa(v))
|
|
|
- }
|
|
|
- industrialId := strings.Join(industrialResourceIdstring, ",")
|
|
|
- condition = ` AND m.industrial_management_id IN (` + industrialId + `) AND a.article_type_id > 0 `
|
|
|
- listIndustrialResourceIds, e := models.GetSearchResourceList(user.UserId, condition, 0, len(industrialResourceIdsYx))
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetSearchResourceList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- //合并产业关联的标的
|
|
|
- listSubjcet, e := models.GetIndustrialSubjectAllByIndustrialId(industrialResourceIdsYx)
|
|
|
- if e != nil {
|
|
|
- e = errors.New("GetIndustrialSubjectAllByIndustrialId, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- mapIndustrial := make(map[string]int)
|
|
|
- for _, v := range listSubjcet {
|
|
|
- for k2, v2 := range listIndustrialResourceIds {
|
|
|
- if v2.IndustrialManagementId == v.IndustrialManagementId && mapIndustrial[fmt.Sprint(v2.IndustrialManagementId, "Yx", v.SubjectName)] == 0 {
|
|
|
- listIndustrialResourceIds[k2].IndustrialSubjectList = append(listIndustrialResourceIds[k2].IndustrialSubjectList, v)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- for _, v := range listIndustrialResourceIds {
|
|
|
- v.Source = 2
|
|
|
- mapItems[fmt.Sprint("industrialsourceYx", v.IndustrialManagementId)].IndustrialResource = v
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //处理专项调研
|
|
|
- if len(activityspecialIds) > 0 {
|
|
|
- pars = make([]interface{}, 0)
|
|
|
- condition = ` AND art.activity_id IN (` + utils.GetOrmInReplace(len(activityspecialIds)) + `)`
|
|
|
- pars = append(pars, activityspecialIds)
|
|
|
- activitySpeciallist, e := models.GetCygxActivitySpecialDetailList(condition, pars, user.UserId, 0, len(activityspecialIds))
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetCygxActivitySpecialDetailList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- for _, v := range activitySpeciallist {
|
|
|
- if mapChart[v.ChartPermissionName] != "" {
|
|
|
- imgUrlResp = mapChart[v.ChartPermissionName]
|
|
|
- }
|
|
|
-
|
|
|
- if v.Days == 0 {
|
|
|
- v.TripStatus = 1
|
|
|
- v.TripImgLink = v.TripImgLink
|
|
|
- } else {
|
|
|
- v.TripStatus = 2
|
|
|
- v.TripImgLink = v.TripImgLinkFix
|
|
|
- v.ActivityTimeText = v.ActivityTimeTextByDay
|
|
|
- }
|
|
|
- resultTimeStart := utils.StrTimeToTime(v.ActivityTime) //时间字符串格式转时间格式
|
|
|
- resultTimeEnd := utils.StrTimeToTime(v.ActivityTimeEnd) //时间字符串格式转时间格式
|
|
|
- if resultTimeStart.After(time.Now()) {
|
|
|
- v.ActiveState = 1
|
|
|
- } else if time.Now().After(resultTimeEnd) {
|
|
|
- v.ActiveState = 3
|
|
|
- } else {
|
|
|
- v.ActiveState = 2
|
|
|
- }
|
|
|
- v.ImgUrl = imgUrlResp
|
|
|
- mapItems[fmt.Sprint("activityspecial", v.ActivityId)].Activityspecial = v
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if len(roadshowIds)+len(activityvideoIds)+len(activityvoiceIds)+len(askserieVideoIds) > 0 {
|
|
|
-
|
|
|
- audioIdstr := strings.Join(activityvoiceIds, ",")
|
|
|
- activityVideoIdsStr := strings.Join(activityvideoIds, ",")
|
|
|
- roadshowIdsStr := strings.Join(roadshowIds, ",")
|
|
|
- askserieVideoIdsStr := strings.Join(askserieVideoIds, ",")
|
|
|
-
|
|
|
- list, _, e := GetMicroRoadShowMycollectV12(len(roadshowIds)+len(activityvideoIds)+len(activityvoiceIds)+len(askserieVideoIds), 0, audioIdstr, activityVideoIdsStr, roadshowIdsStr, askserieVideoIdsStr, user)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetMicroRoadShowMycollectV12, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- // 用户权限
|
|
|
- authInfo, permissionArr, e := GetUserRaiPermissionInfo(user.UserId, user.CompanyId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetUserRaiPermissionInfo, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- // 获取默认图配置
|
|
|
- audioMap, videoMap, audioShareMap, videoShareMap, e := GetMicroRoadShowDefaultImgConfig()
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetMicroRoadShowDefaultImgConfig, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- //Source string `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`
|
|
|
- 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 == UserPermissionOperationModeCall {
|
|
|
- if list[i].Type == 1 {
|
|
|
- au.PopupMsg = UserPermissionPopupMsgCallActivity
|
|
|
- } else {
|
|
|
- au.PopupMsg = UserPermissionPopupMsgCallMicroVideo
|
|
|
- }
|
|
|
- } else {
|
|
|
- if list[i].Type == 1 {
|
|
|
- au.PopupMsg = UserPermissionPopupMsgApplyActivity
|
|
|
- } else {
|
|
|
- au.PopupMsg = 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]
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //Type int `description:"类型: 1-音频; 2-活动视频; 3-产业视频"`
|
|
|
- for _, item := range list {
|
|
|
- if item.Type == 1 {
|
|
|
- mapItems[fmt.Sprint("activityvoice", item.Id)].Activityvoice = item
|
|
|
- } else if item.Type == 2 {
|
|
|
- mapItems[fmt.Sprint("activityvideo", item.Id)].Activityvideo = item
|
|
|
- } else if item.Type == 3 {
|
|
|
- mapItems[fmt.Sprint("roadshow", item.Id)].Roadshow = item
|
|
|
- } else if item.Type == 4 {
|
|
|
- mapItems[fmt.Sprint(utils.CYGX_OBJ_ASKSERIEVIDEO, item.Id)].AskserieVideo = item
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
//处理研选专栏
|
|
|
lenyanxuanSpecialIds := len(yanxuanSpecialIds)
|
|
|
if lenyanxuanSpecialIds > 0 {
|
|
@@ -912,13 +703,7 @@ func GetResourceDataEsList(list []*SearchComprehensiveItem, user *models.WxUserI
|
|
|
if v.Article == nil && v.Roadshow == nil && v.Activity == nil && v.Activityvideo == nil && v.Activityvoice == nil && v.Activityspecial == nil && v.Researchsummary == nil && v.Minutessummary == nil && v.Meetingreviewchapt == nil && v.ProductInterior == nil && v.IndustrialResource == nil && v.YanxuanSpecial == nil && v.AskserieVideo == nil {
|
|
|
continue
|
|
|
}
|
|
|
- if v.Article != nil && v.SourceId == vList.SourceId {
|
|
|
- v.Article.Title = vList.Title
|
|
|
- }
|
|
|
|
|
|
- if v.Roadshow != nil && v.SourceId == vList.SourceId {
|
|
|
- v.Roadshow.Title = vList.Title
|
|
|
- }
|
|
|
if v.Activity != nil && v.SourceId == vList.SourceId {
|
|
|
v.Activity.ActivityName = vList.Title
|
|
|
}
|
|
@@ -929,9 +714,6 @@ func GetResourceDataEsList(list []*SearchComprehensiveItem, user *models.WxUserI
|
|
|
v.Activityvoice.Title = vList.Title
|
|
|
}
|
|
|
|
|
|
- if v.Activityspecial != nil && v.SourceId == vList.SourceId {
|
|
|
- v.Activityspecial.ResearchTheme = vList.Title
|
|
|
- }
|
|
|
if v.Researchsummary != nil && v.SourceId == vList.SourceId {
|
|
|
v.Researchsummary.Title = vList.Title
|
|
|
}
|
|
@@ -962,10 +744,11 @@ func GetResourceDataEsList(list []*SearchComprehensiveItem, user *models.WxUserI
|
|
|
}
|
|
|
|
|
|
func SqlComprehensiveSearch(keyWord string, startSize, pageSize int) (result []*SearchComprehensiveItem, total int, err error) {
|
|
|
+ condition := " AND source IN ('article','activity','yanxuanspecial') " // 只有研选的文章、研选的活动、研选的专栏这三种
|
|
|
keyWord = "%" + keyWord + "%"
|
|
|
var conditionTitle string
|
|
|
var parsTitle []interface{}
|
|
|
- conditionTitle = " AND search_title LIKE ? "
|
|
|
+ conditionTitle = " AND search_title LIKE ? " + condition
|
|
|
parsTitle = append(parsTitle, keyWord)
|
|
|
totalTitle, e := models.GetResourceDataCount(conditionTitle, parsTitle)
|
|
|
if e != nil {
|
|
@@ -976,7 +759,7 @@ func SqlComprehensiveSearch(keyWord string, startSize, pageSize int) (result []*
|
|
|
var conditionContent string
|
|
|
var parsContent []interface{}
|
|
|
|
|
|
- conditionContent = " AND search_content LIKE ? AND search_title NOT LIKE ? "
|
|
|
+ conditionContent = " AND search_content LIKE ? AND search_title NOT LIKE ? " + condition
|
|
|
parsContent = append(parsContent, keyWord, keyWord)
|
|
|
totalContent, e := models.GetResourceDataCount(conditionContent, parsContent)
|
|
|
if e != nil {
|