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