rajeevkgp

Cleanup groups in filter failure - apac2

Oct 17th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.20 KB | None | 0 0
  1. <?php
  2.         $veneno_dp_ip = $argv[1];
  3.         $veneno_username = $argv[2];
  4.         $veneno_password = $argv[3];
  5.  
  6.         $master_dp_ip = $argv[4];
  7.         $master_username = $argv[5];
  8.         $master_password = $argv[6];
  9.  
  10.         $veneno_conn = new mysqli($veneno_dp_ip, $veneno_username, $veneno_password);
  11.  
  12.         if($veneno_conn->connect_errno) {
  13.                 printf("Connect to veneno  $veneno_conn failed: %s\n", $mysqli->connect_error);
  14.                 exit();
  15.         }
  16.  
  17.         $master_conn = new mysqli($master_dp_ip, $master_username, $master_password);
  18.  
  19.         if($master_conn->connect_errno) {
  20.                 printf("Connect to master  $master_conn failed: %s\n", $mysqli->connect_error);
  21.                 exit();
  22.         }
  23.  
  24.         $uneven_group_ids_query = "SELECT org_id, campaign_id, group_id, max(IF(target_type='TEST',version_number,0)) as mxt, max(IF(target_type='CONTROL',version_number,0)) as mxc FROM campaign_meta_details.group_version_details GROUP BY group_id HAVING mxt <> mxc AND mxt > 0 AND mxc > 0";
  25.  
  26.         echo "group id query \n $uneven_group_ids_query";
  27.  
  28.         $uneven_group_ids_result = $veneno_conn->query($uneven_group_ids_query);
  29.  
  30.         while ($row = mysqli_fetch_assoc($uneven_group_ids_result)) {
  31.  
  32.                 echo " \n\n=======\n\n ";
  33.  
  34.                 $org_id = $row['org_id'];
  35.                 $campaign_id = $row['campaign_id'];
  36.                 $group_id = $row['group_id'];
  37.  
  38.                 echo "org id : $org_id campaign id : $campaign_id group id : $group_id\n";
  39.  
  40.                 $last_control_id_query = "SELECT id FROM campaign_meta_details.group_version_details WHERE org_id = ".$org_id." AND campaign_id = ".$campaign_id." AND group_id = ".$group_id." AND target_type = 'CONTROL'";
  41.  
  42.                 echo "(((last control id query))) : $last_control_id_query\n";
  43.  
  44.                 $last_control_id_result = $veneno_conn->query($last_control_id_query);
  45.  
  46.                 $lci_result = mysqli_fetch_assoc($last_control_id_result);
  47.  
  48.                 $last_control_id = $lci_result['id'];
  49.  
  50.                 echo "last control id : $last_control_id\n";
  51.  
  52.                 $mark_control_inactive_query = "UPDATE campaign_meta_details.group_version_details SET is_active = 0 WHERE org_id = ".$org_id." AND campaign_id = ".$campaign_id." AND group_id = ".$group_id." AND target_type = 'CONTROL' AND is_active = 1";
  53.  
  54.                 echo "(((mark control inactive query))) : $mark_control_inactive_query\n";
  55.  
  56.                 $veneno_conn->query($mark_control_inactive_query);
  57.  
  58.                 echo "Affected rows : " . mysqli_affected_rows($veneno_conn) ."\n";
  59.  
  60.                 $copy_control_query = "INSERT INTO campaign_meta_details.group_version_details (org_id, campaign_id, group_id, created_date, params, target_type, customer_count, version_number, is_active, last_updated_by) SELECT org_id, campaign_id, group_id, NOW(), params, target_type, customer_count, version_number, 1, last_updated_by FROM campaign_meta_details.group_version_details WHERE id = (SELECT id FROM campaign_meta_details.group_version_details WHERE org_id = ".$org_id." AND campaign_id = ".$campaign_id." AND group_id = ".$group_id." AND target_type = 'CONTROL' ORDER BY id DESC LIMIT 1)";
  61.  
  62.                 echo "(((copy control query))) : $copy_control_query\n";
  63.  
  64.                 $veneno_conn->query($copy_control_query);
  65.  
  66.                 echo "Affected rows : " . mysqli_affected_rows($veneno_conn) ."\n";
  67.  
  68.                 $new_control_id = $veneno_conn->insert_id;
  69.  
  70.                 echo "new control id : $new_control_id\n";
  71.  
  72.                 $update_control_version_number_query = "UPDATE campaign_meta_details.group_version_details SET version_number = version_number + 1 WHERE id = ".$new_control_id;
  73.  
  74.                 echo "(((update control version number query))) : $update_control_version_number_query\n";
  75.  
  76.                 $veneno_conn->query($update_control_version_number_query);
  77.  
  78.                 echo "Affected rows : " . mysqli_affected_rows($veneno_conn) ."\n";
  79.  
  80.                 $update_audience_group_query = "UPDATE campaigns.audience_groups SET params = ".$new_control_id." WHERE org_id = ".$org_id." AND campaign_id = ".$campaign_id." AND params = ".$last_control_id;
  81.  
  82.                 echo "(((update audience group query))) : $update_audience_group_query\n";
  83.  
  84.                 $master_conn->query($update_audience_group_query);
  85.  
  86.                 echo "Affected rows : " . mysqli_affected_rows($master_conn)."\n";
  87.  
  88.                 $last_two_test_ids_query = "SELECT id FROM campaign_meta_details.group_version_details WHERE group_id = ".$group_id."  AND org_id = ".$org_id." AND campaign_id =".$campaign_id." AND target_type = 'TEST' ORDER BY id DESC LIMIT 2";
  89.  
  90.                 echo "(((last two test ids query))) : $last_two_test_ids_query\n";
  91.  
  92.                 $last_two_test_ids_result = $veneno_conn->query($last_two_test_ids_query);
  93.  
  94.                 $last_test_id = 0;
  95.                 $second_last_test_id = 0;
  96.  
  97.                 while($id = mysqli_fetch_assoc($last_two_test_ids_result)) {
  98.                         if(!$last_test_id) $last_test_id = $id['id'];
  99.                         else $second_last_test_id = $id['id'];
  100.                 }
  101.  
  102.                 echo "last_test_id : $last_test_id, second_last_test_id : $second_last_test_id\n";
  103.  
  104.                 $update_message_queue_query = "UPDATE msging.message_queue SET group_id = ".$last_test_id." WHERE org_id = ".$org_id." AND campaign_id = ".$campaign_id." AND group_id = ".$second_last_test_id;
  105.  
  106.                 echo "(((update message queue query))) : $update_message_queue_query\n";
  107.  
  108.                 $master_conn->query($update_message_queue_query);
  109.  
  110.                 echo "Affected rows : " . mysqli_affected_rows($master_conn)."\n";
  111.  
  112.                 $update_reminder_query = "UPDATE user_management.reminder SET group_id = ".$last_test_id." WHERE org_id = ".$org_id." AND group_id = ".$second_last_test_id;
  113.  
  114.                 echo "(((update reminder query))) : $update_reminder_query\n";
  115.  
  116.                 $master_conn->query($update_reminder_query);
  117.  
  118.                 echo "Affected rows : " . mysqli_affected_rows($master_conn)."\n";
  119.  
  120.         }
  121.  
  122.         $veneno_conn->close();
  123.         $master_conn->close();
  124.        
  125.  
  126. ?>
Add Comment
Please, Sign In to add comment