src/Biz/Importer/CourseMemberImporter.php

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace Biz\Importer;

use Biz\Course\Service\MemberService;
use Symfony\Component\HttpFoundation\Request;

class CourseMemberImporter extends Importer
{
    protected $type = 'course-member';

    public function import(Request $request)
    {
        $importData = $request->request->get('importData');
        $courseId = $request->request->get('courseId');
        $price = $request->request->get('price');
        $remark = $request->request->get('remark', '通过批量导入添加');
        $course = $this->getCourseService()->getCourse($courseId);
        $orderData = array(
            'amount' => $price,
            'remark' => $remark,
        );

        return $this->excelDataImporting($course, $importData, $orderData);
    }

    protected function excelDataImporting($course, $userData, $orderData)
    {
        $existsUserCount = 0;
        $successCount = 0;

        foreach ($userData as $key => $user) {
            if (!empty($user['nickname'])) {
                $user = $this->getUserService()->getUserByNickname($user['nickname']);
            } else {
                if (!empty($user['email'])) {
                    $user = $this->getUserService()->getUserByEmail($user['email']);
                } else {
                    $user = $this->getUserService()->getUserByVerifiedMobile($user['verifiedMobile']);
                }
            }

            $isCourseStudent = $this->getCourseMemberService()->isCourseStudent($course['id'], $user['id']);
            $isCourseTeacher = $this->getCourseMemberService()->isCourseTeacher($course['id'], $user['id']);

            if ($isCourseStudent || $isCourseTeacher) {
                ++$existsUserCount;
            } else {
                $data = array(
                    'price' => $orderData['amount'],
                    'remark' => empty($orderData['remark']) ? '通过批量导入添加' : $orderData['remark'],
                    'source' => 'outside',
                );
                $this->getCourseMemberService()->becomeStudentAndCreateOrder($user['id'], $course['id'], $data);

                ++$successCount;
            }
        }

        return array('existsUserCount' => $existsUserCount, 'successCount' => $successCount);

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。