|
@@ -53,13 +53,13 @@ class CheckOrderStatus extends Command
|
|
|
if($uid) {
|
|
|
$this->checkOne($uid);
|
|
|
}else{
|
|
|
- $sql_format = 'SELECT uid FROM user_month_sign WHERE created_at >= DATE_ADD(NOW(),INTERVAL -1 hour) and `type`="MONTH" and
|
|
|
+ $sql_format = 'SELECT uid,`type` FROM user_month_sign WHERE created_at >= DATE_ADD(NOW(),INTERVAL -1 hour) and
|
|
|
NOT EXISTS (SELECT id FROM user_month_order WHERE user_month_order.uid =user_month_sign.uid and created_at BETWEEN "%s" and "%s" )';
|
|
|
$sql = sprintf($sql_format,date('Y-m-01'),date('Y-m-01',strtotime('+1 month')));
|
|
|
$result = DB::select($sql);
|
|
|
if($result){
|
|
|
foreach ($result as $item){
|
|
|
- $this->checkOne($item->uid);
|
|
|
+ $this->checkOne($item->uid,$item->type);
|
|
|
}
|
|
|
}
|
|
|
/*$result = UserMonthSign::where('created_at','>=',date('Y-m-d H:i:s',time()-1800))->select('uid')->get();
|
|
@@ -70,10 +70,24 @@ NOT EXISTS (SELECT id FROM user_month_order WHERE user_month_order.uid =user_mon
|
|
|
}*/
|
|
|
}
|
|
|
}
|
|
|
- public function checkOne($uid){
|
|
|
+ public function checkOne($uid,$type){
|
|
|
//int $user_id,int $plan_id,string $app_id,string $key,string $app_secret
|
|
|
- $plan_id = env('MONTH_ORDER_PLAN_ID');
|
|
|
+
|
|
|
$app_id = env('MONTH_ORDER_APPID');
|
|
|
+ if($type == 'MONTH'){
|
|
|
+ $plan_id = env('MONTH_ORDER_PLAN_ID');
|
|
|
+ $product_id = 6826;
|
|
|
+ }elseif ($type == 'WEEK'){
|
|
|
+ $product_id =7394;
|
|
|
+ $plan_id = env('MONTH_WEEK_ORDER_PLAN_ID');
|
|
|
+ }else{
|
|
|
+ $product_id =0;
|
|
|
+ $plan_id ='';
|
|
|
+ }
|
|
|
+ if(empty($plan_id)) {
|
|
|
+ Log::info(sprintf('plan is not exist,uid is : %s,order is not exist',$uid));
|
|
|
+ return '';
|
|
|
+ }
|
|
|
$key = env('MONTH_ORDER_KEY');
|
|
|
$app_secret = env('MONTH_ORDER_APP_SECRET');
|
|
|
$result = UserMonthService::checkOrderStatus($uid,$plan_id,$app_id,$key,$app_secret);
|
|
@@ -94,12 +108,12 @@ NOT EXISTS (SELECT id FROM user_month_order WHERE user_month_order.uid =user_mon
|
|
|
Log::info($result);
|
|
|
if (!UserMonthService::getOrderByOrder($trade_no, $out_trade_no)) {
|
|
|
Log::info('deal uid is :'.$uid);
|
|
|
- UserMonthService::createLOrder($uid, $plan_id, $money, $trade_no, $out_trade_no);
|
|
|
- $this->addOrderAndVip($uid, $out_trade_no, $trade_no, $money);
|
|
|
+ UserMonthService::createLOrder($uid, $plan_id, $money, $trade_no, $out_trade_no,$type);
|
|
|
+ $this->addOrderAndVip($uid, $out_trade_no, $trade_no, $money,$type,$product_id);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private function addOrderAndVip($uid, $out_trade_no, $trade_no, $price)
|
|
|
+ private function addOrderAndVip($uid, $out_trade_no, $trade_no, $price,$type,$product_id)
|
|
|
{
|
|
|
|
|
|
$order_info = OrderService::getByTradeNo($out_trade_no);
|
|
@@ -109,13 +123,30 @@ NOT EXISTS (SELECT id FROM user_month_order WHERE user_month_order.uid =user_mon
|
|
|
}
|
|
|
$user_info = UserService::getById($uid);
|
|
|
if (!$user_info) return;
|
|
|
- $this->createOrder($uid, $user_info->distribution_channel_id, 0, $price, $out_trade_no, $trade_no);
|
|
|
- YearOrderService::save_month_order([
|
|
|
+ $this->createOrder($uid, $user_info->distribution_channel_id, $product_id, $price, $out_trade_no, $trade_no);
|
|
|
+ /*YearOrderService::save_month_order([
|
|
|
'uid' => $uid,
|
|
|
'distribution_channel_id' => $user_info->distribution_channel_id,
|
|
|
'fee' => $price / 100,
|
|
|
'send_order_id' => 0
|
|
|
- ]);
|
|
|
+ ]);*/
|
|
|
+ if($type == 'MONTH'){
|
|
|
+ YearOrderService::save_month_order([
|
|
|
+ 'uid' => $uid,
|
|
|
+ 'distribution_channel_id' => $user_info->distribution_channel_id,
|
|
|
+ 'fee' => $price / 100,
|
|
|
+ 'send_order_id' => 0
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ if($type == 'WEEK'){
|
|
|
+ YearOrderService::save_vip_order_daynum([
|
|
|
+ 'uid' => $uid,
|
|
|
+ 'distribution_channel_id' => $user_info->distribution_channel_id,
|
|
|
+ 'fee' => $price / 100,
|
|
|
+ 'send_order_id' => 0,
|
|
|
+ 'day_num'=>7
|
|
|
+ ]);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private function createOrder($uid, $distribution_channel_id, $product_id, $price, $trade_no, $transaction_id)
|