智慧教务系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

98 lines
2.8 KiB

<?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();
foreach ($data as &$v){
$campus_coordinates_arr = json_decode($v['campus_coordinates'],true);
$v['campus_coordinates_arr'] = [
'address'=>$campus_coordinates_arr['address'] ?? '',
'lat'=>$campus_coordinates_arr['lat'] ?? '',
'lng'=>$campus_coordinates_arr['lng'] ?? '',
];
}
$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;
}
public function get_campuses_list(){
$campus = new Campus();
$list = $campus->select()->toArray();
return $list;
}
}