first commit
This commit is contained in:
291
digital_doctor/application/api/controller/Hdrdoctorusers.php
Normal file
291
digital_doctor/application/api/controller/Hdrdoctorusers.php
Normal file
@@ -0,0 +1,291 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\controller;
|
||||
|
||||
use think\Db;
|
||||
use app\common\model\TabConf;
|
||||
use wanghua\general_utility_tools_php\file\upload\FileUpload;
|
||||
use wanghua\general_utility_tools_php\tool\Tools;
|
||||
use think\Controller;
|
||||
|
||||
class Hdrdoctorusers extends BaseHttpApi
|
||||
{
|
||||
protected $controller_comments = '医生账户信息';
|
||||
|
||||
|
||||
/**
|
||||
* 新增医生账户信息
|
||||
*
|
||||
* 参数:
|
||||
* doctor 医生昵称(杨教授) 医生昵称(杨教授) 必须
|
||||
* username 用户名(手机号) 用户名(手机号) 必须
|
||||
* hdrdepartment_id 科室 科室 必须
|
||||
* name 姓名(杨玉环) 姓名(杨玉环) 必须
|
||||
* password 密码a123456 密码a123456 必须
|
||||
* api/Hdrdoctorusers/addHdrdoctorusers
|
||||
*/
|
||||
function addHdrdoctorusers(){
|
||||
Tools::log_to_write_txt(['新增医生账户信息'=>input()]);
|
||||
$api_desc = '新增医生账户信息';
|
||||
Db::startTrans();
|
||||
try {
|
||||
|
||||
$doctor = input('doctor');
|
||||
if(empty($doctor)){
|
||||
return json(Tools::set_fail('参数错误.0'));
|
||||
}
|
||||
|
||||
$username = input('username');
|
||||
if(empty($username)){
|
||||
return json(Tools::set_fail('参数错误.1'));
|
||||
}
|
||||
|
||||
$hdrdepartment_id = input('hdrdepartment_id');
|
||||
if(empty($hdrdepartment_id)){
|
||||
return json(Tools::set_fail('参数错误.2'));
|
||||
}
|
||||
|
||||
$name = input('name');
|
||||
if(empty($name)){
|
||||
return json(Tools::set_fail('参数错误.3'));
|
||||
}
|
||||
|
||||
$password = input('password');
|
||||
if(empty($password)){
|
||||
return json(Tools::set_fail('参数错误.4'));
|
||||
}
|
||||
|
||||
|
||||
$data = [
|
||||
'doctor'=>$doctor?:'',
|
||||
'username'=>$username?:'',
|
||||
'hdrdepartment_id'=>$hdrdepartment_id?:'',
|
||||
'name'=>$name?:'',
|
||||
'password'=>$password?:'',
|
||||
];
|
||||
|
||||
|
||||
$dataid = Db::table(TabConf::$fa_hdrdoctorusers)->insertGetId($data);
|
||||
|
||||
//$this->operateLog('新增医生账户信息',api_user_info('id'));
|
||||
Db::commit();
|
||||
return json(Tools::set_ok('ok',$dataid));
|
||||
}catch (\Exception $e){
|
||||
Db::rollback();
|
||||
Tools::log_to_write_txt([
|
||||
'error'=>'新增医生账户信息.异常.'.$e->getMessage(),
|
||||
'input'=>input(),
|
||||
'error_info'=>$e->getTraceAsString()
|
||||
]);
|
||||
return json(Tools::set_fail());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 修改医生账户信息
|
||||
* 参数:
|
||||
* id ID ID 必须
|
||||
* doctor 医生昵称(杨教授)
|
||||
* username 用户名(手机号)
|
||||
* hdrdepartment_id 科室
|
||||
* name 姓名(杨玉环)
|
||||
* password 密码a123456
|
||||
* sex 性别
|
||||
* age 年龄
|
||||
* address 住址
|
||||
* api/Hdrdoctorusers/updateHdrdoctorusers
|
||||
*/
|
||||
function updateHdrdoctorusers(){
|
||||
Tools::log_to_write_txt(['修改医生账户信息'=>input()]);
|
||||
|
||||
$api_desc = '修改医生账户信息';
|
||||
Db::startTrans();
|
||||
try {
|
||||
|
||||
$doctor = input('doctor');
|
||||
$username = input('username');
|
||||
$hdrdepartment_id = input('hdrdepartment_id');
|
||||
$name = input('name');
|
||||
$password = input('password');
|
||||
$sex = input('sex');
|
||||
$age = input('age');
|
||||
$address = input('address');
|
||||
if(empty(input('id'))){
|
||||
return json(Tools::set_fail('参数错误。0'));
|
||||
}
|
||||
|
||||
|
||||
$data = [
|
||||
'doctor'=>$doctor?:'',
|
||||
'username'=>$username?:'',
|
||||
'hdrdepartment_id'=>$hdrdepartment_id?:'',
|
||||
'name'=>$name?:'',
|
||||
'password'=>$password?:'',
|
||||
'sex'=>$sex?:'',
|
||||
'age'=>$age?:'',
|
||||
'address'=>$address?:'',
|
||||
];
|
||||
|
||||
|
||||
$dataid = Db::table(TabConf::$fa_hdrdoctorusers)
|
||||
->data($data)
|
||||
->where('id',input('id'))
|
||||
->update();
|
||||
|
||||
//$this->operateLog('修改医生账户信息',api_user_info('id'));
|
||||
Db::commit();
|
||||
return json(Tools::set_ok('ok',$dataid));
|
||||
}catch (\Exception $e){
|
||||
Db::rollback();
|
||||
Tools::log_to_write_txt([
|
||||
'error'=>'修改医生账户信息.异常.'.$e->getMessage(),
|
||||
'input'=>input(),
|
||||
'error_info'=>$e->getTraceAsString()
|
||||
]);
|
||||
return json(Tools::set_fail());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* desc:获取医生账户信息
|
||||
*
|
||||
* api/Hdrdoctorusers/getHdrdoctorusersList
|
||||
*
|
||||
* 参数:
|
||||
* 带分页
|
||||
* current_page 当前页码
|
||||
* list_rows 每页显示条数 默认15
|
||||
* doctor 医生昵称(杨教授)
|
||||
* name 姓名(杨玉环)
|
||||
* doctor 医生昵称(杨教授)
|
||||
* username 用户名(手机号)
|
||||
* hdrdepartment_id 科室
|
||||
* name 姓名(杨玉环)
|
||||
*
|
||||
* 所有字段说明<span style="color: gray">(可能有部分额外字段未在此体现)</span>:
|
||||
* id ID
|
||||
* doctor 医生昵称(杨教授)
|
||||
* username 用户名(手机号)
|
||||
* hdrdepartment_id 科室
|
||||
* name 姓名(杨玉环)
|
||||
* password 密码a123456
|
||||
* sex 性别
|
||||
* age 年龄
|
||||
* type 用户类型:user=用户,doc=医生
|
||||
* address 住址
|
||||
* clientid 客户端ID
|
||||
* expires 有效期
|
||||
* ticket 票据
|
||||
* create_time 创建时间
|
||||
|
||||
* author:wh
|
||||
*/
|
||||
function getHdrdoctorusersList(){
|
||||
Tools::log_to_write_txt(['获取医生账户信息 入参:'=>input()]);
|
||||
$api_desc = '获取医生账户信息';
|
||||
try {
|
||||
|
||||
$doctor = input('doctor');
|
||||
$username = input('username');
|
||||
$hdrdepartment_id = input('hdrdepartment_id');
|
||||
$name = input('name');
|
||||
|
||||
|
||||
$model_obj = Db::table(TabConf::$fa_hdrdoctorusers);
|
||||
|
||||
if(input('doctor')){
|
||||
$model_obj->whereLike('doctor','%'.input('doctor').'%');
|
||||
}
|
||||
|
||||
if(input('name')){
|
||||
$model_obj->whereLike('name','%'.input('name').'%');
|
||||
}
|
||||
|
||||
if(input('doctor')){
|
||||
$model_obj->where('doctor',input('doctor'));
|
||||
}
|
||||
if(input('username')){
|
||||
$model_obj->where('username',input('username'));
|
||||
}
|
||||
if(input('hdrdepartment_id')){
|
||||
$model_obj->where('hdrdepartment_id',input('hdrdepartment_id'));
|
||||
}
|
||||
|
||||
$data = $model_obj->paginate(['page'=>input('current_page',1),'list_rows'=>input('list_rows',15)])
|
||||
->each(function($item, $key){
|
||||
$ret_field_name_arr = Tools::delete_str_empty_ele(',,,hdrdepartment_id--name,,,,,,,,,,');
|
||||
|
||||
//处理为外键字段+外键对应数据的字段名 eg:users_id=>nickname
|
||||
$ret_field_name2 = [];
|
||||
foreach ($ret_field_name_arr as $ret_typ_field) {
|
||||
$exp_arr = explode('--',$ret_typ_field);
|
||||
//$exp_arr[0] 主表字段,$exp_arr[1] 副表字段
|
||||
$ret_field_name2[$exp_arr[0]] = [$exp_arr[0],$exp_arr[1]];
|
||||
}
|
||||
|
||||
//返回数据类型处理
|
||||
$return_type_exp_arr = Tools::delete_str_empty_ele(',,,hdrdepartment_id==field_val,,,,,,,,,,');
|
||||
//处理为类型+字段
|
||||
$return_type_exp_arr2 = [];
|
||||
foreach ($return_type_exp_arr as $ret_type_field) {
|
||||
$exp_arr = explode('==',$ret_type_field);
|
||||
$return_type_exp_arr2[$exp_arr[0]] = $exp_arr[1];
|
||||
}
|
||||
|
||||
//返回数组 eg: [id-fa_goods_deal==goods_id,id-fa_goods_deal==goods_id]
|
||||
$rel_table_arr = Tools::delete_str_empty_ele(',,,hdrdepartment_id-fa_hdrdepartment==id,,,,,,,,,,');
|
||||
//关联的字段和表
|
||||
$rel_field_table_arr2 = [];
|
||||
//关系
|
||||
foreach ($rel_table_arr as $rel_str) {
|
||||
$exp_arr = explode('-',$rel_str);
|
||||
$rel_field_table_arr2[$exp_arr[0]] = [explode('==',$exp_arr[1])[0],explode('==',$exp_arr[1])[1]];
|
||||
}
|
||||
|
||||
|
||||
foreach($item as $it_key=>$it_val){
|
||||
if(empty($rel_field_table_arr2[$it_key])){
|
||||
continue;
|
||||
}
|
||||
foreach($return_type_exp_arr as $key=>$val){
|
||||
$val_arr = explode('==',$val);
|
||||
if($it_key == $val_arr[0]){
|
||||
switch($val_arr[1]){
|
||||
case 'two_arr':
|
||||
$item[$it_key.'_data'] = Db::table($rel_field_table_arr2[$it_key][0])->where("{$rel_field_table_arr2[$it_key][1]}",$it_val)->select();
|
||||
break;
|
||||
case 'one_arr':
|
||||
$item[$it_key.'_data'] = Db::table($rel_field_table_arr2[$it_key][0])->where("{$rel_field_table_arr2[$it_key][1]}",$it_val)->find();
|
||||
break;
|
||||
case 'field_val':
|
||||
$item[$it_key.'_data'] = Db::table($rel_field_table_arr2[$it_key][0])->where("{$rel_field_table_arr2[$it_key][1]}",$it_val)->value("{$ret_field_name2[$it_key][1]}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $item;
|
||||
});
|
||||
|
||||
// ['total'] => int(30)
|
||||
// ['per_page'] => int(15)
|
||||
// ['current_page'] => int(1)
|
||||
// ['last_page''] => int(2)
|
||||
$data = $data->toArray();//包含 data列表
|
||||
|
||||
|
||||
|
||||
|
||||
return json(Tools::set_ok('ok',$data));
|
||||
}catch(\Exception $e){
|
||||
Tools::log_to_write_txt([
|
||||
'error'=>'获取医生账户信息.异常.'.$e->getMessage(),
|
||||
'参数'=>input(),
|
||||
'error_info'=>$e->getTraceAsString()
|
||||
]);
|
||||
return json(Tools::set_res(500,'操作异常',[]));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user