|
@@ -327,19 +327,19 @@ func GetCygxArticleCount(condition string, pars []interface{}) (count int, err e
|
|
|
}
|
|
|
|
|
|
// 列表
|
|
|
-func GetCygxCygxArticleListByCondition(articleTypesCond, activityTypesCond, industriesCond, subjectNamesCond string) (artIds,actIds string, err error) {
|
|
|
+func GetCygxCygxArticleListByCondition(articleTypesCond, activityTypesCond, industryStr, subjectNameStr string) (artIds,actIds 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 `
|
|
|
|
|
|
- if industriesCond != ""{
|
|
|
+ if industryStr != "" {
|
|
|
artSql += ` INNER JOIN cygx_industrial_article_group_management AS iam ON iam.cygx_article_id = art.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 `
|
|
|
}
|
|
|
- if subjectNamesCond != ""{
|
|
|
+ if subjectNameStr != "" {
|
|
|
artSql += ` INNER JOIN cygx_industrial_article_group_subject AS ias ON ias.cygx_article_id = art.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
|
|
@@ -347,14 +347,30 @@ func GetCygxCygxArticleListByCondition(articleTypesCond, activityTypesCond, indu
|
|
|
}
|
|
|
artSql += ` WHERE 1=1 `
|
|
|
if articleTypesCond != "" {
|
|
|
- artSql += articleTypesCond + industriesCond + subjectNamesCond
|
|
|
+ if industryStr != "" && subjectNameStr != "" {
|
|
|
+ artSql += articleTypesCond + ` AND (im.industry_name In (`+ industryStr +`) OR cis.subject_name In (`+ subjectNameStr +`) )`
|
|
|
+ } else if industryStr == "" && subjectNameStr != "" {
|
|
|
+ artSql += articleTypesCond + ` AND cis.subject_name In (`+ subjectNameStr +`) `
|
|
|
+ } else if industryStr != "" && subjectNameStr == "" {
|
|
|
+ artSql += articleTypesCond + ` AND im.industry_name In (`+ industryStr +`) `
|
|
|
+ } else {
|
|
|
+ artSql += articleTypesCond
|
|
|
+ }
|
|
|
err = o.Raw(artSql).QueryRow(&artIds)
|
|
|
}
|
|
|
|
|
|
|
|
|
actSql += ` WHERE 1=1 `
|
|
|
if activityTypesCond != "" {
|
|
|
- actSql += activityTypesCond + industriesCond + subjectNamesCond
|
|
|
+ if industryStr != "" && subjectNameStr != "" {
|
|
|
+ actSql += activityTypesCond + ` AND (im.industry_name In (`+ industryStr +`) OR cis.subject_name In (`+ subjectNameStr +`) )`
|
|
|
+ } else if industryStr == "" && subjectNameStr != "" {
|
|
|
+ actSql += activityTypesCond + ` AND cis.subject_name In (`+ subjectNameStr +`) `
|
|
|
+ } else if industryStr != "" && subjectNameStr == "" {
|
|
|
+ actSql += activityTypesCond + ` AND im.industry_name In (`+ industryStr +`) `
|
|
|
+ } else {
|
|
|
+ actSql += activityTypesCond
|
|
|
+ }
|
|
|
err = o.Raw(actSql).QueryRow(&actIds)
|
|
|
}
|
|
|
|