Ejemplo n.º 1
0
 public static function payoutWS($acc)
 {
     $agent_id = $acc->admin_id;
     $mon = isset($_GET['mon']) ? addslashes($_GET['mon']) : date("n");
     $y = isset($_GET['y']) ? addslashes($_GET['y']) : date("Y");
     $json['acc_id'] = $acc->admin_id;
     $json['mon'] = $mon;
     $json['y'] = $y;
     $arr = AppearSales::getPayoutArray($acc->admin_id, $mon, $y);
     foreach ($arr['pertama'] as $tt) {
         $app = new AppAccount();
         $app->getByID($tt->komisi_app_id);
         $acc = new Account();
         $acc->getByID($tt->komisi_app_client_id);
         $paket = new Paket();
         $paket->getByID($tt->komisi_paket_id);
         $earn = array();
         $earn['order_id'] = $tt->komisi_order_id;
         $earn['komisi_app_date'] = $tt->komisi_app_date;
         $earn['app_name'] = $app->app_name;
         $earn['app_id'] = $app->app_id;
         $earn['client_name'] = $acc->admin_nama_depan;
         $earn['paket_id'] = $paket->paket_id;
         $earn['paket_name'] = $paket->paket_name;
         //            $earn['komisi_tingtong'] = $tt->komisi_ting_tong;
         //            $earn['komisi_tingtong_date'] = $tt->komisi_tingtong_date;
         $earn['komisi_bagi_pertama_value'] = $tt->komisi_bagi_pertama_value;
         $earn['komisi_bagi_pertama_date'] = date("F Y", strtotime($tt->komisi_bagi_pertama_date));
         $earn['komisi_bagi_kedua_value'] = $tt->komisi_bagi_kedua_value;
         $earn['komisi_bagi_kedua_date'] = date("F Y", strtotime($tt->komisi_bagi_kedua_date));
         $earn['total_komisi'] = $tt->komisi_value;
         $json['payout']['first'][] = $earn;
     }
     foreach ($arr['kedua'] as $tt) {
         $app = new AppAccount();
         $app->getByID($tt->komisi_app_id);
         $acc = new Account();
         $acc->getByID($tt->komisi_app_client_id);
         $paket = new Paket();
         $paket->getByID($tt->komisi_paket_id);
         $earn = array();
         $earn['order_id'] = $tt->komisi_order_id;
         $earn['komisi_app_date'] = $tt->komisi_app_date;
         $earn['app_name'] = $app->app_name;
         $earn['app_id'] = $app->app_id;
         $earn['client_name'] = $acc->admin_nama_depan;
         $earn['paket_id'] = $paket->paket_id;
         $earn['paket_name'] = $paket->paket_name;
         //            $earn['komisi_tingtong'] = $tt->komisi_ting_tong;
         //            $earn['komisi_tingtong_date'] = $tt->komisi_tingtong_date;
         $earn['komisi_bagi_pertama_value'] = $tt->komisi_bagi_pertama_value;
         $earn['komisi_bagi_pertama_date'] = date("F Y", strtotime($tt->komisi_bagi_pertama_date));
         $earn['komisi_bagi_kedua_value'] = $tt->komisi_bagi_kedua_value;
         $earn['komisi_bagi_kedua_date'] = date("F Y", strtotime($tt->komisi_bagi_kedua_date));
         $earn['total_komisi'] = $tt->komisi_value;
         $json['payout']['kedua'][] = $earn;
     }
     foreach ($arr['bonus'] as $tt) {
         $app = new BonusKomisi();
         $app->getByID($tt->bagi_bk_id);
         $acc = new Account();
         $acc->getByID($tt->bagi_acc_id);
         $earn = array();
         $earn['bonus_name'] = "Bonus " . $tt->bagi_bk_id;
         $earn['bonus_date'] = $tt->bagi_date_acquire;
         $earn['bonus_value'] = $tt->bagi_value;
         $json['payout']['bonus'][] = $earn;
     }
     $json['payout_total'] = AppearSales::calculatePayout($agent_id, $mon, $y)['total'];
     $json['status_code'] = 1;
     $json['status_message'] = "Success";
     echo json_encode($json);
     die;
 }
Ejemplo n.º 2
0
 public static function log($app, $vpt)
 {
     if ($app->app_active != 1) {
         die("App harus active utk dapat komisi");
     }
     $acc = new Account();
     $acc->getByID($app->app_client_id);
     //        AppAccount::checkOwnership($app);
     if ($acc->admin_marketer != "") {
         $arrAcc = $acc->getWhere("admin_username = '******' LIMIT 0,1");
         if (count($arrAcc) > 0) {
             $marketer = $arrAcc[0];
         } else {
             //set default marketer to 7 /elroy
             $marketer = new Account();
             $marketer->getByID(Efiwebsetting::getData("Default_Agent_ID"));
         }
     } else {
         //set default marketer to 7 /elroy
         $marketer = new Account();
         $marketer->getByID(Efiwebsetting::getData("Default_Agent_ID"));
     }
     $paket = new Paket();
     $paket->getByID($app->app_paket_id);
     $komisi = new KomisiModel();
     $komisi->komisi_acc_id = $marketer->admin_id;
     $komisi->komisi_app_client_id = $app->app_client_id;
     $komisi->komisi_app_date = leap_mysqldate();
     $komisi->komisi_app_id = $app->app_id;
     $komisi->komisi_paket_id = $paket->paket_id;
     $komisi->komisi_value = $paket->paket_komisi;
     $komisi->komisi_status = 0;
     //blm dibayarkan
     $komisi->komisi_sisa = $paket->paket_komisi;
     $komisi->komisi_order_id = $vpt->order_id;
     $komisi->komisi_bagi_pertama_value = $paket->paket_komisi_satu;
     $komisi->komisi_bagi_kedua_value = $paket->paket_komisi_dua;
     //langsung save datenya saja sehingga gampang
     $pay1_date = getFirstDayOfNextMonth(date("n", strtotime($komisi->komisi_app_date)), date("Y", strtotime($komisi->komisi_app_date)));
     $pay2_date = getFirstDayOfNext4Month(date("n", strtotime($komisi->komisi_app_date)), date("Y", strtotime($komisi->komisi_app_date)));
     if ($paket->paket_id != 1) {
         $komisi->komisi_bagi_pertama_date = $pay1_date;
         $komisi->komisi_bagi_kedua_date = $pay2_date;
     }
     $succ = $komisi->save();
     if ($succ) {
         $isPending = 0;
         if ($paket->paket_id == 1) {
             $isPending = 1;
         }
         //email dpt komisi
         $dpt = new DataEmail();
         $dpt->dapatKomisi($marketer->admin_email, $paket->paket_komisi, $isPending, $acc->admin_nama_depan, $marketer->admin_isAgent);
         //tambah counter paket //atau ambil counter paket disini
         if ($paket->paket_id == 1) {
             //free
             //check sudah ada brp paid yang sudah dibayar dll
             //cek apa bisa tingtong
             self::checkTingTongFree($app, $marketer, $succ, $paket, $acc, "free");
             $komisi = new KomisiModel();
             $nr = $komisi->getJumlah("komisi_acc_id = '{$marketer->admin_id}' AND komisi_paket_id = 1");
             $marketer->admin_total_free_sales = $nr;
             $marketer->load = 1;
             $marketer->save();
         } else {
             //pakai BagiKomisi
             //cek apa bisa di tingtong
             self::checkTingTongFree($app, $marketer, $succ, $paket, $acc, "paid");
             $komisi = new KomisiModel();
             $nr = $komisi->getJumlah("komisi_acc_id = '{$marketer->admin_id}' AND (komisi_paket_id = 2 OR komisi_paket_id = 3)");
             $marketer->admin_total_paid_sales = $nr;
             $marketer->load = 1;
             $marketer->save();
             //cek sudah kena kelipatan 6 blom
             $bonus = new BonusKomisi();
             $bonus->getByID($nr);
             if ($bonus->bk_bonus_paid != "" && $bonus->bk_bonus_paid > 0) {
                 //masukan ke bonus
                 $bagiKomisi = new BagiKomisi();
                 $bagiKomisi->bagi_id = $marketer->admin_id . "_" . $nr;
                 $bagiKomisi->bagi_acc_id = $marketer->admin_id;
                 $bagiKomisi->bagi_bk_id = $nr;
                 $bagiKomisi->bagi_date_acquire = leap_mysqldate();
                 $bagiKomisi->bagi_status = 0;
                 //unpaid
                 $bagiKomisi->bagi_value = $bonus->bk_bonus_paid;
                 $bagiKomisi->save();
             }
         }
     }
 }