237 lines
7.0 KiB
PHP
Raw Normal View History

<?php
namespace app\api\controller\backend;
use app\common\controller\Api;
use app\common\library\Ems;
use app\common\library\Sms;
use fast\Random;
use think\Config;
use think\Validate;
use think\Db;
/**
* 会员接口
*/
class User extends Api
{
protected $noNeedLogin = ['*'];
protected $noNeedRight = '*';
2025-04-01 18:18:52 +08:00
public function getEvaluation()
{
$id = $this->request->header('Token');
if(!$id){
return $this->error('缺少参数');
}
$group_id = Db::name('user')->where('token', $id)->find();
if(!$group_id){
return $this->error('未查询到该用户科室');
}
}
/**
* 用户列表
*/
public function getUserData()
{
$group_id = $this->request->post('group_id');
$page = $this->request->post('page',1);
$size = $this->request->post('size',10);
$where = [];
if($group_id){
$id = Db::name('user_group')->where('id', $group_id)->find();
if($id['pid'] == 0){
$info = Db::name('user_group')->where('pid', $id['id'])->column('id');
array_push($info,intval($group_id));
$info_string = implode(',', array_map('intval', $info));
$where['a.group_id'] = ['in',$info_string];
}else{
$where['a.group_id'] = $group_id;
}
}
// 从数据库中获取所有数据
$data = Db::name('user')
->field('a.*,w.name as party_group_name,p.name as user_group_name')
->alias('a')
->join('party_group w','a.party_id = w.id','LEFT')
->join('user_group p','a.group_id = p.id','LEFT')
->where($where)
->page($page,$size)
->order('a.id asc')
->select();
$count = Db::name('user')
->field('a.*,w.name as party_group_name,p.name as user_group_name')
->alias('a')
->join('party_group w','a.party_id = w.id','LEFT')
->join('user_group p','a.group_id = p.id','LEFT')
->where($where)
->order('a.id asc')
->count();
$res = [
'count' => $count,
'data' => $data,
];
return $this->success('请求成功',$res);
}
/**
* 单个用户查询
*/
public function getUserFind()
{
$id = $this->request->post('id');
if (!$id) {
$this->error(__('Invalid parameters'));
}
$ret = Db::name('user')->where('id',$id)->find();
if ($ret) {
$this->success(__('Logged in successful'), $ret);
} else {
$this->error($this->auth->getError());
}
}
public function create()
{
$data = $this->request->post();
if($data['password']){
$data['password'] = md5($data['password']);
}
$data['createtime'] = date('Y-m-d H:i:s');
$data['updatetime'] = date('Y-m-d H:i:s');
$result = Db::name('user')->insert($data);
if ($result) {
return $this->success('添加成功',$result);
} else {
return $this->error('添加失败',$result);
}
}
/**
* 更新记录
*
* @param Request $request
* @param int $id
* @return \think\Response
*/
public function update()
{
$id = $this->request->post('id');
$data = $this->request->post();
if($data['password']){
$data['password'] = md5($data['password']);
}
if(!$data['password']){
unset($data['password']);
}
$data['updatetime'] = date('Y-m-d H:i:s');
$result = Db::name('user')->where('id', $id)->strict(false)->update($data);
if ($result) {
return $this->success('更新成功',$result);
} else {
return $this->error('更新失败',$result);
}
}
/**
* 删除记录
*
* @param int $id
* @return \think\Response
*/
public function delete()
{
$id = $this->request->post('id');
if(!$id){
return $this->error('缺少参数');
}
$result = Db::name('user')->delete($id);
if ($result) {
return $this->success('删除成功',$result);
} else {
return $this->error('删除失败',$result);
}
}
/**
* 获取所有医生的姓名和id
*/
public function getDoctorName()
{
$data = Db::name('user')
->field('id,nickname')
->where('id', '<>', 1) // 添加条件 id 不等于 1
->select();
if ($data) {
return $this->success('请求成功',$data);
} else {
return $this->error('请求失败',$data);
}
}
public function personalProfile(){
$id = $this->request->post('user_id');
$time = $this->request->post('time', date('Y'));
if (!$id) {
$this->error(__('Invalid parameters'));
}
2025-04-01 18:18:52 +08:00
$ret = Db::name('user')
->field('a.*, u.name as gorup_name, d.name as party_name')
->alias('a')
->join('user_group u','a.group_id = u.id','LEFT')
->join('party_group d','a.party_id = d.id','LEFT')
->where('a.id',$id)
->find();
$startDate = $time . '-01-01';
$endDate = $time . '-12-31';
$date = Db::name('addition_and_subtraction_records')
2025-04-01 18:18:52 +08:00
->field('a.*,p.project_name,p.scoring_criteria')
->alias('a')
->join('plus_minus_scoring p','a.assessment_project = p.id','LEFT')
->where('a.user_id', $id)
->where('a.status', 2)
->whereBetween('a.createtime', [$startDate, $endDate]) // 使用日期范围
->order('a.id', 'desc')
->select();
if(!$date){
$date = [];
}
$array = [
'user' => $ret,
'date' => $date,
];
if ($array) {
$this->success(__('Logged in successful'), $array);
} else {
$this->error($this->auth->getError());
}
}
2025-04-01 18:18:52 +08:00
/**
* 单个用户查询
*/
public function getH5UserFind()
{
$id = $this->request->post('user_id');
if (!$id) {
$this->error(__('Invalid parameters'));
}
$ret = Db::name('user')
->field('a.nickname,a.mobile,a.position,a.certificate_code,a.license_code,a.license_image,p.name as user_group_name')
->alias('a')
->join('user_group p','a.group_id = p.id','LEFT')
->where('a.id',$id)
->find();
if ($ret) {
$this->success(__('Logged in successful'), $ret);
} else {
$this->error($this->auth->getError());
}
}
}