1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <?php
- namespace app\api\controller;
- use app\api\controller\base\Base;
- use app\common\model\Address;
- use app\common\model\AppointmentTicket;
- class Appointment extends Base
- {
- //获取地址列表
- public function addressList()
- {
- $post = $this->request->param();
- $validate = new \think\Validate([
- ['page', 'number'],
- ['pagenum', 'number|<=:1000']
- ]);
- if (!$validate->check($post)) {
- $this->json_error('提交失败:' . $validate->getError());
- }
- $where = [];
- $addressIds = (new \app\common\model\Appointment())->availableAddressIds();
- $where['id'] = ['in', $addressIds];
- $pagenum = $this->request->param('pagenum', 20, 'intval');
- $datalist = (new Address())->where($where)->paginate($pagenum, true);
- if (empty($datalist)) {
- $this->json_error("没有数据");
- }
- $this->json_success("查询成功", $datalist);
- }
- //按地址id获取号源信息
- public function getTicketByAddressId()
- {
- $post = $this->request->param();
- $validate = new \think\Validate([
- ['address_id', 'require|number'],
- ['daytime', 'dateFormat:Y-m-d'],
- ]);
- if (!$validate->check($post)) {
- $this->json_error('提交失败:' . $validate->getError());
- }
- $address_id = $this->request->param('address_id');
- $daytime = $this->request->param('daytime', date('Y-m-d'));
- $ticketModel = new AppointmentTicket();
- $tickets = $ticketModel->where('address_id', $address_id)->where('appointment_daytime', strtotime($daytime))->select();
- foreach ($tickets as $k => $item) {
- //专家信息
- $item->specialist;
- //剩余预约号码
- //拆分预约时段
- //价格?
- $tickets[$k] = $item;
- }
- $this->json_success($tickets);
- }
- //按时间获取地址列表
- public function addressListByDayTime()
- {
- \app\common\model\Appointment::createTicketFromAllAppointment();
- $ticketModel = new AppointmentTicket();
- //可预约日期列表
- // $maxEndTime = $ticketModel->max('end_time');
- // $daylist = DateHelper::getDateList(date('Y-m-d'), date('Y-m-d', $maxEndTime), true);
- $post = $this->request->param();
- $validate = new \think\Validate([
- ['daytime', 'date|dateFormat:Y-m-d'],
- ['page', 'number'],
- ['pagenum', 'number|<=:1000']
- ]);
- if (!$validate->check($post)) {
- $this->json_error('提交失败:' . $validate->getError());
- }
- $daytime = $this->request->param('daytime', date('Y-m-d'));
- $addressIds = $ticketModel->where('appointment_daytime', strtotime($daytime))->column('address_id');
- $where = [];
- $where['id'] = ['in', $addressIds];
- $pagenum = $this->request->param('pagenum', 20, 'intval');
- $datalist = (new Address())->where($where)->paginate($pagenum, true);
- if (empty($datalist)) {
- $this->json_error("没有数据");
- }
- $this->json_success("查询成功", $datalist);
- }
- }
|