智慧教务系统
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.
 
 
 
 
 
 

137 lines
4.3 KiB

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\service\api\apiService;
use app\model\campus_person_role\CampusPersonRole;
use app\model\departments\Departments;
use app\model\member\Member;
use app\model\personnel\Personnel;
use app\model\sys\SysRole;
use app\service\core\member\CoreMemberService;
use core\base\BaseApiService;
use core\exception\ApiException;
use core\util\Barcode;
use think\Model;
/**
* 员工服务层
* Class MemberService
* @package app\service\api\member
*/
class PersonnelService extends BaseApiService
{
public function __construct()
{
parent::__construct();
$this->model = new Personnel();
}
//获取员工信息
public function info(array $where,string $field = '*'){
$model = $this->model;
if(!empty($where['id'])){
$model = $model->where('id',$where['id']);
}
$res = $model->field($field)->find();//员工信息
//查询部门信息
$campus_person_role = CampusPersonRole::where('person_id',$where['id'])->select()->toArray();
$role_id = array_unique(array_column($campus_person_role, 'role_id'));
$dept_id = array_unique(array_column($campus_person_role, 'dept_id'));
//查询用户角色
$role_name_arr = SysRole::whereIn('role_id',$role_id)->column('role_name');
$role_name_str = implode(',',$role_name_arr);//
//查询部门
$department_name_arr = Departments::whereIn('id',$dept_id)->column('department_name');
$department_name_str = implode(',',$department_name_arr);
if($res){
$res = $res->toArray();
$res['role_name_str'] = $role_name_str;
$res['department_name_str'] = $department_name_str;
}else{
$res = [];
}
return $res;
}
//员工信息-修改
public function edit(array $where,array $data){
$data['update_time'] = date('Y-m-d H:i:s');
if(!$where){
return [
'code'=>0,
'msg'=>'查询条件不能为空'
];
}
$model = $this->model;
if(!empty($where['id'])){
$model = $model->where('id',$where['id']);
}
$res = $model->update($data);//员工信息
if($res){
$res = [
'code'=>1,
'msg'=>'操作成功'
];
}else{
$res = [
'code'=>0,
'msg'=>'操作失败'
];
}
return $res;
}
/**
* 获取会员的模型对象(todo 慎用!!! 现主要用于登录)
* @param array $data
* @return Member|array|mixed|Model !!! 仔细看,返回值是模型对象 如果想要判断是否为空 请用 $member->isEmpty()
*/
public function findMemberInfo(array $data){
//会员账号
if(!empty($data['username']))
$where[] = ['username', '=', $data['username']];
//会员手机号
if(!empty($data['mobile']))
$where[] = ['mobile', '=', $data['mobile']];
//会员id
if(!empty($data['id']))
$where[] = ['id', '=', $data['id']];
//微信公众号openid
if(!empty($data['wx_openid']))
$where[] = ['wx_openid', '=', $data['wx_openid']];
//微信小程序openid
if(!empty($data['weapp_openid']))
$where[] = ['weapp_openid', '=', $data['weapp_openid']];
// 微信unionid
if(!empty($data['wx_unionid']))
$where[] = ['wx_unionid', '=', $data['wx_unionid']];
if(!empty($data['username|mobile']))
$where[] = ['username|mobile', '=', $data['username|mobile']];
if(empty($where)){
$where[] = ['member_id', '=', -1];
}
return $this->model->where($where)->findOrEmpty();
}
}