title) ? trim($req->title) : null; $request['type'] = isset($req->type) ? trim($req->type) : null; // $request['message_type'] = isset($req->message_type) ? trim($req->message_type) : null; $request['toname'] = isset($req->toname) ? trim($req->toname) : null; $request['fromname'] = isset($req->fromname) ? trim($req->fromname) : null; $dt = \App\Lib\DataTable\DataTable::init(); $dt->setDataSource('/admin/Message/getArticle'); $dt->setLang('notice'); // $dt->addColsFields('id'); $dt->addColsFields('title'); $dt->addColsFields('toname'); $dt->addColsFields('group_name'); $dt->addColsFields('formname'); $dt->addColsFields('add_type'); $dt->addColsFields('is_show'); // $dt->addColsFields('content'); $dt->addColsFields('add_time'); // $dt->addColsFields('message_type'); $dt->addColsFields('type'); $dt->enableCheckBox(); $arr[] = 'view'; $dt->setToolBar($arr, array('width' => 140)); return view('admin.Manager/arictle', $dt->render($request)); } //获取信息 //获取活动信息 function getArticle() { $limit = Request::has('limit') ? Request::get('limit') : 10; $title = Request::has('title') ? Request::get('title') : ''; $content = Request::has('content') ? Request::get('content') : ''; $message_type = Request::has('message_type') ? Request::get('message_type') : ''; $type = Request::has('type') ? Request::get('type') : ''; $forname = Request::has('forname') ? Request::get('forname') : ''; $toname = Request::has('toname') ? Request::get('toname') : ''; $add_time = Request::has('add_time') ? Request::get('add_time') : ''; $where = array(); if (!empty($title)) { $where[] = array('title', 'like', '%' . $title . '%'); } if (!empty($type)) { $where[] = array('type', '=', $type); } else { //$where[] = array('type', '!=', 2); //$where[] = array('type', '!=', 4); } if (!empty($content)) { $where[] = array('content', 'like', '%' . $content . '%'); } if (!empty($forname)) { $where[] = array('formname', 'like', '%' . $forname . '%'); } if (!empty($toname)) { $where[] = array('toname', 'like', '%' . $toname . '%'); } if (!empty($add_time)) { $add_time = date('Y-m-d H:i:s', strtotime($add_time)); $where[] = array('add_time', '<=', $add_time); } $db = new \App\Models\Manager(); $data = $db->getlist($limit, $where); if (!($data < 0)) { $langinfo = trans('status.manager'); $messged = trans('notice.message_status'); $show = trans('notice.show'); foreach ($data['data'] as $k => $v) { $data['data'][$k]['type'] = $langinfo[$v['type']]; if (!empty($v['add_type'])) { $data['data'][$k]['add_type'] = $messged[$v['add_type']]; } $data['data'][$k]['is_show'] = $show[$v['is_show']]; } } return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']); } function view(Req $req) { return $this->Edit($req); } function Edit(Req $req) { $id = $req->id; // $id=Request::has('id')?Request::get('id'):''; if (intval($id) < 1) { abort(404); } $db = new \App\Models\Manager; $groupdata = \App\Models\Account_group::getAllInfo(); if (!$req->isMethod('post')) { $data = $db->getDmsg($id, 1); if (!$data) { return responseToJson($data); } return view('admin.Manager/editNotice', ['data' => $data, 'group' => $groupdata]); } else { $data['title'] = $req->input('title'); $data['content'] = $req->desc; $res = $db->updateMsg($data, $id); // $log = array( // session('adminInfo.admin_name'), // ); // OperationLog(session('adminInfo.admin_id'), 'edit_game', $log); return responseToJson($res); } } /** * 批量删除 * [delete description] * @return [type] [description] */ function delete(Req $req) { $id = $req->input('id'); if (empty($id)) { return responseToJson(-2001); //id����Ϊ�� } $ids = explode(',', $id); if (!is_array($ids) && intval($ids) < 0) { return responseToJson(-2002); //id���� } if (is_array($ids) && count($ids) > 0) { foreach ($ids as $k => $v) { if (intval($v) < 1) { unset($ids[$k]); } } } $rows = \App\Models\Manager::whereIn('id', $ids)->delete(); if (!$rows) { return responseToJson(-2003); //id���� } $log = array( session('adminInfo.admin_name'), ); OperationLog(session('adminInfo.admin_id'), 'del_mess', $log); return responseToJson(1); //id���� } function MessageView() { $id = Request::has('id') ? Request::get('id') : ''; $admin_id = session('adminInfo.admin_id'); $where = [ 'id', $id ]; $dataWhwew = [ 'message_id' => $id, 'account_identity' => $admin_id, // 'add_time'=>time() ]; $db = new \App\Models\Manager(); $dbRead = new \App\Models\MessageRead; $data = $db->getlistd($where); $dataRead = $dbRead->Messagelist($id, $admin_id); if ($dataRead < 0) { $dat = $dbRead->addMessage($dataWhwew); } return view('admin.Manager/view', ['data' => $data]); } /** * 添加消息 * @param Req $req * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View */ function addNotice(Req $req) { $groupdata = \App\Models\Account_group::getAllInfo(); if (!$req->isMethod('post')) { $groupdatas = $groupdata; return view('admin.Manager/editNotice', ['select' => 1, 'group' => $groupdatas]); } else { $data['title'] = $req->input('title'); $data['type'] = $req->type ? intval($req->type) : ''; if (empty($data['type'])) { return responseToJson(-3001341); } $data['content'] = strip_tags($req->desc);//过滤html标签 $log = array( session('adminInfo.admin_name'), $data['title'] ); $data['add_time'] = date('Y-m-d H:i:s'); $data['formname'] = $req->input('formname'); $data['toname'] = str_replace(',', ',', strip_tags(trim($req->input('toname')))); $data['add_type'] = isset($req->add_type) ? trim($req->add_type) : '1'; $data['is_show'] = isset($req->is_show) ? trim($req->is_show) : 0; //首页是否弹出显示 $groups = $req->groups; $send = [ 'name' => $data['title'], 'from' => $data['formname'], 'content' => $data['content'], 'time' => $data['add_time'], 'type' => $data['type'] ]; $db = new \App\Models\Manager; //普通消息 if ($data['type'] == 1) { $dataName = explode(',', $data['toname']); $send['to'] = $this->getIdBy($dataName);//接收者列表 } //系统消息 if ($data['type'] == 2) { $data['formname'] = '系统消息'; //$data['toname'] = 'all'; } //系统通知 if ($data['type'] == 3) { $data['formname'] = '系统通知'; //获取发送用户组 if (is_array($groups) && count($groups) > 0) { $data['toname'] = 'groups'; $data['group_code'] = '0,' . implode(',', $groups) . ','; $data['group_name'] = '|'; foreach ($groupdata as $k => $v) { if (in_array($v['group_code'], $groups)) { $data['group_name'] .= $v['group_name'] . '|'; } } } $groupcode = isset($data['group_code']) ? $data['group_code'] : 'all'; } if (!$data['toname']) { $data['toname'] = 'all'; } $res = $db->addNotice($data); if ($res < 0) return responseToJson($res); OperationLog(session('adminInfo.admin_id'), 'add_no', $log); return responseToJson(1); } } /** * 根据用户账号查ID * @param $names * @return null */ protected function getIdBy($names) { if (!is_array($names)) $names = explode(',', $names); $names = array_unique($names); if (!$names) return null; $ids = (new Account())->whereIn('account', $names)->pluck('identity'); return $ids ? $ids->toArray() : null; } }