/** * 获得用户在项目中的权限信息 * @param $user * @param $project */ function biz_getUserProjectRight($userGUID = '', $projGUID = '') { global $_W; if (empty($userGUID)) { $userGUID = isset($_W['user']['UserGUID']) ? $_W['user']['UserGUID'] : $_W['uid']; } if (empty($projGUID)) { $projGUID = $_W['project']['projguid']; } $callback = function () use($userGUID, $projGUID) { return db_getUserProjectRight($userGUID, $projGUID); }; $key = $projGUID . '_' . $userGUID; return cache_GetData($key, $callback, 1800); }
function biz_getInvoice($InvoGUID) { $key = 'Invo_' . $InvoGUID; $callback = function () use($InvoGUID) { return db_getInvoiceById($InvoGUID); }; return cache_GetData($key, $callback); }
/** *获得签到全局表信息 * 自动增加组 * @param $pid 项目id */ function getGlobalSign($project) { global $_W; $key = 'sign_' . $project['projguid']; $singset = biz_unserializer($project, 'signset'); $max = empty($singset['num']) ? 10 : $singset['num']; $info = memcached_get($key); $reset = empty($info) || $info['group']['maxnum'] >= $max; if ($reset) { memcached_delete($key); $index = 1; if (!empty($info['group']['dispnum'])) { $index = $info['group']['dispnum']; } //获取组号 $callback = function () use($index, $max, $project) { $info['maxnum'] = $max; //获取未签到组列表 $info['group'] = Sign_GetEmptyGroup($index, $max, $project['id']); $info['group']['maxnum']++; return $info; }; $info = cache_GetData($key, $callback, 1800); } else { $info['group']['maxnum']++; memcached_set($key, $info, 1800); } return $info; }