正在显示
6 个修改的文件
包含
94 行增加
和
2 行删除
| @@ -2,10 +2,16 @@ | @@ -2,10 +2,16 @@ | ||
| 2 | 2 | ||
| 3 | namespace App\Http\Controllers\Bside; | 3 | namespace App\Http\Controllers\Bside; |
| 4 | 4 | ||
| 5 | +use App\Enums\Common\Code; | ||
| 6 | +use App\Http\Logic\Bside\MailLogic; | ||
| 5 | use App\Models\Mail as MailModel; | 7 | use App\Models\Mail as MailModel; |
| 8 | +use App\Models\MailUser as MailUserModel; | ||
| 9 | +use Illuminate\Http\Request; | ||
| 6 | 10 | ||
| 7 | class MailController extends BaseController | 11 | class MailController extends BaseController |
| 8 | { | 12 | { |
| 13 | + const STATUS_ZERO = O; //状态为未读状态 | ||
| 14 | + const STATUS_ONE = 1; //状态为已读状态 | ||
| 9 | /** | 15 | /** |
| 10 | * @name :当前用户站内信列表 | 16 | * @name :当前用户站内信列表 |
| 11 | * @return void | 17 | * @return void |
| @@ -14,5 +20,35 @@ class MailController extends BaseController | @@ -14,5 +20,35 @@ class MailController extends BaseController | ||
| 14 | */ | 20 | */ |
| 15 | public function lists(){ | 21 | public function lists(){ |
| 16 | $mailModel = new MailModel(); | 22 | $mailModel = new MailModel(); |
| 23 | + //获取当前用户下的所有站内信 | ||
| 24 | + $this->map['user_id'] = ['like','%'.$this->uid.'%']; | ||
| 25 | + $this->map['status'] = $this::STATUS_ZERO; | ||
| 26 | + $lists = $mailModel->lists($this->map,$this->page,$this->row); | ||
| 27 | + foreach ($lists as $k => $v){ | ||
| 28 | + //获取用户已读还是未读 | ||
| 29 | + $info = MailUserModel::read(['mail_id'=>$v['id'],'user_id'=>$this->uid]); | ||
| 30 | + if($info !== false){ | ||
| 31 | + $v['read_status'] = $this::STATUS_ONE;// | ||
| 32 | + } | ||
| 33 | + $lists[$k] = $v; | ||
| 34 | + } | ||
| 35 | + $this->response('success',Code::SUCCESS,$lists); | ||
| 17 | } | 36 | } |
| 37 | + | ||
| 38 | + /** | ||
| 39 | + * @name :获取站内信详情 | ||
| 40 | + * @return void | ||
| 41 | + * @author :liyuhang | ||
| 42 | + * @method | ||
| 43 | + */ | ||
| 44 | + public function info(Request $request,MailLogic $mailLogic){ | ||
| 45 | + $request->validate([ | ||
| 46 | + 'id'=>['required'] | ||
| 47 | + ],[ | ||
| 48 | + 'id.required' => 'ID不能为空' | ||
| 49 | + ]); | ||
| 50 | + $info = $mailLogic->mail_info(); | ||
| 51 | + $this->response('success',Code::SUCCESS,$info); | ||
| 52 | + } | ||
| 53 | + | ||
| 18 | } | 54 | } |
| @@ -26,6 +26,7 @@ class CategoryController extends BaseController | @@ -26,6 +26,7 @@ class CategoryController extends BaseController | ||
| 26 | } | 26 | } |
| 27 | $sort = ['id' => 'desc']; | 27 | $sort = ['id' => 'desc']; |
| 28 | $data = $logic->getList($map, $sort, ['id', 'pid', 'title', 'image', 'keywords', 'describe', 'status','created_at'],0); | 28 | $data = $logic->getList($map, $sort, ['id', 'pid', 'title', 'image', 'keywords', 'describe', 'status','created_at'],0); |
| 29 | + | ||
| 29 | return $this->success(Arr::listToTree($data)); | 30 | return $this->success(Arr::listToTree($data)); |
| 30 | } | 31 | } |
| 31 | 32 | ||
| @@ -53,7 +54,7 @@ class CategoryController extends BaseController | @@ -53,7 +54,7 @@ class CategoryController extends BaseController | ||
| 53 | 'ids.required' => 'ID不能为空' | 54 | 'ids.required' => 'ID不能为空' |
| 54 | ]); | 55 | ]); |
| 55 | 56 | ||
| 56 | - $data = $logic->delete($this->param['ids']); | 57 | + $data = $logic->deletes($this->param['ids']); |
| 57 | return $this->success($data); | 58 | return $this->success($data); |
| 58 | } | 59 | } |
| 59 | } | 60 | } |
app/Http/Logic/Bside/MailLogic.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Http\Logic\Bside; | ||
| 4 | + | ||
| 5 | +use App\Enums\Common\Code; | ||
| 6 | +use App\Models\Mail as MailModel; | ||
| 7 | +use App\Models\MailUser as MailUserModel; | ||
| 8 | + | ||
| 9 | +class MailLogic extends BaseLogic | ||
| 10 | +{ | ||
| 11 | + | ||
| 12 | + public function __construct() | ||
| 13 | + { | ||
| 14 | + parent::__construct(); | ||
| 15 | + $this->model = new MailModel(); | ||
| 16 | + $this->param = $this->requestAll; | ||
| 17 | + } | ||
| 18 | + | ||
| 19 | + /** | ||
| 20 | + * @name :详情 | ||
| 21 | + * @author :liyuhang | ||
| 22 | + */ | ||
| 23 | + public function mail_info(){ | ||
| 24 | + $info = $this->model->read($this->param); | ||
| 25 | + if($info === false){ | ||
| 26 | + $this->fail('当前数据不存在',Code::USER_ERROR); | ||
| 27 | + } | ||
| 28 | + //生成一条阅读记录 | ||
| 29 | + $mailUserModel = new MailUserModel(); | ||
| 30 | + $data = [ | ||
| 31 | + 'user_id'=>$info['id'], | ||
| 32 | + 'mail_id'=>$this->user['id'], | ||
| 33 | + ]; | ||
| 34 | + $rs = $mailUserModel->add($data); | ||
| 35 | + if($rs === false){ | ||
| 36 | + $this->fail('error',Code::USER_ERROR); | ||
| 37 | + } | ||
| 38 | + $this->success($info); | ||
| 39 | + } | ||
| 40 | +} |
| @@ -35,7 +35,7 @@ class CategoryLogic extends BaseLogic | @@ -35,7 +35,7 @@ class CategoryLogic extends BaseLogic | ||
| 35 | return parent::save($param); | 35 | return parent::save($param); |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | - public function delete($ids){ | 38 | + public function deletes($ids){ |
| 39 | $ids= array_filter(Arr::splitFilterToArray($ids), 'intval'); | 39 | $ids= array_filter(Arr::splitFilterToArray($ids), 'intval'); |
| 40 | foreach ($ids as $id){ | 40 | foreach ($ids as $id){ |
| 41 | $info = $this->getCacheInfo($id); | 41 | $info = $this->getCacheInfo($id); |
| @@ -55,6 +55,11 @@ class UserLogic extends BaseLogic | @@ -55,6 +55,11 @@ class UserLogic extends BaseLogic | ||
| 55 | if($info !== false){ | 55 | if($info !== false){ |
| 56 | $this->fail('当前编辑的手机号码已存在',Code::USER_PARAMS_ERROE); | 56 | $this->fail('当前编辑的手机号码已存在',Code::USER_PARAMS_ERROE); |
| 57 | } | 57 | } |
| 58 | + //上传头像 | ||
| 59 | + if(isset($this->param['image'])){ | ||
| 60 | + $data = $this->upload(); | ||
| 61 | + $this->param['image'] = $data['path']; | ||
| 62 | + } | ||
| 58 | $this->param['operator_id'] = $this->user['id']; | 63 | $this->param['operator_id'] = $this->user['id']; |
| 59 | $rs = $this->model->edits($this->param); | 64 | $rs = $this->model->edits($this->param); |
| 60 | if($rs === false){ | 65 | if($rs === false){ |
-
请 注册 或 登录 后发表评论