def reviewPreExecute(request): '''内容预审核''' try: databaseid = int(request.POST.get('id',None)) content = request.POST.get('content',None) sql_id = request.POST.get('sqlid',None) sql_database_info = '''select host,user,passwd,port,db_name,creator from tb_databases_config where id={0}'''.format(databaseid) cursor = connections['default'].cursor() cursor.execute(sql_database_info) row = cursor.fetchone() logging.debug(sql_database_info) audit_sql = preAuditExecute(user=row[1],password=row[2],host=row[0],port=row[3],dbname=row[4],content=content) if request.method == "POST" and request.user.is_staff == 1: result = inceptionQuery(audit_sql) flag = [] for row in result: flag.append(row[2]) rep_str = row[5] strs = rep_str.replace("'","\\'") strss = strs.replace('"', "\\'") sql = '''REPLACE into tb_review_detail(tid,stage,errlevel,stagestatus,errormessage,`sql`,Affected_rows,sequence,backup_dbname,execute_time,sqlsha1,sql_id) values({0},"{1}",{2},"{3}","{4}",'{5}',{6},"{7}","{8}","{9}","{10}",{11}) ;''' .format(row[0],row[1],row[2],row[3],row[4],strss,row[6],row[7],row[8],row[9],row[10],sql_id) print sql cursor = connections['default'].cursor() cursor.execute(sql) cursor.close() return write(1) else: return write(0) except Exception,e: logging.error(e)
def reviewExecute(request): '''审核内容执行''' try: databaseid = int(request.POST.get('id',None)) content = request.POST.get('content',None) creatorid = request.POST.get('creator', None) sql_id = request.POST.get('sqlid',None) sql_database_info = '''select host,user,passwd,port,db_name,creator from tb_databases_config where id={0}'''.format(databaseid) cursor = connections['default'].cursor() cursor.execute(sql_database_info) row = cursor.fetchone() logging.debug(sql_database_info) audit_sql = Execute(user=row[1],password=row[2],host=row[0],port=row[3],dbname=row[4],content=content) if request.method == "POST" and request.user.is_staff == 1: result = inceptionQuery(audit_sql) flag = [] for row in result: flag.append(row[2]) rep_str = row[5] strs = rep_str.replace("'", "\\'") strss = strs.replace('"', "\\'") sql = '''REPLACE into tb_review_detail(tid,stage,errlevel,stagestatus,errormessage,`sql`,Affected_rows,sequence,backup_dbname,execute_time,sqlsha1,sql_id) values({0},"{1}",{2},"{3}","{4}","{5}",{6},"{7}","{8}","{9}","{10}",{11}) ;''' .format(row[0],row[1],row[2],row[3],row[4],strss,row[6],row[7],row[8],row[9],row[10],sql_id) cursor = connections['default'].cursor() cursor.execute(sql) cursor.close() title = '''SQL审核通知!''' falis_message = '''sqlid为{0}的审核未通过!''' .format(sql_id) suss_message = '''sqlid为{0}的已审核通过!''' .format(sql_id) sql_to_eamil = '''select username from auth_user where id= (select creator from tb_review where id={0})''' .format(sql_id) cursor = connections['default'].cursor() cursor.execute(sql_to_eamil) re_to_uname = cursor.fetchone() to_email = '*****@*****.**' % re_to_uname if 2 in flag: sql_flag ='''update tb_review set flag=1,review_id={0},review_time=now() where id={1}''' .format(request.user.id,sql_id) cursor = connections['default'].cursor() cursor.execute(sql_flag) em = sendEmail(title=title, message=falis_message, from_email=from_email, to_email=to_email) em.send() return write(0) else: sql_flag_02 = '''update tb_review set flag=2,review_id={0},review_time=now() where id={1}'''.format(request.user.id,sql_id) cursor = connections['default'].cursor() cursor.execute(sql_flag_02) em = sendEmail(title=title, message=suss_message, from_email=from_email, to_email=to_email) em.send() return write(1) else: return write(0) except Exception,e: logging.error(e)