Doctors.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. namespace app\inter\controller;
  3. use think\Controller;
  4. use think\Db;
  5. use think\Session;
  6. use think\Cache;
  7. use think\Request;
  8. use think\Log;
  9. use think\File;
  10. class Doctors extends Base
  11. {
  12. /**
  13. * 取消预约
  14. *
  15. * @ApiTitle (取消预约)
  16. * @ApiSummary (取消预约)
  17. * @ApiSector (外部api商城)
  18. * @ApiMethod (POST)
  19. * @ApiRoute (http://work.api.pacsonline.cn/inter/doctors/index)
  20. * @ApiHeaders (name="sign", type="string", required=true, description="请求头-校验key")
  21. * @ApiHeaders (name="nonce", type="string", required=true, description="请求头-随机数")
  22. * @ApiHeaders (name="timestamp", type=string, required=true, description="请求头-时间戳s")
  23. * @ApiParams (name="main", type="string", required=true, description="参数json字符串")
  24. * @ApiParams (name="main.outer_key", type="string", sample="", description="外部身份唯一确定标识<必填>")
  25. * @ApiParams (name="main.id", type="string", required=false, description="预约id<必填>")
  26. * @ApiReturnParams (name="code", type="integer", required=true, sample="0", description="返回码 0 失败 1成功"))
  27. * @ApiReturnParams (name="time", type="integer", required=true, sample="0", description="返回时间戳")
  28. * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功", description="返回信息")
  29. * @ApiReturnParams (name="data", type="object", sample="{}", description="null")
  30. * @ApiReturn (data="
  31. {
  32. 'code': 1,
  33. 'msg': '',
  34. 'time': '1527955080',
  35. 'data': null
  36. }
  37. *")
  38. */
  39. public function index(){
  40. $sessionid = $_REQUEST['sessionid'];
  41. $doctor = Cache::get($sessionid);
  42. $info = DB::table('doctors')->where('id',$doctor['id'])->find();
  43. return json_encode(['status'=>'ok','code'=>'0000','info'=>$info]);
  44. }
  45. public function changepwd(){
  46. try{
  47. $request = Request::instance();
  48. // if($request->method() == 'OPTIONS'){
  49. if($request->isOptions()){
  50. return;
  51. }
  52. $sessionid = $_REQUEST['sessionid'];
  53. $doctor = Cache::get($sessionid);
  54. log::record('-----------cache信息----------------');
  55. log::record($sessionid);
  56. log::record($doctor);
  57. log::record('-----------cache信息----------------');
  58. $dinfo = DB::table('doctors')->where('id',$doctor['id'])->field('password')->find();
  59. $password = $_REQUEST['oldpass'];
  60. log::record('-----------------密码区域----------');
  61. log::record($password);
  62. log::record($dinfo['password']);
  63. log::record(md5($password));
  64. log::record('-----------------密码区域----------');
  65. if(md5($password) != $dinfo['password']){
  66. return json_encode(['code'=>'1021','status'=>'fail','msg'=>'输入的密码错误']);
  67. }
  68. $newpass = md5($_REQUEST['newpass']);
  69. DB::table('doctors')->where('id',$doctor['id'])->update(['password'=>$newpass]);
  70. Cache::rm($sessionid);
  71. return json_encode(['status'=>'ok','code'=>'0000','msg'=>'修改完成,请重新登录']);
  72. }catch(\Exception $e){
  73. return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
  74. }
  75. }
  76. public function upload(){
  77. try{
  78. // 获取表单上传文件 例如上传了001.jpg
  79. $file = request()->file('file');
  80. log::record('----------上传的文件-----------');
  81. log::record($file);
  82. // 移动到框架应用根目录/public/uploads/ 目录下
  83. if($file){
  84. $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
  85. log::record($info);
  86. if($info){
  87. return json_encode(['status'=>'ok','code'=>'0000','info'=>'/'.$_SERVER["SERVER_NAME"]. '/' . 'uploads'. '/' .$info->getSaveName()]);
  88. }else{
  89. // 上传失败获取错误信息
  90. echo $file->getError();
  91. }
  92. }
  93. }catch(\Exception $e){
  94. return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
  95. }
  96. }
  97. public function changeinfo(){
  98. try{
  99. $request = Request::instance();
  100. if($request->method() == 'OPTIONS'){
  101. return;
  102. }
  103. $info = $_REQUEST['param'];
  104. $sessionid = $_REQUEST['sessionid'];
  105. $doctor = Cache::get($sessionid);
  106. $data = array();
  107. $data['realname'] = $info['realname'];
  108. $data['email'] = $info['email'];
  109. $data['phone'] = $info['phone'];
  110. $data['doctor_title'] = $info['doctor_title'];
  111. $data['attachment'] = $info['attachment'];
  112. DB::table('doctors')->where('id',$doctor['id'])->update($data);
  113. return json_encode(['status'=>'ok','code'=>'0000','info'=>'修改成功']);
  114. }catch(\Exception $e){
  115. return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
  116. }
  117. }
  118. }