Selaa lähdekoodia

Merge branch 'master' of ssh://git.9026.com:2212/swdz-WangHaijun/BaoMa

Swdz-WangHaiJun 4 vuotta sitten
vanhempi
commit
1f382d2a6a

+ 14 - 4
app/Http/Controllers/Api/V1/DocterController.php

xqd xqd xqd
@@ -10,6 +10,7 @@ namespace App\Http\Controllers\Api\V1;
 
 use App\Models\Collection;
 use App\Models\Docter;
+use App\Models\DocterServiceTime;
 use App\Models\Organization;
 use App\Models\Schedule;
 use App\Models\SchedulePeriod;
@@ -37,10 +38,14 @@ class DocterController extends AuthController
 
         $builder = Docter::with('office', 'qualification')->select(['id', 'type', 'name', 'phone', 'sex', 'birthday', 'avatar', 'status', 'label', 'sign', 'intro', 'office_id', 'qualification_id', 'score', 'service_persons', 'eva_num', 'service_days', 'phone_minutes', 'chat_price', 'phone_price', 'appoint_price', 'is_chat', 'is_phone', 'is_appoint', 'latitude', 'longitude', DB::raw($distance_field)])->where('status', 1)->where('is_then', 1)->where('phone', '<>', '');
         $list_type = !empty($req['list_type']) ? $req['list_type'] : 0;
+        $now_line = (int)date('Hi');
         if ($list_type == 1) {
-            $builder->where('is_phone', 1);
+            $ids = DocterServiceTime::where('type', 1)->where('start_time_line', '<=', $now_line)->where('end_time_line', '>', $now_line)->pluck('docter_id')->toArray();
+            $builder->where('is_phone', 1)->whereIn('id', $ids);
         }
         if ($list_type == 2) {
+            $ids = DocterServiceTime::where('type', 2)->where('start_time_line', '<=', $now_line)->where('end_time_line', '>', $now_line)->pluck('docter_id')->toArray();
+            $builder->where('is_phone', 1)->whereIn('id', $ids);
             $builder->where('is_chat', 1);
         }
         if ($list_type == 3) {
@@ -177,15 +182,20 @@ class DocterController extends AuthController
 
     public function timePeriodList()
     {
+        $req = request()->post();
+        $this->validate(request(), [
+            'organization_id' => 'required|integer',
+        ]);
+
         $data = [];
-        $data['list'] = TimePeriod::select(['id', 'start_time_period', 'end_time_period'])->get();
+        $data['list'] = TimePeriod::select(['id', 'start_time_period', 'end_time_period'])->where('org_id', $req['organization_id'])->get()->toArray();
 
         for ($i = 0; $i < 7; $i++) {
             if ($i > 0) {
-                $data['dates'][] = date('m-d', strtotime("+$i days"));
+                $data['dates'][] = date('Y-m-d', strtotime("+$i days"));
             }
             else {
-                $data['dates'][] = date('m-d');
+                $data['dates'][] = date('Y-m-d');
             }
         }
 

+ 5 - 1
app/Http/Controllers/Api/V1/NurseController.php

xqd xqd
@@ -16,12 +16,13 @@ class NurseController extends AuthController
     {
         $req = request()->post();
         $this->validate(request(), [
+            'organization_id' => 'required|integer',
             'name' => 'max:255',
             'free_type' => 'in:0,1,2',
             'sort_type' => 'in:0,1,2'
         ]);
 
-        $builder = Nurse::select(['id', 'price', 'name', 'remark']);
+        $builder = Nurse::select(['id', 'org_id', 'price', 'name', 'remark']);
         if (!empty($req['free_type'])) {
             if ($req['free_type'] == 1) {
                 $builder->where('price', 0);
@@ -33,6 +34,9 @@ class NurseController extends AuthController
         if (!empty($req['name'])) {
             $builder->where('name', 'like', '%'.$req['name'].'%');
         }
+        if (!empty($req['organization_id'])) {
+            $builder->where('org_id', $req['organization_id']);
+        }
         if (!empty($req['sort_type'])) {
             if ($req['sort_type'] == 1) {
                 $builder->orderBy('price', 'asc');

+ 9 - 5
app/Http/Controllers/Api/V1/VaccineController.php

xqd
@@ -16,24 +16,28 @@ class VaccineController extends AuthController
     {
         $req = request()->post();
         $this->validate(request(), [
+            'organization_id' => 'required|integer',
             'name' => 'max:50',
             'type' => 'in:0,1,2',
             'sort_type' => 'in:0,1,2',
         ]);
 
-        $builder = Vaccine::select(['id', 'type', 'price', 'name', 'remark', 'supplier']);
+        $builder = Vaccine::join('organization_vaccines', 'organization_vaccines.vaccine_id', '=', 'vaccines.id')->select(['vaccines.id', 'vaccines.type', 'vaccines.price', 'vaccines.name', 'vaccines.remark', 'vaccines.supplier', 'organization_vaccines.stock']);
         if (!empty($req['type'])) {
-            $builder->where('type', $req['type']);
+            $builder->where('vacciness.type', $req['type']);
         }
         if (!empty($req['name'])) {
-            $builder->where('name', 'like', '%'.$req['name'].'%');
+            $builder->where('vacciness.name', 'like', '%'.$req['name'].'%');
+        }
+        if (!empty($req['organization_id'])) {
+            $builder->where('organization_vaccines.org_id', $req['organization_id']);
         }
         if (!empty($req['sort_type'])) {
             if ($req['sort_type'] == 1) {
-                $builder->orderBy('price', 'asc');
+                $builder->orderBy('vaccines.price', 'asc');
             }
             elseif ($req['sort_type'] == 2) {
-                $builder->orderBy('price', 'desc');
+                $builder->orderBy('vaccines.price', 'desc');
             }
         }
 

+ 13 - 0
app/Models/Docter.php

xqd
@@ -74,8 +74,21 @@ class Docter extends BaseModel
 
         return $data;
     }
+
     public function organization()
     {
         return $this->belongsToMany(Organization::class);
     }
+
+    public function getChatPriceAttribute()
+    {
+        $base_price = Doctertimes::where('docter_id', $this->id)->where('type', 2)->value('base_price');
+        return $base_price*100;
+    }
+
+    public function getPhonePriceAttribute()
+    {
+        $base_price = Doctertimes::where('docter_id', $this->id)->where('type', 1)->value('base_price');
+        return $base_price*100;
+    }
 }

+ 16 - 0
app/Models/DocterServiceTime.php

xqd
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: zilongs
+ * Date: 2020/12/18
+ * Time: 11:02 下午
+ */
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class DocterServiceTime extends Model
+{
+
+}