src/Biz/Sms/SmsProcessor/LiveOpenLessonSmsProcessor.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Biz\Sms\SmsProcessor;
use AppBundle\Common\SmsToolkit;
use AppBundle\Common\ArrayToolkit;
use AppBundle\Common\StringToolkit;
use Biz\CloudPlatform\CloudAPIFactory;
use Biz\OpenCourse\OpenCourseException;
use Biz\OpenCourse\Service\OpenCourseService;
use Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder;
class LiveOpenLessonSmsProcessor extends BaseSmsProcessor
{
public function getUrls($targetId, $smsType)
{
$lesson = $this->getOpenCourseService()->getLesson($targetId);
$course = $this->getOpenCourseService()->getCourse($lesson['courseId']);
$count = 0;
$count = $this->getOpenCourseService()->countMembers(array('courseId' => $course['id']));
global $kernel;
$api = CloudAPIFactory::create('root');
$site = $this->getSettingService()->get('site');
$url = empty($site['url']) ? $site['url'] : rtrim($site['url'], ' \/');
for ($i = 0; $i <= intval($count / 1000); ++$i) {
$urls[$i] = empty($url) ? $kernel->getContainer()->get('router')->generate('edu_cloud_sms_send_callback', array('targetType' => 'liveOpenLesson', 'targetId' => $targetId), true) : $url.$kernel->getContainer()->get('router')->generate('edu_cloud_sms_send_callback', array('targetType' => 'liveOpenLesson', 'targetId' => $targetId));
$urls[$i] .= '?index='.($i * 1000);
$urls[$i] .= '&smsType='.$smsType;
$sign = $this->getSignEncoder()->encodePassword($urls[$i], $api->getAccessKey());
$sign = rawurlencode($sign);
$urls[$i] .= '&sign='.$sign;
}
return array('count' => $count, 'urls' => $urls);
}
public function getSmsInfo($targetId, $index, $smsType)
{
$lesson = $this->getOpenCourseService()->getLesson($targetId);
if (empty($lesson)) {
throw OpenCourseException::NOTFOUND_LESSON();
}
global $kernel;
$site = $this->getSettingService()->get('site');
$url = empty($site['url']) ? $site['url'] : rtrim($site['url'], ' \/');
$originUrl = empty($url) ? $kernel->getContainer()->get('router')->generate('open_course_show', array('courseId' => $lesson['courseId']), true) : $url.$kernel->getContainer()->get('router')->generate('open_course_show', array('courseId' => $lesson['courseId']));
$shortUrl = SmsToolkit::getShortLink($originUrl);
$url = empty($shortUrl) ? $originUrl : $shortUrl;
$course = $this->getOpenCourseService()->getCourse($lesson['courseId']);
$to = '';
$students = $this->getOpenCourseService()->searchMembers(array('courseId' => $course['id']), array('createdTime' => 'Desc'), $index, 1000);
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。