diff --git a/internal/dao/taskDao.go b/internal/dao/taskDao.go index 7998e8c..0527b71 100644 --- a/internal/dao/taskDao.go +++ b/internal/dao/taskDao.go @@ -89,9 +89,9 @@ newest_month AS ( active_windows AS ( SELECT u.id AS user_id, - u.tel_num AS phone, + u.tel_num COLLATE utf8mb4_0900_ai_ci AS phone, bor.uuid AS order_uuid, - bor.customer_num, + bor.customer_num COLLATE utf8mb4_0900_ai_ci AS customer_num, bb.start_at, bb.expired_at, bb.bundle_video_number, bb.bundle_limit_video_number, bb.bundle_limit_video_expired_number, @@ -106,7 +106,7 @@ active_windows AS ( bb.bundle_competitive_number, bb.bundle_limit_competitive_number, bb.bundle_limit_competitive_expired_number, bb.increase_competitive_number, bb.increase_limit_competitive_number, bb.increase_limit_competitive_expired_number, bb.manual_competitive_number, bb.manual_competitive_consumption_number, - rn.name AS user_name + rn.name COLLATE utf8mb4_0900_ai_ci AS user_name FROM ` + "`micro-account`.`user`" + ` u INNER JOIN ` + "`micro-account`.real_name" + ` rn ON rn.id = u.real_name_id AND rn.name IS NOT NULL AND rn.deleted_at = 0 INNER JOIN bundle_activate bc ON bc.user_id = u.id AND bc.activate = 2 @@ -188,7 +188,7 @@ cw_agg AS ( COUNT(CASE WHEN cw.work_category = 2 AND cw.cost = 1 AND cw.deleted_at = 0 AND (cw.origin_uuid = '' OR cw.origin_uuid IS NULL) AND cw.submit_time BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS released_video_consumed, COUNT(CASE WHEN cw.work_category = 1 AND cw.cost = 1 AND cw.deleted_at = 0 AND (cw.origin_uuid = '' OR cw.origin_uuid IS NULL) AND cw.submit_time BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS released_post_consumed FROM active_windows aw - LEFT JOIN cast_work cw ON cw.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci + LEFT JOIN cast_work cw ON cw.artist_phone = aw.phone GROUP BY aw.user_id ), @@ -199,7 +199,7 @@ cwa_agg AS ( 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(CASE WHEN cwa.cost = 1 AND 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 released_data_consumed FROM active_windows aw - LEFT JOIN cast_work_analysis cwa ON cwa.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci + LEFT JOIN cast_work_analysis cwa ON cwa.artist_phone = aw.phone GROUP BY aw.user_id ), @@ -210,7 +210,7 @@ ccr_agg AS ( 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(CASE WHEN ccr.cost = 1 AND ccr.deleted_at = 0 AND ccr.submit_time BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS released_report_consumed FROM active_windows aw - LEFT JOIN cast_competitive_report ccr ON ccr.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci + LEFT JOIN cast_competitive_report ccr ON ccr.artist_phone = aw.phone GROUP BY aw.user_id ), @@ -220,7 +220,7 @@ cvs_agg AS ( aw.user_id, COUNT(cvs.artist_uuid) AS uploaded_video_script_count FROM active_windows aw - LEFT JOIN cast_video_script cvs ON CAST(aw.user_id AS CHAR) COLLATE utf8mb4_general_ci = cvs.artist_uuid COLLATE utf8mb4_general_ci + LEFT JOIN cast_video_script cvs ON CAST(aw.user_id AS CHAR) = cvs.artist_uuid AND cvs.deleted_at = 0 AND cvs.created_at BETWEEN UNIX_TIMESTAMP(CONVERT_TZ(aw.start_at, '+00:00', '+00:00')) AND UNIX_TIMESTAMP(CONVERT_TZ(aw.expired_at, '+00:00', '+00:00')) @@ -234,7 +234,7 @@ tar_agg AS ( COUNT(CASE WHEN tar.status = 1 AND tar.deleted_at = 0 AND tar.created_at BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS progress_task_count, COUNT(CASE WHEN tar.status = 2 AND tar.deleted_at = 0 AND tar.created_at BETWEEN aw.start_at AND aw.expired_at THEN 1 END) AS complete_task_count FROM active_windows aw - LEFT JOIN ` + "`" + taskSchema + "`" + `.task_assign_records tar ON tar.sub_num COLLATE utf8mb4_general_ci = aw.customer_num COLLATE utf8mb4_general_ci + LEFT JOIN ` + "`" + taskSchema + "`" + `.task_assign_records tar ON tar.sub_num = aw.customer_num GROUP BY aw.user_id ), @@ -273,7 +273,7 @@ assigned_pending_agg AS ( END ), 0) AS assigned_report_count FROM active_windows aw - LEFT JOIN ` + "`" + taskSchema + "`" + `.task_assign_records tar ON tar.sub_num COLLATE utf8mb4_general_ci = aw.customer_num COLLATE utf8mb4_general_ci + LEFT JOIN ` + "`" + taskSchema + "`" + `.task_assign_records tar ON tar.sub_num = aw.customer_num AND tar.actual_status IN (1, 3) AND tar.deleted_at = 0 AND tar.created_at BETWEEN aw.start_at AND aw.expired_at @@ -474,16 +474,16 @@ newest_month AS ( active_windows AS ( SELECT u.id AS user_id, - u.tel_num AS phone, + u.tel_num COLLATE utf8mb4_0900_ai_ci AS phone, bor.uuid AS order_uuid, - bor.customer_num, + bor.customer_num COLLATE utf8mb4_0900_ai_ci AS customer_num, bb.start_at, bb.expired_at, bb.manual_video_number, bb.manual_video_consumption_number, bb.manual_image_number, bb.manual_image_consumption_number, bb.manual_data_analysis_number, bb.manual_data_analysis_consumption_number, bb.manual_competitive_number, bb.manual_competitive_consumption_number, - rn.name AS user_name + rn.name COLLATE utf8mb4_0900_ai_ci AS user_name FROM ` + "`micro-account`.`user`" + ` u INNER JOIN ` + "`micro-account`.real_name" + ` rn ON rn.id = u.real_name_id AND rn.name IS NOT NULL AND rn.deleted_at = 0 INNER JOIN bundle_activate bc ON bc.user_id = u.id AND bc.activate = 2 @@ -563,7 +563,7 @@ cw_agg AS ( COUNT(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 aw.start_at AND aw.expired_at THEN 1 END) AS uploaded_video_count, COUNT(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 aw.start_at AND aw.expired_at THEN 1 END) AS uploaded_post_count FROM active_windows aw - LEFT JOIN cast_work cw ON cw.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci + LEFT JOIN cast_work cw ON cw.artist_phone = aw.phone GROUP BY aw.user_id ), @@ -573,7 +573,7 @@ cwa_agg AS ( 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 FROM active_windows aw - LEFT JOIN cast_work_analysis cwa ON cwa.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci + LEFT JOIN cast_work_analysis cwa ON cwa.artist_phone = aw.phone GROUP BY aw.user_id ), @@ -583,7 +583,7 @@ ccr_agg AS ( 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 FROM active_windows aw - LEFT JOIN cast_competitive_report ccr ON ccr.artist_phone COLLATE utf8mb4_general_ci = aw.phone COLLATE utf8mb4_general_ci + LEFT JOIN cast_competitive_report ccr ON ccr.artist_phone = aw.phone GROUP BY aw.user_id ), @@ -593,7 +593,7 @@ cvs_agg AS ( aw.user_id, COUNT(cvs.artist_uuid) AS uploaded_video_script_count FROM active_windows aw - LEFT JOIN cast_video_script cvs ON CAST(aw.user_id AS CHAR) COLLATE utf8mb4_general_ci = cvs.artist_uuid COLLATE utf8mb4_general_ci + LEFT JOIN cast_video_script cvs ON CAST(aw.user_id AS CHAR) = cvs.artist_uuid AND cvs.deleted_at = 0 AND cvs.created_at BETWEEN UNIX_TIMESTAMP(CONVERT_TZ(aw.start_at, '+00:00', '+00:00')) AND UNIX_TIMESTAMP(CONVERT_TZ(aw.expired_at, '+00:00', '+00:00')) @@ -635,7 +635,7 @@ assigned_pending_agg AS ( END ), 0) AS assigned_report_count FROM active_windows aw - LEFT JOIN ` + "`" + taskSchema + "`" + `.task_assign_records tar ON tar.sub_num COLLATE utf8mb4_general_ci = aw.customer_num COLLATE utf8mb4_general_ci + LEFT JOIN ` + "`" + taskSchema + "`" + `.task_assign_records tar ON tar.sub_num = aw.customer_num AND tar.actual_status IN (1, 3) AND tar.deleted_at = 0 AND tar.created_at BETWEEN aw.start_at AND aw.expired_at