123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- <?php
- /**
- * ${CARET}
- * @file:NoticesController.php
- * @Created by gnitif
- * @Date: 2023/3/27
- * @Time: 11:18
- */
- namespace Modules\System\Http\Controllers;
- use Catch\Base\CatchController as Controller;
- use Catch\Exceptions\FailedException;
- use Illuminate\Contracts\Pagination\LengthAwarePaginator;
- use Illuminate\Http\Request;
- use Modules\System\Http\Requests\NoticeRequest;
- use Modules\System\Models\NoticeTypes;
- use Modules\System\Services\Notice\NoticesService;
- class NoticesController extends Controller
- {
- public function list(Request $request)
- {
- return NoticesService::list();
- }
- /**
- * 添加通知
- * name: addNotice
- * @param NoticeRequest $request
- * @return mixed
- * date 2023/03/29 14:47
- */
- public function addNotice(NoticeRequest $request)
- {
- return NoticesService::addNotice($request->all());
- }
- /**
- * 删除通知
- * name: delete
- * @param $id
- * date 2023/03/29 14:48
- */
- public function delete($id)
- {
- return NoticesService::delete($id);
- }
- /**
- * 获取通知详情
- * name: info
- * @param $id
- * @return mixed
- * date 2023/03/29 14:59
- */
- public function info($id)
- {
- return NoticesService::getDetail($id);
- }
- public function edit($id, Request $request)
- {
- $title = $request->input('title', '');
- $content = $request->input('content', '');
- $notice_type_id = $request->input('notice_type_id', 0);
- if (empty($title)) {
- throw new FailedException('通知标题不能为空!');
- }
- if (empty($content)) {
- throw new FailedException('通知内容不能为空!');
- }
- if (empty($notice_type_id)) {
- throw new FailedException('通知类型必填!');
- }
- $tye = NoticeTypes::where('id', $notice_type_id)->where('is_deleted', 0)->value('id');
- if (empty($tye)) {
- throw new FailedException('通知类型不正确!');
- }
- $param = [
- 'title' => $title,
- 'content' => $content,
- 'notice_type_id' => $notice_type_id,
- 'sort' => $request->input('sort',0),
- ];
- NoticesService::update($id, $param);
- }
- /**
- * 我的通知
- * name: myNotices
- * @param Request $request
- * @return LengthAwarePaginator
- * date 2023/03/29 23:48
- */
- public function myNotices(Request $request)
- {
- return NoticesService::myNoticesList($request->all());
- }
- /**
- * 已读
- * name: setRead
- * @param $id
- * date 2023/03/29 23:51
- */
- public function setRead($id): mixed
- {
- NoticesService::setRead($id);
- return response()->json(['code' => 10000, "message" => "操作成功",'data' => []]);
- }
- /**
- * 用户删除
- * name: userDel
- * @param $id
- * @return mixed
- * date 2023/03/29 23:55
- */
- public function userDel($id): mixed
- {
- return NoticesService::userDel($id);
- }
- /**
- * 阅读详情
- * name: detail
- * @param $id
- * date 2023/03/30 00:06
- */
- public function detail($id)
- {
- return NoticesService::detail($id);
- }
- /**
- * 获取通知人群选项
- * name: objOption
- * @param Request $request
- * date 2023/03/30 10:20
- */
- public function objOption(Request $request)
- {
- $type = $request->input('type', '2');
- $name = $request->input('name', '');
- $type = $type == "3" ? "role" : "user";
- return NoticesService::objOption($type, $name);
- }
- /**
- * home页弹窗公告
- * name: getPopup
- * date 2023/03/30 16:41
- */
- public function getPopup(){
- return NoticesService:: getPopup();
- }
- }
|