| 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();    }}
 |