Пример #1
0
 public static function storeKarmacirclesRelation($giver, $receiver)
 {
     //echo 'here';die;
     if (!empty($giver) && !empty($receiver)) {
         $checkKarmacircleCount = DB::table('user_karmacircles')->where('user_karmacircles.user_id', '=', $giver)->where('user_karmacircles.peer_id', '=', $receiver)->count();
         if ($checkKarmacircleCount < 1) {
             $karmaCircleUser = new Userskarmacircle();
             $karmaCircleUser->user_id = $giver;
             $karmaCircleUser->peer_id = $receiver;
             $karmaCircleUser->receiver = 1;
             $karmaCircleUser->receiver_date = Carbon::now();
             $karmaCircleUser->save();
         } else {
             $checkKarmacircleReceiverFlag = DB::table('user_karmacircles')->where('user_karmacircles.user_id', '=', $giver)->where('user_karmacircles.peer_id', '=', $receiver)->first();
             if (!empty($checkKarmacircleReceiverFlag)) {
                 $currentTime = Carbon::now();
                 $result = DB::table('user_karmacircles')->where('user_karmacircles.user_id', '=', $giver)->where('user_karmacircles.peer_id', '=', $receiver)->update(array('receiver' => '1', 'receiver_date' => $currentTime));
             }
         }
     }
     if (!empty($giver) && !empty($receiver)) {
         $karmacircleCount = DB::table('user_karmacircles')->where('user_karmacircles.user_id', '=', $receiver)->where('user_karmacircles.peer_id', '=', $giver)->count();
         if ($karmacircleCount < 1) {
             $karmaCircleUserData = new Userskarmacircle();
             $karmaCircleUserData->user_id = $receiver;
             $karmaCircleUserData->peer_id = $giver;
             $karmaCircleUserData->giver = 1;
             $karmaCircleUserData->giver_date = Carbon::now();
             $karmaCircleUserData->save();
         } else {
             $checkKarmacircleReceiverFlag = DB::table('user_karmacircles')->where('user_karmacircles.user_id', '=', $receiver)->where('user_karmacircles.peer_id', '=', $giver)->first();
             if (!empty($checkKarmacircleReceiverFlag)) {
                 $currentTime = Carbon::now();
                 $result = DB::table('user_karmacircles')->where('user_karmacircles.user_id', '=', $receiver)->where('user_karmacircles.peer_id', '=', $giver)->update(array('giver' => '1', 'giver_date' => $currentTime));
             }
         }
     }
     return true;
 }
Пример #2
0
 public static function storeKarmacirclesRelationCron()
 {
     $giver = 1288;
     $receiver = 1395;
     $currentDate = Carbon::now();
     $giverReceiverData = DB::select(DB::raw("SELECT DISTINCT user_idgiver As giver,user_idreceiver As receiver FROM karmanotes WHERE created_at > DATE_SUB(NOW(), INTERVAL 2 DAY)"));
     echo '<pre>';
     print_r($giverReceiverData);
     die;
     //All the karmanotes sends by the users.
     if (!empty($giverReceiverData)) {
         $giversGiver = DB::select(DB::raw("select peer_id as Id from user_karmacircles where user_id=" . $giver . " AND giver='1' AND Id NOT IN (select peer_id from user_karmacircles where user_id=" . $receiver . " AND givers_giver='1')"));
         //Fetch the list of all Peers where User is A and Giver flag is set and not in (all Peers where User is B and GiversGiver flag is is set)
         //echo '<pre>';print_r($giversGiver);die;
         foreach ($giversGiver as $key => $value) {
             $value = $value->Id;
             $checkGiverData = DB::select(DB::raw("select count(id) as rowCount from user_karmacircles where user_id=" . $receiver . " AND peer_id=" . $value));
             $checkGiverData = $checkGiverData[0]->rowCount;
             //Insert a row with B as User, P as Peer and GiversGiver flag = True all other flags zero with GG_Date updated
             if ($checkGiverData < 1) {
                 $peerId = $value;
                 $karmaCircle = new Userskarmacircle();
                 $karmaCircle->user_id = $receiver;
                 $karmaCircle->peer_id = $peerId;
                 $karmaCircle->givers_giver = 1;
                 $karmaCircle->givers_giver_date = Carbon::now();
                 $karmaCircle->save();
             } else {
                 $checkGiversFlag = DB::select(DB::raw("select count(id) as rowCount from user_karmacircles where user_id=" . $receiver . " AND peer_id=" . $value . " AND givers_giver=1"));
                 $checkGiversFlag = $checkGiversFlag[0]->rowCount;
                 //set givers_giver flag.
                 if ($checkGiversFlag < 1) {
                     $result = DB::table('user_karmacircles')->where('user_id', '=', $receiver)->where('peer_id', '=', $value)->update(array('givers_giver' => '1', 'givers_giver_date' => $currentDate));
                 }
             }
             $checkReceiverData = DB::select(DB::raw("select count(*) as rowCount from user_karmacircles where user_id=" . $value . " AND peer_id=" . $receiver));
             $checkReceiverData = $checkReceiverData[0]->rowCount;
             if ($checkReceiverData < 1) {
                 $peerId = $value;
                 $karmaCircle = new Userskarmacircle();
                 $karmaCircle->user_id = $peerId;
                 $karmaCircle->peer_id = $receiver;
                 $karmaCircle->receivers_receiver = 1;
                 $karmaCircle->receivers_receiver_date = Carbon::now();
                 $karmaCircle->save();
             } else {
                 $checkReceiversFlag = DB::select(DB::raw("select count(*) as rowCount from user_karmacircles where user_id=" . $value . " AND peer_id=" . $receiver . " And receivers_receiver=1"));
                 $checkReceiversFlag = $checkReceiversFlag[0]->rowCount;
                 if ($checkReceiversFlag < 1) {
                     $result = DB::table('user_karmacircles')->where('peer_id', '=', $receiver)->where('user_id', '=', $value)->update(array('receivers_receiver' => '1', 'receivers_receiver_date' => $currentDate));
                 }
             }
         }
     }
     $receiversReceiver = DB::select(DB::raw("select peer_id as Id from user_karmacircles where user_id=" . $receiver . " AND receiver='1' AND Id NOT IN (select peer_id from user_karmacircles where user_id=" . $giver . " AND receivers_receiver='1')"));
     foreach ($receiversReceiver as $key => $value) {
         $value = $value->Id;
         $checkReceiverData = DB::select(DB::raw("select count(*) as rowCount from user_karmacircles where user_id=" . $value . " AND peer_id=" . $giver));
         $checkReceiverData = $checkReceiverData[0]->rowCount;
         if ($checkReceiverData < 1) {
             $peerId = $value;
             $karmaCircle = new Userskarmacircle();
             $karmaCircle->user_id = $peerId;
             $karmaCircle->peer_id = $giver;
             $karmaCircle->givers_giver = 1;
             $karmaCircle->givers_giver_date = Carbon::now();
             $karmaCircle->save();
         } else {
             $checkReceiversCount = DB::select(DB::raw("select count(id) as rowCount from user_karmacircles where user_id=" . $value . " AND peer_id=" . $giver . " And givers_giver=1"));
             $checkReceiversCount = $checkReceiversCount[0]->rowCount;
             if ($checkReceiversCount < 1) {
                 $result = DB::table('user_karmacircles')->where('user_id', '=', $value->Id)->where('peer_id', '=', $giver)->update(array('givers_giver' => '1', 'givers_giver_date' => $currentDate));
             }
         }
         $checkGiverData = DB::select(DB::raw("select count(*) as rowCount from user_karmacircles where user_id=" . $giver . " AND peer_id=" . $value));
         $checkGiverData = $checkGiverData[0]->rowCount;
         if ($checkGiverData < 1) {
             $peerId = $value;
             $karmaCircle = new Userskarmacircle();
             $karmaCircle->user_id = $giver;
             $karmaCircle->peer_id = $peerId;
             $karmaCircle->receivers_receiver = 1;
             $karmaCircle->receivers_receiver_date = Carbon::now();
             $karmaCircle->save();
         } else {
             $checkGiversCount = DB::select(DB::raw("select count(id) as rowCount from user_karmacircles where user_id=" . $giver . " AND peer_id=" . $value . " And receivers_receiver=1"));
             $checkGiversCount = $checkGiversCount[0]->rowCount;
             if ($checkGiversCount < 1) {
                 $result = DB::table('user_karmacircles')->where('peer_id', '=', $value)->where('user_id', '=', $giver)->update(array('receivers_receiver' => '1', 'receivers_receiver_date' => $currentDate));
             }
         }
     }
 }