@@ -403,10 +403,10 @@ def select_usergroupdata_data(project,data_id):
403403 result = do_tidb_select (sql = sql )
404404 return result [0 ],result [1 ]
405405
406- def insert_noti (project ,type_1 ,created_at ,updated_at ,distinct_id ,content ,send_at ,plan_id = 0 ,list_id = 0 ,data_id = 0 ,temple_id = 0 ,noti_group_id = 0 ,priority = 13 ,status = 9 ,owner = 'noti' ,recall_result = None ):
406+ def insert_noti (project ,type_1 ,created_at ,updated_at ,distinct_id ,content ,send_at ,plan_id = 0 ,list_id = 0 ,data_id = 0 ,temple_id = 0 ,noti_group_id = 0 ,priority = 13 ,status = 9 ,owner = 'noti' ,recall_result = None , key = None , level = None ):
407407 import json
408- sql = """insert ignore {project}_noti (`distinct_id`,`plan_id`,`list_id`,`data_id`,`temple_id`,`noti_group_id`,`priority`,`status`,`owner`,`type`,`content`,`send_at`,`recall_result`,`created_at`,`updated_at`) values (%(distinct_id)s,%(plan_id)s,%(list_id)s,%(data_id)s,%(temple_id)s,%(noti_group_id)s,%(priority)s,%(status)s,%(owner)s,%(type)s,%(content)s,%(send_at)s,%(recall_result)s,%(created_at)s,%(updated_at)s)""" .format (project = project )
409- key = {'distinct_id' :distinct_id ,'type' :type_1 ,'plan_id' :plan_id ,'list_id' :list_id ,'data_id' :data_id ,'temple_id' :temple_id ,'noti_group_id' :noti_group_id ,'priority' :priority ,'status' :status ,'owner' :owner ,'content' :json .dumps (content ),'recall_result' :recall_result ,'send_at' :send_at if send_at else int (time .time ()),'created_at' :created_at if created_at else int (time .time ()),'updated_at' :updated_at if updated_at else int (time .time ())}
408+ sql = """insert ignore {project}_noti (`distinct_id`,`plan_id`,`list_id`,`data_id`,`temple_id`,`noti_group_id`,`priority`,`status`,`owner`,`type`,`content`,`send_at`,`recall_result`,`created_at`,`updated_at`,`key`,`level` ) values (%(distinct_id)s,%(plan_id)s,%(list_id)s,%(data_id)s,%(temple_id)s,%(noti_group_id)s,%(priority)s,%(status)s,%(owner)s,%(type)s,%(content)s,%(send_at)s,%(recall_result)s,%(created_at)s,%(updated_at)s,%(key)s,%(level )s)""" .format (project = project )
409+ key = {'key' : key , ' distinct_id' :distinct_id ,'type' :type_1 ,'plan_id' :plan_id ,'list_id' :list_id ,'data_id' :data_id ,'temple_id' :temple_id ,'noti_group_id' :noti_group_id ,'priority' :priority ,'status' :status ,'owner' :owner ,'content' :json .dumps (content ),'recall_result' :recall_result ,'send_at' :send_at if send_at else int (time .time ()),'created_at' :created_at if created_at else int (time .time ()),'updated_at' :updated_at if updated_at else int (time .time ()), 'level' : level }
410410 result = do_tidb_exe (sql = sql , args = key )
411411 return result [0 ],result [1 ]
412412
@@ -776,4 +776,133 @@ def show_scheduler_jobs_count_db():
776776 sql = f"""select count(*)
777777 from scheduler_jobs """
778778 result = do_tidb_select (sql = sql )
779+ return result
780+
781+ def insert_update_recall_blacklist (project ,key ,type_id ,status ,reason_id ,latest_owner ,distinct_id = '' ,timenow = None ):
782+ sql = """INSERT INTO `recall_blacklist` ( `project`, `distinct_id`, `key`, `type_id`, `reason_id`, `owner`, `latest_owner`, `status`, `created_at` ,`updated_at`)
783+ VALUES
784+ (%(project)s,%(distinct_id)s,%(key)s,%(type_id)s,%(reason_id)s,%(owner)s,%(latest_owner)s,%(status)s,%(created_at)s,%(updated_at)s)
785+ ON DUPLICATE KEY UPDATE `reason_id` =IF(%(reason_id)s != 0 ,%(reason_id)s, reason_id ),`status` =IF(%(status)s != 0,%(status)s, status ),`distinct_id` = IF(%(distinct_id)s != '',%(distinct_id)s, distinct_id ),latest_owner =%(latest_owner)s,updated_at =%(updated_at)s;"""
786+ timenow = int (time .time ()) if not timenow else timenow
787+ key = {'project' :project ,'distinct_id' :distinct_id ,'key' :key ,'type_id' :type_id ,'reason_id' :reason_id ,'owner' :latest_owner ,'latest_owner' :latest_owner ,'status' :status ,'created_at' :timenow ,'updated_at' :timenow }
788+ result = do_tidb_exe (sql = sql , args = key )
789+ return result
790+
791+ def insert_recall_blacklist (project ,key ,type_id ,status ,reason_id ,latest_owner ,distinct_id = '' ,timenow = None ):
792+ sql = """INSERT INTO `recall_blacklist` ( `project`, `distinct_id`, `key`, `type_id`, `reason_id`, `owner`, `latest_owner`, `status`, `created_at` ,`updated_at`)
793+ VALUES
794+ (%(project)s,%(distinct_id)s,%(key)s,%(type_id)s,%(reason_id)s,%(owner)s,%(latest_owner)s,%(status)s,%(created_at)s,%(updated_at)s);"""
795+ timenow = int (time .time ()) if not timenow else timenow
796+ key = {'project' :project ,'distinct_id' :distinct_id ,'key' :key ,'type_id' :type_id ,'reason_id' :reason_id ,'owner' :latest_owner ,'latest_owner' :latest_owner ,'status' :status ,'created_at' :timenow ,'updated_at' :timenow }
797+ result = do_tidb_exe (sql = sql , args = key )
798+ return result
799+
800+ def update_recall_blacklist (project ,key ,type_id ,status ,reason_id ,latest_owner ,distinct_id = '' ,timenow = None ):
801+ sql = """UPDATE `recall_blacklist` set `reason_id` =IF(%(reason_id)s != 0 ,%(reason_id)s, reason_id ),`status` =IF(%(status)s != 0,%(status)s, status ),`distinct_id` = IF(%(distinct_id)s != '',%(distinct_id)s, distinct_id ),latest_owner =%(latest_owner)s,updated_at =%(updated_at)s;"""
802+ timenow = int (time .time ()) if not timenow else timenow
803+ key = {'project' :project ,'distinct_id' :distinct_id ,'key' :key ,'type_id' :type_id ,'reason_id' :reason_id ,'owner' :latest_owner ,'latest_owner' :latest_owner ,'status' :status ,'created_at' :timenow ,'updated_at' :timenow }
804+ result = do_tidb_exe (sql = sql , args = key )
805+ return result
806+
807+
808+ def insert_recall_blacklist_reason (rbid ,reason_id ,reason_owner ,final_status_id ,reason_comment = '' ,timenow = None ):
809+ sql = """insert into `recall_blacklist_reason` (`rbid`,`reason_id`,`reason_owner`,`reason_comment`,`final_status_id`,`created_at`) VALUES (%(rbid)s,%(reason_id)s,%(reason_owner)s,%(reason_comment)s,%(final_status_id)s,%(created_at)s)"""
810+ timenow = int (time .time ()) if not timenow else timenow
811+ key = {'rbid' :rbid ,'reason_id' :reason_id ,'reason_owner' :reason_owner ,'reason_comment' :reason_comment ,'final_status_id' :final_status_id ,'created_at' :timenow }
812+ result = do_tidb_exe (sql = sql , args = key )
813+ return result
814+
815+ def select_recall_blacklist_id (type_id ,distinct_id = None ,key = None ,project = None ,status = None ,limit = None ):
816+ add_on_status = ''
817+ add_limit = ''
818+ add_fliter = ''
819+ if limit :
820+ add_limit = 'limit ' + str (int (limit ))
821+ if distinct_id :
822+ add_fliter = add_fliter + f' and recall_blacklist.`distinct_id` = "{ distinct_id } "'
823+ if key :
824+ add_fliter = add_fliter + f' and recall_blacklist.`key` = "{ key } "'
825+ if project :
826+ add_fliter = add_fliter + f' and recall_blacklist.`project` = "{ project } "'
827+ if status :
828+ status_int = []
829+ for s in status :
830+ status_int .append (str (int (s )))
831+ add_on_status = "and recall_blacklist.status in (" + "," .join (status_int )+ ")"
832+
833+ sql = """SELECT
834+ recall_blacklist.id,
835+ recall_blacklist.reason_id,
836+ r_id.`desc`,
837+ recall_blacklist.`owner`,
838+ recall_blacklist.latest_owner,
839+ recall_blacklist.`status`,
840+ s_id.`desc`,
841+ cast(FROM_UNIXTIME(recall_blacklist.created_at) as char),
842+ cast(FROM_UNIXTIME(recall_blacklist.updated_at) as char),
843+ recall_blacklist_reason.final_status_id,
844+ s2_id.`desc`,
845+ recall_blacklist_reason.reason_id,
846+ r2_id.`desc`,
847+ recall_blacklist_reason.reason_owner,
848+ recall_blacklist_reason.reason_comment,
849+ cast(FROM_UNIXTIME(recall_blacklist_reason.created_at) as char)
850+ FROM
851+ recall_blacklist
852+ JOIN recall_blacklist_reason ON recall_blacklist.id = recall_blacklist_reason.rbid
853+ join status_code as r_id on recall_blacklist.reason_id = r_id.id
854+ join status_code as s_id on recall_blacklist.`status` = s_id.id
855+ join status_code as r2_id on recall_blacklist_reason.`reason_id` = r2_id.id
856+ join status_code as s2_id on recall_blacklist_reason.`final_status_id` = s2_id.id
857+ where recall_blacklist.type_id = {type_id} {add_fliter} {add_on_status}
858+ ORDER BY
859+ recall_blacklist_reason.created_at DESC {add_limit} ;""" .format (type_id = type_id ,add_fliter = add_fliter ,add_on_status = add_on_status ,add_limit = add_limit )
860+ result = do_tidb_select (sql = sql )
861+ return result
862+
863+ def select_recall_blacklist_list (type_id ,distinct_id = None ,project = None ,status = None ,start = None ,limit = None ):
864+ add_on_status = ''
865+ add_limit = ''
866+ add_fliter = ''
867+ if not start :
868+ start = 0
869+ if limit :
870+ add_limit = f'limit { start } ,{ limit } '
871+ if distinct_id :
872+ add_fliter = add_fliter + f' and recall_blacklist.`distinct_id` = "{ distinct_id } "'
873+ if project :
874+ add_fliter = add_fliter + f' and recall_blacklist.`project` = "{ project } "'
875+ if status :
876+ status_int = []
877+ for s in status :
878+ status_int .append (str (int (s )))
879+ add_on_status = "and recall_blacklist.status in (" + "," .join (status_int )+ ")"
880+
881+ sql = """SELECT
882+ recall_blacklist.id,
883+ recall_blacklist.reason_id,
884+ r_id.`desc`,
885+ recall_blacklist.`owner`,
886+ recall_blacklist.latest_owner,
887+ recall_blacklist.`status`,
888+ s_id.`desc`,
889+ cast(FROM_UNIXTIME(recall_blacklist.created_at) as char),
890+ cast(FROM_UNIXTIME(recall_blacklist.updated_at) as char)
891+ FROM
892+ recall_blacklist
893+ join status_code as r_id on recall_blacklist.`reason_id` = r_id.id
894+ join status_code as s_id on recall_blacklist.`status` = s_id.id
895+ where recall_blacklist.type_id = {type_id} {add_fliter} {add_on_status} {add_limit} ;""" .format (type_id = type_id ,add_fliter = add_fliter ,add_on_status = add_on_status ,add_limit = add_limit )
896+ result = do_tidb_select (sql = sql )
897+ return result
898+
899+
900+
901+
902+
903+ def insert_recall_blacklist_history (rbid ,checker ,result_status_id ,result_reason_id ,timenow = None ):
904+ sql = """insert into `recall_blacklist_history` (`rbid`,`checker`,`result_status_id`,`result_reason_id`,`created_at`) VALUES (%(rbid)s,%(checker)s,%(result_status_id)s,%(result_reason_id)s,%(created_at)s)"""
905+ timenow = int (time .time ()) if not timenow else timenow
906+ key = {'rbid' :rbid ,'checker' :checker ,'result_status_id' :result_status_id ,'result_reason_id' :result_reason_id ,'created_at' :timenow }
907+ result = do_tidb_exe (sql = sql , args = key )
779908 return result
0 commit comments