Appointment.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\controller\base\Permissions;
  4. use app\common\model\Appointment as appointmentModel;
  5. use think\Db;
  6. use time\DateHelper;
  7. class Appointment extends Permissions
  8. {
  9. private function getModel()
  10. {
  11. return new appointmentModel();
  12. }
  13. public function publish()
  14. {
  15. $pid = $this->request->param('pid', 0, 'intval');
  16. $this->assign('pid', $pid);
  17. $post = $this->request->post();
  18. $post['provider_id'] = $pid;
  19. if ($this->request->isPost()) {
  20. //验证
  21. $validate = new \think\Validate([
  22. ['provider_id', 'require|number'],
  23. ]);
  24. if (!$validate->check($post)) {
  25. $this->error('提交失败:' . $validate->getError());
  26. }
  27. }
  28. $model = $this->getModel();
  29. $appointment = $model->where('provider_id', $pid)->find();
  30. if ($appointment) {
  31. //修改
  32. if ($this->request->isPost()) {
  33. $weeks = $post['weeks']??[];
  34. $weeks = array_keys($weeks);
  35. $post['weeks'] = implode(',', $weeks);
  36. $post['morning_time_periods'] = json_encode($post['morning_time_periods']);
  37. $post['afternoon_time_periods'] = json_encode($post['afternoon_time_periods']);
  38. if (false == $appointment->allowField(true)->save($post)) {
  39. $this->error('修改失败');
  40. }
  41. $this->success('修改成功', 'index', ['pid' => $pid]);
  42. } else {
  43. return $this->fetch();
  44. }
  45. } else {
  46. //新增
  47. if ($this->request->isPost()) {
  48. $weeks = $post['weeks']??[];
  49. $weeks = array_keys($weeks);
  50. $post['weeks'] = implode(',', $weeks);
  51. $post['morning_time_periods'] = json_encode($post['morning_time_periods']);
  52. $post['afternoon_time_periods'] = json_encode($post['afternoon_time_periods']);
  53. if (false == $model->allowField(true)->save($post)) {
  54. $this->error('添加失败');
  55. }
  56. $this->success('添加成功', 'index', ['pid' => $pid]);
  57. } else {
  58. return $this->fetch();
  59. }
  60. }
  61. }
  62. }