| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <?php
- namespace App\Http\Controllers\Admins;
- use App\Modes\Area;
- use App\Modes\SystemNotice;
- use App\Modes\User;
- use App\Modes\UserMsg;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- class SystemNoticeController extends Controller
- {
- /**
- * 公告列表
- * @author lyh
- * @date 2019/4/15
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- */
- public function index(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'orderByCreatedAt' => 'string|in:desc,asc'
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- $res = SystemNotice::orderBy('created_at', $param['orderByCreatedAt'] ?? 'desc')->paginate(perPage());
- if ($res->isNotEmpty()) {
- collect($res->items())->each(function ($item, $key) {
- $item->provinceMsg = Area::getName($item->province);
- $item->cityMsg = Area::getName($item->city);
- $item->districtMsg = Area::getName($item->district);
- $item->cerated_user = User::select(['nick_name'])->whereId($item->created_uid)->first();
- });
- }
- return showJsonSucc(1001, $res);
- }
- /**
- * 公告详情
- * @author lyh
- * @date 2019/4/15
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- */
- public function show(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'id' => 'required|exists:user,id',
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- }
- /**
- * 公告编辑
- * @author lyh
- * @date 2019/4/15
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @description
- */
- public function add(Request $request)
- {
- $validator = \Validator::make($param = $request->all(), [
- 'province' => 'exists:area,id',
- 'city' => 'exists:area,id',
- 'district' => 'integer',
- 'content' => 'required',
- 'title' => 'required'
- ]);
- if ($validator->fails()) {
- return showJsonErr($validator->errors()->first());
- }
- $param['created_uid'] = \Auth::id();
- \DB::beginTransaction();
- try {
- SystemNotice::insert($param);
- if (!empty($param['province'])) {
- $ids = User::whereProvince($param['province'])
- ->whereCity($param['city'] ?? 0)
- ->whereDistrict($param['district'] ?? 0)
- ->where('is_frontend', '=', 1)
- ->pluck('id');
- foreach ($ids as $id) {
- UserMsg::insert([
- 'title' => $param['title'],
- 'uid' => $id,
- 'type' => 1,
- 'content' => $param['content']
- ]);
- }
-
- UserMsg::SendToList(['title' => $param['title'],'content' => $param['content']],$ids);
- } else {
- $msgarr=['title'=>$param['title'],
- 'uid'=>0,
- 'type'=>14,
- 'content'=>$param['content']];
- UserMsg::SendQuntui($msgarr);
- }
- \DB::commit();
- return showJsonSucc('添加公告成功');
- } catch (\Exception $exception) {
- \DB::rollBack();
- return showJsonErr($exception->getMessage());
- }
- }
- }
|