作者 liyuhang

gx

@@ -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 }
  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){
  1 +<?php
  2 +
  3 +namespace App\Models;
  4 +
  5 +class MailUser extends Base
  6 +{
  7 + protected $table = 'gl_mail_user';
  8 + //自动维护create_at创建时间 updated_at修改时间
  9 + public $timestamps = true;
  10 +}