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; }
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(); } } } }