act.QueryActs

This commit is contained in:
gazebo
2019-12-23 18:14:57 +08:00
parent 65c09d395b
commit c730a28f19

View File

@@ -204,25 +204,25 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, syncStatus int, keywo
SELECT SELECT
t1.*, t1.*,
t2.id map_id, t2.vendor_id, t2.vendor_act_id, t2.sync_status, t2.remark map_remark t2.id map_id, t2.vendor_id, t2.vendor_act_id, t2.sync_status, t2.remark map_remark
FROM act t1 FROM act t1`
LEFT JOIN act_map t2 ON t2.act_id = t1.id AND t2.deleted_at = ?` }
sqlParams = []interface{}{utils.DefaultTimeValue} sql += " LEFT JOIN act_map t2 ON t2.act_id = t1.id AND t2.deleted_at = ?"
if syncStatus >= 0 { sqlParams = append(sqlParams, utils.DefaultTimeValue)
sql += " AND (t2.sync_status = ? OR t2.sync_status & ? <> 0)" if syncStatus >= 0 {
sqlParams = append(sqlParams, syncStatus, syncStatus) 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)
} }
sql += ` sql += `
WHERE t1.deleted_at = ?` WHERE t1.deleted_at = ?`
if syncStatus >= 0 {
sql += " AND t2.id IS NOT NULL"
}
sqlParams = append(sqlParams, utils.DefaultTimeValue) sqlParams = append(sqlParams, utils.DefaultTimeValue)
keywordInt := int64(0) keywordInt := int64(0)
if keyword != "" { if keyword != "" {
keywordLike := "%" + keyword + "%" keywordLike := "%" + keyword + "%"
sql += " AND ( t1.name LIKE ? OR t1.advertising LIKE ? OR t1.remark LIKE ?" 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) sqlParams = append(sqlParams, keywordLike, keywordLike, keywordLike, keywordLike)
keywordInt = utils.Str2Int64WithDefault(keyword, 0) keywordInt = utils.Str2Int64WithDefault(keyword, 0)
if keywordInt > 0 { if keywordInt > 0 {
sql += ` 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 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 FROM act t1
LEFT JOIN act_map t2 ON t2.act_id = t1.id AND t2.deleted_at = ? LEFT JOIN act_map t2 ON t2.act_id = t1.id AND t2.deleted_at = ?
WHERE t1.id IN (` + GenQuestionMarks(len(idList)) + `) WHERE t1.id IN (` + GenQuestionMarks(len(idList)) + `)`
ORDER BY t1.id DESC, t2.vendor_id if syncStatus >= 0 {
` sql += " AND t2.id IS NOT NULL"
}
sql += `
ORDER BY t1.id DESC, t2.vendor_id`
sqlParams = []interface{}{ sqlParams = []interface{}{
utils.DefaultTimeValue, utils.DefaultTimeValue,
idList, idList,