|
@@ -2,6 +2,7 @@ package models
|
|
|
|
|
|
import (
|
|
|
"github.com/beego/beego/v2/client/orm"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -755,23 +756,29 @@ func GetCygxArticleCount(condition string, pars []interface{}) (count int, err e
|
|
|
}
|
|
|
|
|
|
// 列表
|
|
|
-func GetCygxCygxArticleListByCondition(articleTypesCond, activityTypesCond, industryStr, subjectNameStr string) (artIds, actIds string, err error) {
|
|
|
+func GetCygxCygxArticleListByCondition(articleTypesCond, activityTypesCond, industryStr, subjectNameStr, articleTypeStr string) (artIds, actIds, mmIds string, err error) {
|
|
|
o := orm.NewOrm()
|
|
|
artSql := `SELECT GROUP_CONCAT(DISTINCT art.article_id SEPARATOR ',') AS art_ids FROM cygx_article as art `
|
|
|
|
|
|
actSql := ` SELECT GROUP_CONCAT(DISTINCT act.activity_id SEPARATOR ',') AS act_ids FROM cygx_activity as act `
|
|
|
|
|
|
+ mmSql := ` SELECT GROUP_CONCAT(DISTINCT mm.id SEPARATOR ',') AS mm_ids FROM cygx_morning_meeting_reviews as mm `
|
|
|
+
|
|
|
if industryStr != "" {
|
|
|
artSql += ` INNER JOIN cygx_industrial_article_group_management AS iam ON iam.article_id = art.article_id
|
|
|
INNER JOIN cygx_industrial_management AS im ON im.industrial_management_id=iam.industrial_management_id `
|
|
|
actSql += ` INNER JOIN cygx_industrial_activity_group_management AS iam ON iam.activity_id = act.activity_id
|
|
|
INNER JOIN cygx_industrial_management AS im ON im.industrial_management_id=iam.industrial_management_id `
|
|
|
+ mmSql += ` INNER JOIN cygx_morning_meeting_review_chapter AS mmc ON mmc.meeting_id = mm.id
|
|
|
+ INNER JOIN cygx_industrial_management AS im ON im.industrial_management_id=mmc.industry_id `
|
|
|
}
|
|
|
if subjectNameStr != "" {
|
|
|
artSql += ` INNER JOIN cygx_industrial_article_group_subject AS ias ON ias.article_id = art.article_id
|
|
|
INNER JOIN cygx_industrial_subject AS cis ON cis.industrial_subject_id=ias.industrial_subject_id `
|
|
|
actSql += ` INNER JOIN cygx_industrial_activity_group_subject AS ias ON ias.activity_id = act.activity_id
|
|
|
INNER JOIN cygx_industrial_subject AS cis ON cis.industrial_subject_id=ias.industrial_subject_id `
|
|
|
+ mmSql += ` INNER JOIN cygx_morning_meeting_review_chapter AS mmc ON mmc.meeting_id = mm.id
|
|
|
+ INNER JOIN cygx_industrial_subject AS cis ON cis.industrial_subject_id=mmc.industrial_subject_ids `
|
|
|
}
|
|
|
artSql += ` WHERE 1=1 `
|
|
|
if articleTypesCond != "" || (articleTypesCond == "" && activityTypesCond == "") {
|
|
@@ -802,5 +809,17 @@ func GetCygxCygxArticleListByCondition(articleTypesCond, activityTypesCond, indu
|
|
|
err = o.Raw(actSql).QueryRow(&actIds)
|
|
|
}
|
|
|
|
|
|
+ if strings.Contains(articleTypeStr, "晨会精华") {
|
|
|
+ mmSql += ` WHERE 1=1 `
|
|
|
+ if industryStr != "" && subjectNameStr != "" {
|
|
|
+ mmSql += ` AND (im.industry_name In (` + industryStr + `) OR cis.subject_name In (` + subjectNameStr + `) )`
|
|
|
+ } else if industryStr == "" && subjectNameStr != "" {
|
|
|
+ mmSql += ` AND cis.subject_name In (` + subjectNameStr + `) `
|
|
|
+ } else if industryStr != "" && subjectNameStr == "" {
|
|
|
+ mmSql += ` AND im.industry_name In (` + industryStr + `) `
|
|
|
+ }
|
|
|
+ err = o.Raw(mmSql).QueryRow(&mmIds)
|
|
|
+ }
|
|
|
+
|
|
|
return
|
|
|
}
|