diff --git a/internal/dao/taskDao.go b/internal/dao/taskDao.go index 0afb52c..e595cbd 100644 --- a/internal/dao/taskDao.go +++ b/internal/dao/taskDao.go @@ -722,11 +722,14 @@ balance_sum AS ( cw_agg AS ( SELECT aob.user_id, - COUNT(DISTINCT CASE WHEN cw.work_category = 2 AND cw.deleted_at = 0 AND (cw.origin_uuid = '' OR cw.origin_uuid IS NULL) AND cw.submit_time BETWEEN aob.start_at AND aob.expired_at THEN cw.uuid END) AS uploaded_video_count, - COUNT(DISTINCT CASE WHEN cw.work_category = 1 AND cw.deleted_at = 0 AND (cw.origin_uuid = '' OR cw.origin_uuid IS NULL) AND cw.submit_time BETWEEN aob.start_at AND aob.expired_at THEN cw.uuid END) AS uploaded_post_count + COUNT(DISTINCT CASE WHEN cw.work_category = 2 THEN cw.uuid END) AS uploaded_video_count, + COUNT(DISTINCT CASE WHEN cw.work_category = 1 THEN cw.uuid END) AS uploaded_post_count FROM active_order_balances aob LEFT JOIN cast_work_extra cwe ON cwe.bundle_order_uuid = aob.order_uuid AND cwe.deleted_at = 0 LEFT JOIN cast_work cw ON cw.uuid = cwe.work_uuid + AND cw.deleted_at = 0 + AND (cw.origin_uuid = '' OR cw.origin_uuid IS NULL) + AND cw.submit_time BETWEEN aob.start_at AND aob.expired_at GROUP BY aob.user_id ), @@ -734,9 +737,12 @@ cw_agg AS ( cwa_agg AS ( SELECT aw.user_id, - COUNT(CASE WHEN cwa.deleted_at = 0 AND cwa.work_analysis_status != 1 AND cwa.submit_time BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS uploaded_data_count + COUNT(cwa.uuid) AS uploaded_data_count FROM active_windows aw - LEFT JOIN cast_work_analysis cwa ON cwa.artist_phone = aw.phone + LEFT JOIN cast_work_analysis cwa ON cwa.artist_phone = aw.phone + AND cwa.deleted_at = 0 + AND cwa.work_analysis_status != 1 + AND cwa.submit_time BETWEEN aw.start_at AND aw.expired_at GROUP BY aw.user_id ), @@ -744,9 +750,11 @@ cwa_agg AS ( ccr_agg AS ( SELECT aw.user_id, - COUNT(CASE WHEN ccr.deleted_at = 0 AND ccr.submit_time BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS uploaded_report_count + COUNT(ccr.uuid) AS uploaded_report_count FROM active_windows aw - LEFT JOIN cast_competitive_report ccr ON ccr.artist_phone = aw.phone + LEFT JOIN cast_competitive_report ccr ON ccr.artist_phone = aw.phone + AND ccr.deleted_at = 0 + AND ccr.submit_time BETWEEN aw.start_at AND aw.expired_at GROUP BY aw.user_id ), @@ -824,7 +832,7 @@ LEFT JOIN assigned_pending_agg apa ON apa.user_id = aw.user_id` return nil, 0, commonErr.ReturnError(err, "设置字符集失败", "设置字符集失败: ") } - countSQL := cte + " SELECT COUNT(DISTINCT aw.customer_num) " + fromClause + countSQL := cte + " SELECT COUNT(DISTINCT aw.customer_num) FROM active_windows aw" var total int64 if err := tx2.Raw(countSQL, args...).Scan(&total).Error; err != nil { return nil, 0, commonErr.ReturnError(err, "查询可指派数量总数失败", "查询可指派数量总数失败: ")