- 修复dao.GetUserList的bug

- QueryActs添加参数syncStatus
This commit is contained in:
gazebo
2019-09-05 18:02:53 +08:00
parent f5ec608a1c
commit 522c9082ef
6 changed files with 47 additions and 10 deletions

View File

@@ -173,7 +173,7 @@ func GetActStoreSkuVendorInfo(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs
return actStoreSkuMap, err
}
func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendorID int, statusList, actTypeList, createTypeList []int,
func QueryActs(db *DaoDB, actID int, offset, pageSize int, syncStatus int, keyword string, vendorID int, statusList, actTypeList, createTypeList []int,
storeID, skuID, cityCode int, beginAt, endAt, createdAtFrom, createdAtTo time.Time) (pagedInfo *PagedActListInfo, err error) {
if actID == 0 && utils.IsTimeZero(createdAtFrom) && utils.IsTimeZero(beginAt) {
return nil, fmt.Errorf("actID,createdAtFrom和beginAt中至少要指定一个条件")
@@ -184,7 +184,7 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
sql := `
SELECT SQL_CALC_FOUND_ROWS
t1.id
DISTINCT t1.id
FROM act t1`
sqlParams := []interface{}{}
if isGetAll {
@@ -195,8 +195,14 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
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)
}
sql += `
WHERE t1.deleted_at = ?`
sqlParams = append(sqlParams, utils.DefaultTimeValue)
@@ -289,6 +295,7 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
panic(r)
}
}()
// globals.SugarLogger.Debug(sql)
if err = GetRows(db, &idList, sql, sqlParams...); err != nil || len(idList) == 0 {
Rollback(db)
return pagedInfo, err
@@ -311,6 +318,7 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
}
}
var actList []*tActAndMap
// globals.SugarLogger.Debug(sql)
if err = GetRows(db, &actList, sql, sqlParams...); err != nil {
return nil, err
}