where('uid', $uid)->where('plan_id', $plan_id)->first(); if ($info) { $info->change_type = $change_type; $info->save(); } else { $model->uid = $uid; $model->plan_id = $plan_id; $model->change_type = $change_type; $model->openid = $openid; $model->type = $type; $model->save(); } return; } public static function isSignMonth($openid){ $model = new UserMonthSign(); return $model->where('openid',$openid)->where('change_type','ADD')->select('id')->first(); } public static function getLastOrder(int $uid){ $model = new UserMonthOrder(); return $model->where('uid',$uid)->orderBy('id','desc')->first(); } public static function createLOrder(int $uid, int $plan_id, int $total_fee, string $trade_no,string $out_trade_no,string $type) { $model = new UserMonthOrder(); $model->uid = $uid; $model->plan_id = $plan_id; $model->total_fee = $total_fee; $model->trade_no = $trade_no; $model->out_trade_no = $out_trade_no; $model->type = $type; $model->save(); return; } public static function getOrderByOrder($trade_no,$out_trade_no){ $model = new UserMonthOrder(); $info = $model->where('trade_no',$trade_no)->first(); return $info; } public static function checkOrderStatus(int $user_id,int $plan_id,string $app_id,string $key,string $app_secret){ $pay_year = date('Y'); $pay_month = date('m'); $sign = strtoupper(_sign(compact('app_id','app_secret','user_id','plan_id','pay_year','pay_month'),$key.$key)); $client = new Client(); $url = 'http://pap.manyuedu.org/checkpay.php?'; $url .= http_build_query(compact('user_id','app_secret','app_id','plan_id','pay_year','pay_month','sign')); $result = $client->request('post',$url)->getBody()->getContents(); return json_decode($result,true); } }