Browse Source

feat(api): 添加校区接口和相关服务

- 新增 Campus 控制器,实现获取员工下的全部校区接口
- 新增 CampusService服务类,提供校区相关的业务逻辑
- 在路由文件中添加新的校区接口路由
master
liutong 10 months ago
parent
commit
3840500ade
  1. 42
      niucloud/app/api/controller/apiController/Campus.php
  2. 3
      niucloud/app/api/route/route.php
  3. 81
      niucloud/app/service/api/apiService/CampusService.php

42
niucloud/app/api/controller/apiController/Campus.php

@ -0,0 +1,42 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\api\controller\apiController;
use app\Request;
use app\service\api\apiService\CampusService;
use app\service\api\apiService\CommonService;
use core\base\BaseApiService;
/**
* 校区控制器相关接口
* Class Personnel
* @package app\api\controller\apiController
*/
class Campus extends BaseApiService
{
//校区-获取员工下的全部校区
public function getPersonnelCampus(Request $request){
$personnel_id =$request->param('personnel_id','');
if(empty($personnel_id)){
return fail('缺少参数');
}
$where = [
'personnel_id'=>$personnel_id
];
$res = (new CampusService())->getAll($where);
if(!$res['code']){
return fail($res['msg']);
}
return success($res['data']);
}
}

3
niucloud/app/api/route/route.php

@ -229,6 +229,9 @@ Route::group(function () {
//沟通记录-添加
Route::post('communicationRecords/add', 'apiController.CommunicationRecords/add');
//校区-获取员工下的全部校区
Route::get('campus/getPersonnelCampus', 'apiController.campus/getPersonnelCampus');

81
niucloud/app/service/api/apiService/CampusService.php

@ -0,0 +1,81 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\service\api\apiService;
use app\model\campus\Campus;
use app\model\campus_person_role\CampusPersonRole;
use app\model\dict\Dict;
use core\base\BaseApiService;
/**
* 校区服务层
* Class MemberService
* @package app\service\api\member
*/
class CampusService extends BaseApiService
{
public function __construct()
{
parent::__construct();
$this->model = (new Campus());
}
//获取全部校区
public function getAll(array $where){
$res = [
'code'=>0,
'msg'=>'缺少筛选条件',
'data'=>[]
];
if(!$where){
return $res;
}
$model = $this->model;
//判断用没有员工id
if(!empty($where['personnel_id'])){
//获取员工归属的校区id
$campus_id = $this->getPersonnelCamousId($where['personnel_id']);
if(!$campus_id){
$res = [
'code'=>0,
'msg'=>'暂无归属校区',
'data'=>[]
];
return $res;
}
$model = $model->whereIn('id',$campus_id);
}
$data = $model->select()->toArray();
$res = [
'code'=>1,
'msg'=>'操作成功',
'data'=>$data
];
return $res;
}
/**
* 查询员工归属的校区id
* @param $personnel_id 员工表id
*/
private function getPersonnelCamousId($personnel_id){
//这里要去重
$campus_id = CampusPersonRole::where('person_id',$personnel_id)
->distinct(true)
->column('campus_id');
return $campus_id;
}
}
Loading…
Cancel
Save