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
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;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|