예제 #1
0
 public static function payitem_cost($item_code, $use_num = '1', $obj_type = false, $use_type = 'buy', $obj_id = null, $origin_id = null)
 {
     global $uid, $username;
     global $_lang;
     $payitem_config = self::get_payitem_config(null, null, $item_code, 'item_code');
     $use_cash = $payitem_config['item_cash'] * $use_num;
     if ($use_type == 'buy' && $use_cash) {
         $data = array(':item_name' => $payitem_config['item_name']);
         keke_finance_class::init_mem('payitem', $data);
         $use_cash > 0 and $fid_cash = keke_finance_class::cash_out($uid, $use_cash, 'payitem', $use_cash, '', 'payitem');
         $fid_cash or kekezu::show_msg($_lang['friendly_notice'], 'index.php?do=user&view=finance&op=recharge', 3, $_lang['your_balance_not_enough']);
     }
     $record_obj = new Keke_witkey_payitem_record_class();
     $record_obj->_record_id = null;
     $record_obj->setItem_code($item_code);
     $record_obj->setUid($uid);
     $record_obj->setUsername($username);
     $record_obj->setUse_type($use_type);
     $record_obj->setUse_cash($use_cash);
     $record_obj->setUse_num(intval($use_num));
     $record_obj->setObj_type($obj_type);
     $record_obj->setObj_id($obj_id);
     $record_obj->setOrigin_id($origin_id);
     $record_obj->setOn_time(time());
     $record_id = $record_obj->create_keke_witkey_payitem_record();
     return $record_id;
 }
예제 #2
0
 public static function createPayitemRecord($item, $num, $type, $objId)
 {
     if (TOOL === TRUE) {
         if ($type == 'task') {
             $objInfo = db_factory::get_one(sprintf("select * from %switkey_task where task_id='%d'", TABLEPRE, $objId));
         } else {
             $objInfo = db_factory::get_one(sprintf("select * from %switkey_service where service_id='%d'", TABLEPRE, $objId));
         }
         $uid = $objInfo['uid'];
         $username = $objInfo['username'];
         $arrPayitemLists = self::getPayitemList($type);
         $data = array(':item_name' => $arrPayitemLists[$item]['item_name']);
         keke_finance_class::init_mem('payitem', $data);
         $cash = $num * $arrPayitemLists[$item]['item_cash'];
         if ($cash) {
             $intFinaId = keke_finance_class::cash_out($uid, $cash, 'payitem', $cash, $type, $objId);
         } else {
             $intFinaId = 1;
         }
         if ($intFinaId) {
             $objRecord = new Keke_witkey_payitem_record_class();
             $objRecord->setItem_code($item);
             $objRecord->setUid($uid);
             $objRecord->setUsername($username);
             $objRecord->setUse_cash($cash);
             $objRecord->setUse_num(intval($num));
             $objRecord->setObj_type($type);
             $objRecord->setObj_id($objId);
             $objRecord->setOn_time(time());
             if ($item == 'tasktop' || $item == 'goodstop') {
                 $arrRecordInfo = self::getPayitemRecord($type, $objId, $item);
                 if ($arrRecordInfo) {
                     $objRecord->setWhere("record_id=" . intval($arrRecordInfo['record_id']));
                     if (time() < $arrRecordInfo['end_time']) {
                         $objRecord->setEnd_time($arrRecordInfo['end_time'] + 24 * 3600 * $num);
                     } else {
                         $objRecord->setEnd_time(time() + 24 * 3600 * $num);
                     }
                     $objRecord->edit_keke_witkey_payitem_record();
                 } else {
                     $objRecord->setEnd_time(time() + 24 * 3600 * $num);
                     $objRecord->create_keke_witkey_payitem_record();
                 }
             } else {
                 $res = $objRecord->create_keke_witkey_payitem_record();
             }
             self::updateObjStatus($item, $type, $objId);
         }
     }
 }