|
@@ -58,10 +58,11 @@ func GetConditionInitByTagIds(tagIds string) (conditionInit string, err error) {
|
|
|
pars = append(pars, tagslice)
|
|
|
listTag, e := models.GetCygxTagListCondition(condition, pars, 0, 0)
|
|
|
if e != nil {
|
|
|
- err = errors.New("GetActivityListByCondition, Err: " + e.Error())
|
|
|
+ err = errors.New("GetCygxTagListCondition, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ var tagType int
|
|
|
for _, tagInfo := range listTag {
|
|
|
|
|
|
if tagInfo.ActivityTypes != "" {
|
|
@@ -90,93 +91,167 @@ func GetConditionInitByTagIds(tagIds string) (conditionInit string, err error) {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
-
|
|
|
- if len(searchTag) > 0 {
|
|
|
-
|
|
|
- conditionInit += " AND ( search_tag IN ('" + strings.Join(searchTag, "','") + "') OR search_tag_two IN( '" + strings.Join(searchTag, "','") + "' ) )"
|
|
|
- }
|
|
|
- var resourceDataIds []int
|
|
|
-
|
|
|
- if len(industries) > 0 {
|
|
|
-
|
|
|
- var conditionIndustry string
|
|
|
- var parsIndustry []interface{}
|
|
|
- conditionIndustry += " AND industry_name IN ('" + strings.Join(industries, "','") + "')"
|
|
|
- listIndustry, e := models.GetTopOneMonthArtReadNumIndustryAll(conditionIndustry, parsIndustry)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetTopOneMonthArtReadNumIndustryAll, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- var industrialManagementIds []int
|
|
|
- for _, v := range listIndustry {
|
|
|
- industrialManagementIds = append(industrialManagementIds, v.IndustrialManagementId)
|
|
|
+ if tagType == 0 && tagInfo.TagType > 0 {
|
|
|
+ tagType = tagInfo.TagType
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- var conditionIndustryResource string
|
|
|
- var parsIndustryResource []interface{}
|
|
|
- lenArrindustrial := len(industrialManagementIds)
|
|
|
- conditionIndustryResource = ` AND industrial_management_id IN (` + utils.GetOrmInReplace(lenArrindustrial) + `)`
|
|
|
- parsIndustryResource = append(parsIndustryResource, industrialManagementIds)
|
|
|
+ switch tagType {
|
|
|
+ case 0:
|
|
|
+
|
|
|
+ if len(searchTag) > 0 {
|
|
|
+
|
|
|
+ conditionInit += " AND ( search_tag IN ('" + strings.Join(searchTag, "','") + "') OR search_tag_two IN( '" + strings.Join(searchTag, "','") + "' ) )"
|
|
|
+ }
|
|
|
|
|
|
- if lenArrindustrial > 0 {
|
|
|
- listResourceDataIndustrial, e := models.GetCygxResourceDataIndustrialGroupManagementList(conditionIndustryResource, parsIndustryResource, 0, 0)
|
|
|
-
|
|
|
+ var resourceDataIds []int
|
|
|
+
|
|
|
+ if len(industries) > 0 {
|
|
|
+ var conditionIndustry string
|
|
|
+ var parsIndustry []interface{}
|
|
|
+ conditionIndustry += " AND industry_name IN ('" + strings.Join(industries, "','") + "')"
|
|
|
+ listIndustry, e := models.GetTopOneMonthArtReadNumIndustryAll(conditionIndustry, parsIndustry)
|
|
|
if e != nil {
|
|
|
- err = errors.New("GetCygxResourceDataIndustrialGroupManagementList, Err: " + e.Error())
|
|
|
+ err = errors.New("GetTopOneMonthArtReadNumIndustryAll, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
- for _, v := range listResourceDataIndustrial {
|
|
|
- resourceDataIds = append(resourceDataIds, v.ResourceDataId)
|
|
|
+ var industrialManagementIds []int
|
|
|
+ for _, v := range listIndustry {
|
|
|
+ industrialManagementIds = append(industrialManagementIds, v.IndustrialManagementId)
|
|
|
+ }
|
|
|
+
|
|
|
+ var conditionIndustryResource string
|
|
|
+ var parsIndustryResource []interface{}
|
|
|
+ lenArrindustrial := len(industrialManagementIds)
|
|
|
+ conditionIndustryResource = ` AND industrial_management_id IN (` + utils.GetOrmInReplace(lenArrindustrial) + `)`
|
|
|
+ parsIndustryResource = append(parsIndustryResource, industrialManagementIds)
|
|
|
+
|
|
|
+ if lenArrindustrial > 0 {
|
|
|
+ listResourceDataIndustrial, e := models.GetCygxResourceDataIndustrialGroupManagementList(conditionIndustryResource, parsIndustryResource, 0, 0)
|
|
|
+
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxResourceDataIndustrialGroupManagementList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listResourceDataIndustrial {
|
|
|
+ resourceDataIds = append(resourceDataIds, v.ResourceDataId)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if len(subjectNames) > 0 {
|
|
|
-
|
|
|
- var conditionsubject string
|
|
|
- var parssubject []interface{}
|
|
|
- conditionsubject += " AND subject_name IN ('" + strings.Join(subjectNames, "','") + "')"
|
|
|
- listsubject, e := models.GetCygxIndustrialSubjectListCondition(conditionsubject, parssubject)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetTopOneMonthArtReadNumIndustry, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- var industrialsubjectIds []int
|
|
|
- for _, v := range listsubject {
|
|
|
- industrialsubjectIds = append(industrialsubjectIds, v.IndustrialSubjectId)
|
|
|
- }
|
|
|
- var conditionsubjectResource string
|
|
|
- var parssubjectResource []interface{}
|
|
|
- lenArrsubject := len(industrialsubjectIds)
|
|
|
- conditionsubjectResource = ` AND industrial_subject_id IN (` + utils.GetOrmInReplace(lenArrsubject) + `)`
|
|
|
- parssubjectResource = append(parssubjectResource, industrialsubjectIds)
|
|
|
- if lenArrsubject > 0 {
|
|
|
- listResourceDatasubject, e := models.GetCygxResourceDataIndustrialGroupSubjectList(conditionsubjectResource, parssubjectResource, 0, 0)
|
|
|
+
|
|
|
+
|
|
|
+ if len(subjectNames) > 0 {
|
|
|
+ var conditionsubject string
|
|
|
+ var parssubject []interface{}
|
|
|
+ conditionsubject += " AND subject_name IN ('" + strings.Join(subjectNames, "','") + "')"
|
|
|
+ listsubject, e := models.GetCygxIndustrialSubjectListCondition(conditionsubject, parssubject)
|
|
|
if e != nil {
|
|
|
- err = errors.New("GetCygxResourceDataIndustrialGroupSubjectList, Err: " + e.Error())
|
|
|
+ err = errors.New("GetTopOneMonthArtReadNumIndustry, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
- for _, v := range listResourceDatasubject {
|
|
|
- resourceDataIds = append(resourceDataIds, v.ResourceDataId)
|
|
|
+ var industrialsubjectIds []int
|
|
|
+ for _, v := range listsubject {
|
|
|
+ industrialsubjectIds = append(industrialsubjectIds, v.IndustrialSubjectId)
|
|
|
+ }
|
|
|
+ var conditionsubjectResource string
|
|
|
+ var parssubjectResource []interface{}
|
|
|
+ lenArrsubject := len(industrialsubjectIds)
|
|
|
+ conditionsubjectResource = ` AND industrial_subject_id IN (` + utils.GetOrmInReplace(lenArrsubject) + `)`
|
|
|
+ parssubjectResource = append(parssubjectResource, industrialsubjectIds)
|
|
|
+ if lenArrsubject > 0 {
|
|
|
+ listResourceDatasubject, e := models.GetCygxResourceDataIndustrialGroupSubjectList(conditionsubjectResource, parssubjectResource, 0, 0)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxResourceDataIndustrialGroupSubjectList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listResourceDatasubject {
|
|
|
+ resourceDataIds = append(resourceDataIds, v.ResourceDataId)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
-
|
|
|
- if len(resourceDataIds) > 0 {
|
|
|
- var resourceDataIdStrs []string
|
|
|
- resourceDataIdMap := make(map[int]bool)
|
|
|
- for _, v := range resourceDataIds {
|
|
|
- if resourceDataIdMap[v] {
|
|
|
- continue
|
|
|
+
|
|
|
+ if len(resourceDataIds) > 0 {
|
|
|
+ var resourceDataIdStrs []string
|
|
|
+ resourceDataIdMap := make(map[int]bool)
|
|
|
+ for _, v := range resourceDataIds {
|
|
|
+ if resourceDataIdMap[v] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ resourceDataIdStrs = append(resourceDataIdStrs, strconv.Itoa(v))
|
|
|
+ resourceDataIdMap[v] = true
|
|
|
+ }
|
|
|
+ conditionInit += " AND id IN (" + strings.Join(resourceDataIdStrs, ",") + ") "
|
|
|
+ }
|
|
|
+ case 1:
|
|
|
+ conf, e := models.GetConfigByCode(utils.CYGX_TAG_HOT_ACTIVITY_ID)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetConfigByCode, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if conf.ConfigValue == "" {
|
|
|
+ conditionInit += " AND id = 0 "
|
|
|
+ return
|
|
|
+ }
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ condition = " AND activity_id IN ( " + conf.ConfigValue + ") AND publish_status = 1 AND active_state IN (1,2) "
|
|
|
+ listActivity, e := models.GetActivityListByCondition(condition, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetActivityListByCondition, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(listActivity) == 0 {
|
|
|
+ conditionInit += " AND id = 0 "
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ var activityIds []string
|
|
|
+ for _, v := range listActivity {
|
|
|
+ activityIds = append(activityIds, strconv.Itoa(v.ActivityId))
|
|
|
+ }
|
|
|
+ conditionInit = " AND source_id IN ( " + strings.Join(activityIds, ",") + ") AND source = '" + utils.CYGX_OBJ_ACTIVITY + "'"
|
|
|
+
|
|
|
+ case 2:
|
|
|
+ condition = " AND category_id IN ( SELECT category_id_celue FROM cygx_report_mapping_group WHERE id_cygx IN ( 35,39 ) ) AND publish_status = 1"
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ articleList, e := models.GetArticleList(condition, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetArticleList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var articleIds []string
|
|
|
+ for _, v := range articleList {
|
|
|
+ articleIds = append(articleIds, strconv.Itoa(v.ArticleId))
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ condition = " AND area_type = 2 AND publish_status = 1 "
|
|
|
+ listActivity, e := models.GetActivityListByCondition(condition, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetActivityListByCondition, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(listActivity) == 0 {
|
|
|
+ conditionInit = " AND source_id IN ( " + strings.Join(articleIds, ",") + ") AND source = '" + utils.CYGX_OBJ_ARTICLE + "'"
|
|
|
+ } else {
|
|
|
+ var activityIds []string
|
|
|
+ for _, v := range listActivity {
|
|
|
+ activityIds = append(activityIds, strconv.Itoa(v.ActivityId))
|
|
|
}
|
|
|
- resourceDataIdStrs = append(resourceDataIdStrs, strconv.Itoa(v))
|
|
|
- resourceDataIdMap[v] = true
|
|
|
+ conditionInit = " AND ( source_id IN ( " + strings.Join(articleIds, ",") + ") AND source = '" + utils.CYGX_OBJ_ARTICLE + "') OR (source_id IN ( " + strings.Join(activityIds, ",") + ") AND source = '" + utils.CYGX_OBJ_ACTIVITY + " ' )"
|
|
|
}
|
|
|
- conditionInit += " AND id IN (" + strings.Join(resourceDataIdStrs, ",") + ") "
|
|
|
+
|
|
|
+ case 3:
|
|
|
+ conditionInit = " AND source IN('activityvoice','activityvideo') AND search_tag = '路演回放' "
|
|
|
+
|
|
|
+ case 4:
|
|
|
+ conditionInit = " AND source = '" + utils.CYGX_OBJ_ASKSERIEVIDEO + "'"
|
|
|
}
|
|
|
+
|
|
|
return
|
|
|
}
|