Merge branch 'master' of ssh://47.101.48.251:/data/git/wx.sstbc.com

master
lion 2 months ago
commit 7b8911214f

@ -364,6 +364,36 @@ class CourseController extends BaseController
return $this->success($url);
}
/**
* @OA\Get(
* path="/api/admin/courses/evaluation-qrcode",
* tags={"课程管理"},
* summary="问卷二维码",
* description="",
* @OA\Parameter(name="id", in="query", @OA\Schema(type="string"), required=true, description="id"),
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Response(
* response="200",
* description="暂无"
* )
* )
*/
public function evaluationQrcode()
{
$all = \request()->all();
$messages = [
'id.required' => 'Id必填',
];
$validator = Validator::make($all, [
'id' => 'required'
], $messages);
if ($validator->fails()) {
return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]);
}
$url = (new Course())->getEvaluationQrcode($all['id']);
return $this->success($url);
}
/**
* @OA\Get(
* path="/api/admin/courses/send-sms",

@ -144,7 +144,7 @@ class CourseController extends CommonController
return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]);
}
$detail = CourseContentEvaluation::with(['courseContentEvaluationAsks' => function ($q) {
$q->orderBy('sort', 'asc');
$q->with('courseContent.teacher')->orderBy('sort', 'asc');
}])->find($all['course_content_evaluation_id']);
return $this->success($detail);
}

@ -213,5 +213,33 @@ class Course extends SoftDeletesModel
return $url;
}
/**
* 获取问卷小程序码
*/
public function getEvaluationQrcode($id)
{
$courseContentEvaluation = CourseContentEvaluation::find($id);
$path = config('filesystems.disks.public.root') . '/course_evaluation_qrcode/' . $courseContentEvaluation->id . '.png';
$url = config('filesystems.disks.public.url') . '/course_evaluation_qrcode/' . $courseContentEvaluation->id . '.png';
$fileSys = new Filesystem();
if ($fileSys->exists($path)) {
return $url;
}
$config = [
'app_id' => \config('app.applet_appid'),
'secret' => \config('app.applet_secret')
];
$app = Factory::miniProgram($config);
$tmp = $app->app_code->get('packages/surveyFill/index?id=' . $id, [
// todo:: 版本切换
// 'env_version' => "release" // 正式版
'env_version' => "trial" // 体验版
]);
$dir = dirname($path);
$fileSys->ensureDirectoryExists($dir, 0755, true);
$fileSys->put($path, $tmp);
return $url;
}
}

@ -6,4 +6,9 @@ class CourseContentEvaluationAsk extends SoftDeletesModel
{
protected $casts = ['select_item' => 'json'];
public function courseContent()
{
return $this->hasOne(CourseContent::class, 'id', 'course_content_id');
}
}

@ -50,6 +50,7 @@ Route::group(["namespace" => "Admin", "prefix" => "admin"], function () {
Route::post('courses/import', [\App\Http\Controllers\Admin\CourseController::class, "import"]);
Route::get('courses/qrcode', [\App\Http\Controllers\Admin\CourseController::class, "qrcode"]);
Route::get('courses/check-qrcode', [\App\Http\Controllers\Admin\CourseController::class, "checkQrcode"]);
Route::get('courses/evaluation-qrcode', [\App\Http\Controllers\Admin\CourseController::class, "evaluationQrcode"]);
Route::get('courses/send-sms', [\App\Http\Controllers\Admin\CourseController::class, "sendSms"]);
// 排课

Loading…
Cancel
Save