/** * 扫码送网薪接口 * @param string $num 厦大学号 * @param int $award 发放网薪额度 * @param string $act 扫码活动md5 * @param string $end 扫码活动结束时间 * @return string 网薪发放情况 * @author Nili */ public static function pay($num, $award, $act, $end) { $yibanInfo = Data_Db::getYibanInfoByXmuNum($num); $key = 'rollcall_' . $act . '_award' . $num; $cache = Vera_Cache::getInstance(); if (!empty($cache->get($key))) { return '您已在该活动获得过网薪'; } if (!$yibanInfo['yiban_islinked']) { return '未绑定易班身份,无法获得网薪'; } if ($yibanInfo['expire_time'] < date('Y-m-d H:i:s')) { return '易班身份已过期,无法获得网薪'; } Vera_Autoload::changeApp('yiban'); $ret = Data_Yiban::awardSalary($yibanInfo['yiban_uid'], $yibanInfo['access_token'], $award); Vera_Autoload::reverseApp(); if ($ret) { $cache->set($key, 1, $end); return "{$award}网薪已发往您的账户"; } else { return ''; //网薪发放失败 } }
/** * 幸运日辅助函数 * @param array $dbRes 身份信息,学号,易班id等 * @return string 发网薪的msg * @author nili */ public function awardTmpLuck($dbRes) { if (Data_Db::getTodayLog($dbRes['yiban_uid'])) { return "您今日抽奖次数已用完,下次再来~"; } $award = (rand() % 5 + 1) * 100; $msg = "你抽中了{$award}网薪,"; $validAccessToken = Data_Db::getValidAccessToken($dbRes['yiban_uid']); if (!$validAccessToken) { $msg .= "但是易班身份已过期,可以重新绑定再来抽奖~"; return $msg; } Data_Db::insertLog($dbRes['yiban_uid'], $dbRes['xmu_num'], $award); $requestUri = $_SERVER['REQUEST_URI']; Vera_Autoload::setApp('yiban'); $_SERVER['REQUEST_URI'] = '/wechat/tmpLuck'; $awardRes = Data_Yiban::awardSalary($dbRes['yiban_uid'], $validAccessToken, $award); Vera_Autoload::setApp('wechat'); $_SERVER['REQUEST_URI'] = $requestUri; if ($awardRes) { $msg .= '网薪已发放至您的账户。'; } else { $msg .= '未知原因发网薪失败,可截图找管理员找回~'; } return $msg; }