course/plugin/admin/app/controller/SubjectHomeworkController.php

185 lines
6.5 KiB
PHP
Raw Normal View History

2024-07-23 23:29:56 +08:00
<?php
namespace plugin\admin\app\controller;
use app\constant\ResponseCode;
use support\Request;
use support\Response;
use plugin\admin\app\model\SubjectHomework;
use plugin\admin\app\controller\Crud;
use support\exception\BusinessException;
use think\Exception;
/**
2024-07-26 23:37:31 +08:00
* 课程作业
2024-07-23 23:29:56 +08:00
*/
class SubjectHomeworkController extends Crud
{
2024-07-26 23:37:31 +08:00
2024-07-23 23:29:56 +08:00
/**
* @var SubjectHomework
*/
protected $model = null;
/**
* 构造函数
* @return void
*/
public function __construct()
{
$this->model = new SubjectHomework;
}
2024-07-26 23:37:31 +08:00
2024-07-23 23:29:56 +08:00
/**
* 浏览
* @return Response
*/
public function index(): Response
{
return view('subject-homework/index');
}
public function select(Request $request): Response
{
try {
$homework = \app\common\model\SubjectHomework::order('id desc');
2024-07-26 23:37:31 +08:00
if (1) {
2024-07-23 23:29:56 +08:00
}
$limit = (int)$request->get('limit', 10);
$limit = $limit <= 0 ? 10 : $limit;
$page = (int)$request->get('page');
$page = $page > 0 ? $page : 1;
$total = $homework->count();
$list = $homework->page($page, $limit)->with(['teacher', 'subject'])->select();
return json([
'code' => ResponseCode::WEB_API_SUCCESS,
'data' => $list,
'count' => $total
]);
2024-07-26 23:37:31 +08:00
} catch (Exception $e) {
2024-07-23 23:29:56 +08:00
return json([
'code' => ResponseCode::WEB_API_FAIL,
'msg' => $e->getMessage()
]);
}
}
/**
* 插入
* @param Request $request
* @return Response
* @throws BusinessException
*/
public function insert(Request $request): Response
{
if ($request->method() === 'POST') {
return parent::insert($request);
}
return view('subject-homework/insert');
}
/**
* 更新
* @param Request $request
* @return Response
* @throws BusinessException
2024-07-26 23:37:31 +08:00
*/
2024-07-23 23:29:56 +08:00
public function update(Request $request): Response
{
if ($request->method() === 'POST') {
2024-07-26 23:37:31 +08:00
$data = $request->post();
$homework_file_url = [];
if (isset($data['homework_file_url'])) {
foreach ($data['homework_file_url'] as $key => $value) {
$homework_file_url[] = [
'url' => $value,
'name' => $data['homework_file_url_name'][$key]
];
}
}
$homework_version_file_url = [];
if (isset($data['homework_version_file_url'])) {
foreach ($data['homework_version_file_url'] as $key => $value) {
$homework_version_file_url[] = [
'url' => $value,
'name' => $data['homework_version_file_url_name'][$key]
];
}
}
$last_homework_feedback_url = [];
if (isset($data['last_homework_feedback_url'])) {
foreach ($data['last_homework_feedback_url'] as $key => $value) {
$last_homework_feedback_url[] = [
'url' => $value,
'name' => $data['last_homework_feedback_url_name'][$key]
];
}
}
$subject_report_url = [];
if (isset($data['subject_report_url'])) {
foreach ($data['subject_report_url'] as $key => $value) {
$subject_report_url[] = [
'url' => $value,
'name' => $data['subject_report_url_name'][$key]
];
}
}
$subject_file_url = [];
if (isset($data['subject_file_url'])) {
foreach ($data['subject_file_url'] as $key => $value) {
$subject_file_url[] = [
'url' => $value,
'name' => $data['subject_file_url_name'][$key]
];
}
}
$subject_homework = \app\common\model\SubjectHomework::where(['id' => $data['id']])->findOrEmpty();
$subject_homework->save([
'homework_web_url' => $data['homework_web_url'],
'homework_file_url' => empty($homework_file_url) ? '' : json_encode($homework_file_url, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
'homework_version_file_url' => empty($homework_version_file_url) ? '' : json_encode($homework_version_file_url, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
'last_homework_feedback_url' => empty($last_homework_feedback_url) ? '' : json_encode($last_homework_feedback_url, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
'subject_report_url' => empty($subject_report_url) ? '' : json_encode($subject_report_url, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
'subject_file_url' => empty($subject_file_url) ? '' : json_encode($subject_file_url, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
]);
return json([
'code' => ResponseCode::WEB_API_SUCCESS,
'msg' => 'success'
]);
// return parent::update($request);
}
//课程作业详情
$subject_homework = \app\common\model\SubjectHomework::where('id', $request->get('id'))->with(['teacher', 'subject'])->findOrEmpty()->toArray();
if ($subject_homework['homework_file_url']) {
$subject_homework['homework_file_url'] = json_decode($subject_homework['homework_file_url'], true);
2024-07-23 23:29:56 +08:00
}
2024-07-26 23:37:31 +08:00
if ($subject_homework['homework_version_file_url']) {
$subject_homework['homework_version_file_url'] = json_decode($subject_homework['homework_version_file_url'], true);
}
if ($subject_homework['last_homework_feedback_url']) {
$subject_homework['last_homework_feedback_url'] = json_decode($subject_homework['last_homework_feedback_url'], true);
}
if ($subject_homework['subject_report_url']) {
$subject_homework['subject_report_url'] = json_decode($subject_homework['subject_report_url'], true);
}
if ($subject_homework['subject_file_url']) {
$subject_homework['subject_file_url'] = json_decode($subject_homework['subject_file_url'], true);
}
return view('subject-homework/update', ['subject_homework' => $subject_homework]);
2024-07-23 23:29:56 +08:00
}
}