作者 赵彬吉

Merge branch 'dev' of http://47.244.231.31:8099/zhl/globalso-v6 into dev

... ... @@ -2,7 +2,55 @@
namespace App\Http\Controllers\Bside;
use App\Enums\Common\Code;
use App\Http\Logic\Bside\MailLogic;
use App\Models\Mail as MailModel;
use App\Models\MailUser as MailUserModel;
use Illuminate\Http\Request;
class MailController extends BaseController
{
const STATUS_ZERO = 0; //状态为未读状态
const STATUS_ONE = 1; //状态为已读状态
/**
* @name :当前用户站内信列表
* @return void
* @author :liyuhang
* @method
*/
public function lists(){
$mailModel = new MailModel();
//获取当前用户下的所有站内信
$this->map['user_list'] = ['like','%,'.$this->uid.',%'];
$this->map['status'] = $this::STATUS_ZERO;
$lists = $mailModel->lists($this->map,$this->page,$this->row);
if(!empty($lists)){
foreach ($lists as $k => $v){
//获取用户已读还是未读
$info = MailUserModel::read(['mail_id'=>$v['id'],'user_id'=>$this->uid]);
if($info !== false){
$v['read_status'] = $this::STATUS_ONE;//
}
$lists[$k] = $v;
}
}
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @name :获取站内信详情
* @return void
* @author :liyuhang
* @method
*/
public function info(Request $request,MailLogic $mailLogic){
$request->validate([
'id'=>['required']
],[
'id.required' => 'ID不能为空'
]);
$info = $mailLogic->mail_info();
$this->response('success',Code::SUCCESS,$info);
}
}
... ...
<?php
namespace App\Http\Logic\Bside;
use App\Enums\Common\Code;
use App\Models\Mail as MailModel;
use App\Models\MailUser as MailUserModel;
class MailLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new MailModel();
$this->param = $this->requestAll;
}
/**
* @name :详情
* @author :liyuhang
*/
public function mail_info(){
$info = $this->model->read($this->param);
if($info === false){
$this->fail('当前数据不存在',Code::USER_ERROR);
}
//生成一条阅读记录
$mailUserModel = new MailUserModel();
$data = [
'user_id'=>$info['id'],
'mail_id'=>$this->user['id'],
];
$rs = $mailUserModel->add($data);
if($rs === false){
$this->fail('error',Code::USER_ERROR);
}
$this->success($info);
}
}
... ...
... ... @@ -55,6 +55,11 @@ class UserLogic extends BaseLogic
if($info !== false){
$this->fail('当前编辑的手机号码已存在',Code::USER_PARAMS_ERROE);
}
//上传头像
if(isset($this->param['image'])){
$data = $this->upload();
$this->param['image'] = $data['path'];
}
$this->param['operator_id'] = $this->user['id'];
$rs = $this->model->edits($this->param);
if($rs === false){
... ... @@ -98,7 +103,7 @@ class UserLogic extends BaseLogic
*/
public function user_del(){
$this->param['operator_id'] = $this->user['id'];
$rs = $this->model->edit($this->param,['id'=>['in',$this->param['id']]]);
$rs = $this->model->edit(['status'=>2],['id'=>['in',$this->param['id']]]);
if($rs === false){
$this->fail('error',Code::USER_ERROR);
}
... ...
... ... @@ -36,7 +36,7 @@ class Base extends Model
$query = $this->formatQuery($map);
$lists = $query->select($fields)->orderBy($order)->paginate($row, ['*'], 'page', $page);
if (empty($lists)) {
return false;
return [];
}
$lists = $lists->toArray();
return $lists;
... ... @@ -54,7 +54,7 @@ class Base extends Model
$query = $this->formatQuery($map);
$lists = $query->select($fields)->orderBy($order)->get();
if (empty($lists)) {
return false;
return [];
}
$lists = $lists->toArray();
return $lists;
... ...
<?php
namespace App\Models;
class MailUser extends Base
{
protected $table = 'gl_mail_user';
//自动维护create_at创建时间 updated_at修改时间
public $timestamps = true;
}
... ...
... ... @@ -26,6 +26,12 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/del', [\App\Http\Controllers\Bside\UserController::class, 'del'])->name('user_del');
});
//站内信
Route::prefix('mail')->group(function () {
Route::any('/', [\App\Http\Controllers\Bside\MailController::class, 'lists'])->name('mail_lists');
Route::any('/info', [\App\Http\Controllers\Bside\MailController::class, 'info'])->name('mail_info');
});
//用户角色相关路由
Route::prefix('role')->group(function () {
Route::any('/', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'lists'])->name('project_role_lists');
... ...