123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Models\Answer;
- use App\Models\CourseChapter;
- use App\Models\CourseLabel;
- use App\Models\Order;
- use App\Models\ProblemRecommend;
- use App\Models\UsefulCount;
- use App\Models\UserCourse;
- use App\Services\ProblemService;
- use App\Services\ToolsServices;
- use App\Services\UserService;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Cache;
- use Illuminate\Support\Facades\DB;
- use Yansongda\LaravelPay\Facades\Pay;
- class Course
- {
- public static function getNewCourse(Request $request)
- {
- $id = Cache::get($request->header('token'));
- $list = \App\Models\Course::getList(1,6);
- $list = \App\Models\Course::isPay($list,$id);
- return ToolsServices::returnAdmin(0,$list);
- }
- public static function getCourseList(Request $request)
- {
- $id = Cache::get($request->header('token'));
- $list = \App\Models\Course::getPayCountList(1,6);
- $list = \App\Models\Course::isPay($list,$id);
- return ToolsServices::returnAdmin(0,$list);
- }
- public static function getGuessList(Request $request)
- {
- $id = Cache::get($request->header('token'));
- $labelList = UserCourse::getLabel(1,6,$id);
- $list = [];
- if (!empty($labelList)){
- $label = array_unique(array_column($labelList,'one_level_label'));
- if (!empty($label)){
- $list = \App\Models\Course::getListByLabel(1,6,$label);
- }else{
- $list = \App\Models\Course::getPayCountList(1,6);
- }
- }
- $list = \App\Models\Course::isPay($list,$id);
- return ToolsServices::returnAdmin(0,$list);
- }
- public static function getCourseListByLabel(Request $request)
- {
- $id = Cache::get($request->header('token'));
- $where = [];
- $oneLabel = $request->post('one_label','all');
- if ($oneLabel != 'all'){
- $where = ['one_level_label'=>$oneLabel];
- }
- $tow_label = $request->post('tow_label','all');
- if ($tow_label != 'all'){
- $where = ['tow_level_label'=>$tow_label];
- }
- $list = \App\Models\Course::getCourse(1,6,$where);
- $list = \App\Models\Course::isPay($list,$id);
- return ToolsServices::returnAdmin(0,$list);
- }
- public static function getCourseChapter(Request $request)
- {
- $id = Cache::get($request->header('token'));
- $course = $request->post('course_id');
- if (!UserCourse::getOne($id,$course)){
- return ToolsServices::error('请先领取');
- }
- $list = CourseChapter::getList(['course_id'=>$id,'status'=>0]);
- return ToolsServices::returnAdmin(0,$list);
- }
- public static function receive(Request $request)
- {
- $id = Cache::get($request->header('token'));
- $course_id = $request->post('course_id');
- $course = \App\Models\Course::getOne(['id'=>$course_id]);
- if ($course['current_price'] == 0){
- UserCourse::insertData(['user_id'=>$id,'course_id'=>$course_id]);
- return ToolsServices::returnAdmin(0,[]);
- }else{
- $info = UserService::getUserInfoByUserId($id);
- $orderId = 'XL-'.time().'-'.mt_rand(1000,9999);
- $orderInfo = [
- 'user_id' => $id,
- 'out_trade_no' => $orderId,
- 'total_fee' => $course['current_price'],
- 'type' => 1,
- 'object_id'=>$course_id
- ];
- Order::insertData($orderInfo);
- $order = [
- 'openid' => $info["openid"],
- 'out_trade_no' => $orderId,
- 'total_fee' => $course['current_price'], // **单位:分**
- 'body' => "订阅",
- ];
- $result = Pay::wechat()->miniapp($order)->toArray();
- return ToolsServices::returnAdmin(0, $result);
- }
- }
- public static function labelList(Request $request)
- {
- $list = CourseLabel::getList();
- return ToolsServices::returnAdmin(0,$list);
- }
- }
|