diff --git a/business/model/dao/act.go b/business/model/dao/act.go index 3564ac70c..4d15fcf8e 100644 --- a/business/model/dao/act.go +++ b/business/model/dao/act.go @@ -204,25 +204,25 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, syncStatus int, keywo SELECT t1.*, t2.id map_id, t2.vendor_id, t2.vendor_act_id, t2.sync_status, t2.remark map_remark - FROM act t1 - LEFT JOIN act_map t2 ON t2.act_id = t1.id AND t2.deleted_at = ?` - sqlParams = []interface{}{utils.DefaultTimeValue} - if syncStatus >= 0 { - sql += " AND (t2.sync_status = ? OR t2.sync_status & ? <> 0)" - sqlParams = append(sqlParams, syncStatus, syncStatus) - } - } else if syncStatus >= 0 { - sql += " JOIN act_map t2 ON t2.act_id = t1.id AND t2.deleted_at = ? AND (t2.sync_status = ? OR t2.sync_status & ? <> 0)" - sqlParams = append(sqlParams, utils.DefaultTimeValue, syncStatus, syncStatus) + FROM act t1` + } + sql += " LEFT JOIN act_map t2 ON t2.act_id = t1.id AND t2.deleted_at = ?" + sqlParams = append(sqlParams, utils.DefaultTimeValue) + if syncStatus >= 0 { + sql += " AND (t2.sync_status = ? OR t2.sync_status & ? <> 0)" + sqlParams = append(sqlParams, syncStatus, syncStatus) } sql += ` WHERE t1.deleted_at = ?` + if syncStatus >= 0 { + sql += " AND t2.id IS NOT NULL" + } sqlParams = append(sqlParams, utils.DefaultTimeValue) keywordInt := int64(0) if keyword != "" { keywordLike := "%" + keyword + "%" - sql += " AND ( t1.name LIKE ? OR t1.advertising LIKE ? OR t1.remark LIKE ?" - sqlParams = append(sqlParams, keywordLike, keywordLike, keywordLike) + sql += " AND ( t1.name LIKE ? OR t1.advertising LIKE ? OR t1.remark LIKE ? OR t2.vendor_act_id LIKE ?" + sqlParams = append(sqlParams, keywordLike, keywordLike, keywordLike, keywordLike) keywordInt = utils.Str2Int64WithDefault(keyword, 0) if keywordInt > 0 { sql += ` @@ -321,9 +321,12 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, syncStatus int, keywo t2.id map_id, t2.vendor_id, t2.vendor_org_code, t2.vendor_act_id, t2.sync_status, t2.remark map_remark FROM act t1 LEFT JOIN act_map t2 ON t2.act_id = t1.id AND t2.deleted_at = ? - WHERE t1.id IN (` + GenQuestionMarks(len(idList)) + `) - ORDER BY t1.id DESC, t2.vendor_id - ` + WHERE t1.id IN (` + GenQuestionMarks(len(idList)) + `)` + if syncStatus >= 0 { + sql += " AND t2.id IS NOT NULL" + } + sql += ` + ORDER BY t1.id DESC, t2.vendor_id` sqlParams = []interface{}{ utils.DefaultTimeValue, idList,