Silent 6 år sedan
förälder
incheckning
9354497a23

+ 5 - 0
app/Console/Kernel.php

@@ -2,6 +2,7 @@
 
 
 namespace App\Console;
 namespace App\Console;
 
 
+use Carbon\Carbon;
 use Illuminate\Console\Scheduling\Schedule;
 use Illuminate\Console\Scheduling\Schedule;
 use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
 use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
 
 
@@ -26,6 +27,10 @@ class Kernel extends ConsoleKernel
     {
     {
         // $schedule->command('inspire')
         // $schedule->command('inspire')
         //          ->hourly();
         //          ->hourly();
+        $schedule->call(function () {
+            $begin = Carbon::today()->toDateTimeString();
+            $end = Carbon::tomorrow()->toDateTimeString();
+        })->dailyAt('23:50');
     }
     }
 
 
     /**
     /**

+ 3 - 10
app/Http/Controllers/TestController.php

@@ -13,15 +13,8 @@ class TestController extends Controller
 {
 {
     public function index(Request $request)
     public function index(Request $request)
     {
     {
-        $client = new Client();
-        $from = '39.071510,117.190091';
-        $to = $from;
-        $url = 'https://apis.map.qq.com/ws/distance/v1/?from=' . $from . '&to=' . $to . '&key=' . env('TECENT_POSITION_KEY');
-        $url = 'https://apis.map.qq.com/ws/distance/v1/?mode=driving&from=39.983171,116.308479&to=39.996060,116.353455;39.949227,116.394310&key=2DEBZ-SPSK3-ICA3T-Y4Y7D-EDWYQ-WBFVE';
-        $res = $client->get($url);
-
-        $res = (string)$res->getBody();
-        dd($res);
-        return response()->json(['status' => 'success', 'data' => $res]);
+        $begin = Carbon::today()->toDateTimeString();
+        $end = Carbon::tomorrow()->toDateTimeString();
+        dd($begin, $end);
     }
     }
 }
 }

+ 27 - 0
app/Http/Controllers/WeChat/ApiController.php

@@ -2,8 +2,11 @@
 
 
 namespace App\Http\Controllers\WeChat;
 namespace App\Http\Controllers\WeChat;
 
 
+use App\Models\CheckCard;
 use App\Models\Setting;
 use App\Models\Setting;
 use App\Models\Student;
 use App\Models\Student;
+use App\Models\StudentCourse;
+use Carbon\Carbon;
 use GuzzleHttp\Client;
 use GuzzleHttp\Client;
 use Illuminate\Http\Request;
 use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
 use App\Http\Controllers\Controller;
@@ -78,4 +81,28 @@ class ApiController extends Controller
         }
         }
         return response()->json(['status' => 'success', 'result' => $result]);
         return response()->json(['status' => 'success', 'result' => $result]);
     }
     }
+
+    public function startCheckCard(Request $request)
+    {
+        if(empty($request->input('student_id')) || empty($student = Student::find($request->input('student_id')))) {
+            return back()->json(['status' => 'fail', 'info' => '找不到学员']);
+        }
+
+        $student_course = StudentCourse::where('student_id', $student->id)->first();
+        if(empty($student_course)) {
+            return back()->json(['status' => 'fail', 'info' => '暂无课程']);
+        }
+
+        $res = CheckCard::create([
+            'student_id' => $student_course->student_id,
+            'course_id' => $student_course->course_id,
+            'student_course_id' => $student_course->id,
+            'begin_date_time' => Carbon::now()->toDateTimeString()
+        ]);
+
+        if(empty($res)) {
+            return back()->json(['status' => 'fail', 'info' => '创建失败']);
+        }
+        return back()->json(['status' => 'success', 'info' => '操作成功']);
+    }
 }
 }

+ 2 - 2
routes/wechat.php

@@ -2,5 +2,5 @@
 use \Illuminate\Support\Facades\Route;
 use \Illuminate\Support\Facades\Route;
 
 
 Route::post('login', 'ApiController@login');
 Route::post('login', 'ApiController@login');
-
-Route::get('checkPosition', 'ApiController@checkPosition');
+Route::get('checkPosition', 'ApiController@checkPosition');
+Route::get('startCheckCard', 'ApiController@startCheckCard');

+ 17 - 3
wechat/pages/index/index.js

@@ -52,18 +52,21 @@ Page({
     })
     })
   },
   },
   validLocation(latitude, longitude) {
   validLocation(latitude, longitude) {
+    let res = api.isTest ? true : false;
     wx.request({
     wx.request({
-      url: api.checkPosition,
+      url: api.checkPositionUrl,
       method: 'GET',
       method: 'GET',
       data: {
       data: {
         latitude: latitude,
         latitude: latitude,
         longitude: longitude
         longitude: longitude
       },
       },
       success: res => {
       success: res => {
-        console.log(res);
+        if(res.data.status == 'success' && res.data.result == 'ok') {
+          res = true;
+        }
       }
       }
     });
     });
-    return true;
+    return res;
   },
   },
   handleBtnClick() {
   handleBtnClick() {
     let isLearning = this.data.isLearning
     let isLearning = this.data.isLearning
@@ -111,6 +114,17 @@ Page({
         clock: "" + hours + ":" + mins + ":" + sec
         clock: "" + hours + ":" + mins + ":" + sec
       })
       })
     }, SEC)
     }, SEC)
+
+    wx.request({
+      url: api.startCheckCardUrl,
+      method: 'GET',
+      data: {
+        'student_id': app.globalData.ptStudent.id
+      },
+      success: res => {
+        
+      }
+    })
     this.interval = interval
     this.interval = interval
   },
   },
   endClock() {
   endClock() {

+ 3 - 1
wechat/utils/api.js

@@ -3,5 +3,7 @@ const headUrl = 'http://t20.9026.com/wechat/';
 module.exports = {
 module.exports = {
   headUrl: headUrl,
   headUrl: headUrl,
   loginUrl: headUrl + 'login',
   loginUrl: headUrl + 'login',
-  checkPosition: headUrl + 'checkPosition'
+  checkPositionUrl: headUrl + 'checkPosition',
+  startCheckCardUrl: headUrl + 'startCheckCard',
+  isTest: true
 }
 }