예제 #1
0
  public function run () {
  
    DB::table('bouns')->delete();

    $users = User::all();

    for ($i = 1; $i < 20; $i++) {

      foreach ($users as $user) {
      
        Boun::create([
        
          'note' => (20 + $i % 2 * 10),

          'type' => 1 % $i,
          
          'uid' => $user->id,

          'oid' => 1,

          'code' => $this->seed(5),

          'active' => 1
        
        ]);
      
      }

    }
  
  }
예제 #2
0
  public function postInvite(Request $request) 
  {
    $shares = $request->input('shares'); 

    $shares = str_replace("\n", " ", $shares);


    if (empty($shares)) {

      return $this->failResponse('empty');

    }

    $arr = explode(' ', $shares); 

    if (!count($arr)) {

      return $this->failResponse('invalid');

    }

    $user = Auth::user();

    $boun = Boun::where('uid', '=', $user->id)

      ->where('active', '=', 1)

      ->first();

    if (empty($boun->id)) {

      return $this->failResponse('not_found');

    }

    $info = [ 'friend' => $user->name, 'recommend' => $boun->code ];

    $illegal = array();

    $sent = array();

    foreach ($arr as $val) {

      /*
       * 手机号
       */
      if (is_numeric($val) && strlen($val) == 11) {

        $res = event(new TriggerSms($val, 'invite', $info));

        array_push($sent, $val);

        continue;

      } else if (filter_var($val, FILTER_VALIDATE_EMAIL)) {
        /*
         * 邮箱
         */

        $res = event(new TriggerEmail($val, 'invite', $info));

        array_push($sent, $val);

        continue;

      }

      array_push($illegal, $val);

    }

    return $this->successResponse('result', [ 'illegal' => $illegal, 'sent' => $sent ]);
  
  }
예제 #3
0
  public function postCheck (Request $request) 
  {
    $user = Auth::user();

    $type = $request->input('type');

    $bcode = $request->input('boun_code');

    $boun = Boun::where('code', '=', $bcode)

        ->where('active', '=', 1)

        ->first();

    $data = array ( 
    
      'uid' => $user->id,

      'boun' => $boun
    
    );

    return $this->successResponse('res', $data);

  }
예제 #4
0
  public function getRebuy (Request $request) 
  {

    if (Session::get('rebuy_code') == $request->input('order_code')) {

      $mb = $request->input('mb');

      if (empty($mb)) {
    
        return redirect('/order/pay?order=' . Session::get('order_code'));

      } else {
      
        return redirect('/order/pay?order=' . Session::get('order_code') . '&mb=true');
      
      }
    
    } else {

      Session::put('rebuy_code', $request->input('order_code'));
    
    }

    $order_code = $request->input('order_code'); 

    if (empty($order_code)) {
    
      //todo
    
    }

    $user = Auth::user();

    $orderInfo = OrderAllInfo::where('order_code', '=', $order_code)

      ->where('uid', '=', $user->id)
      
      ->first();

    if (empty($orderInfo->oid)) {
    
      //todo

    }

    $newOrder = [
    
      'code' => $this->generateOrderCode($user->id),

      'uid' => $user->id,

      'rid' => $orderInfo->rid,

      'cid' => $orderInfo->cid,

      'gid' => $orderInfo->gid,

      'num' => $orderInfo->num,

      'sum' => $orderInfo->orig_price,

      'comment' => $orderInfo->comment,

      'status' => 0,

      'active' => 1
    
    ];

    $order = Order::create($newOrder);

    Session::put('order_code', $order->code);

    $orderPrices = [
    
      'oid' => $order->id,

      'orig_price' => $order->sum,

      'cut_fee' => 0,

      'extra_fee' => 0,

      'final_price' => $orderInfo->orig_price,

      'active' => 1
    
    ];

    $op = OrderPrice::create($orderPrices);

    $good = Good::where('id', '=', $order->gid)->first();

    $receiver = ReceiverInfo::where('id', '=', $order->rid)->first();

    $pay_token = md5($order->id . time());

    $banks = Bank::all();

    $bouns = Boun::where('uid', '=', $user->id)
      
      ->where('active', '=', 1)

      ->where('type', '=', 1)
      
      ->get();

    $data = [

      'rebuy' => true,

      'bouns' => $bouns,
    
      'order' => $order,

      'orderPrice' => $op,

      'good' => $good,

      'receiver' => $receiver,

      'pay_token' => $pay_token,

      'banks' => $banks,

      'is_pay' => true,

      'wTitle' => '订单支付'
    
    ];

    $mb = $request->input('mb');

    if (!empty($mb)) {
    
      return view('mobile/minipay', $data);

    } else {
    
      return view('orders/pay', $data);
    
    }
  
  }
예제 #5
0
 private function generateDiscount()
 {
     return Boun::create(['note' => 30, 'type' => 1, 'uid' => $this->user->id, 'code' => $this->generateCode(), 'active' => 1]);
 }
예제 #6
0
  public function getMyshare (Request $request)
  {
    $user = Auth::user();

    if (empty($user->id)) {

      Session::put('pre_url', '/mobile/myshare');
    
      return redirect('/mobile/login');
    
    }

    $username = Crypt::encrypt($user->mobile);

    $boun = Boun::where('uid', '=', $user->id)

      ->where('type', '=', 0)

      ->first();

    $url = "/mobile/share?user={$username}";
    
    return redirect($url);
    
  }
예제 #7
0
  public function getBuy(Request $request)
  {
    $gcode = $request->input('gcode');

    $ch = $request->input('car_hand');

    if (empty($ch) || strlen($ch) == 0) {
    
      return redirect('/miniorder/cartype');

    }

    $user = Auth::user();
    
    $gcode = (empty($gcode) || strlen($gcode) == 0) ? 'beyond-three' : $gcode;

    $good = Good::where('code', '=', $gcode)->first();

    if (empty($good)) {
      
      //todo
    
    }

    $carhand = $ch == 1 ? 'one' : 'second';

    $cars = Car::where('uid', '=', $user->id)->where('car_hand', '=', $carhand)->orderBy('last_used', 'desc')->get();

    $defaultCar = Car::where('uid', '=', $user->id)->where('car_hand', '=', $carhand)->where('last_used', '=', 1)->first();

    $receivers = Receiver::where('uid', '=', $user->id)->orderBy('last_used', 'desc')->get();
        
    $defaultReceiver = Receiver::where('uid', '=', $user->id)->where('last_used', '=', 1)->first();

    $bouns = Boun::where('uid', '=', $user->id)

        ->where('type', '=', 1)
      
        ->where('active', '=', 1)

        ->get();

    $goodInfo = GoodAttribsInfo::where('gid', '=', $good->id)->where('acode', '=', 'price')->first();

    $data = [
      
      'good' => $good,

      'receivers' => $receivers,

      'defaultReceiver' => $defaultReceiver,

      'cars' => $cars,

      'defaultCar' => $defaultCar,

      'bouns' => $bouns,

      'goodInfo' => $goodInfo,

      'formCode' => md5(time()),

      'car_hand' => $carhand,

      'step' => 2,

      'header' => '确认订单'
      
    ];

    return view('mobile/pay', $data);
  
  }
예제 #8
0
  public function getOrderpdf (Request $request) 
  {

    $oid = $request->input('oid');

    $order = OrderAllInfo::where('order_code', '=', $oid)->first();

    if (empty($order) || count($order) == 0) {

      return 'fail';

    }

    $boun = Boun::where('uid', '=', $order->uid)

      ->where('type', '=', 0)

      ->first();

    $data = [
    
      'order_code' => $order->order_code,

      'mobile' => $order->mobile,

      'user' => $order->order_owner,

      'created_at' => $order->created_at,

      'receiver' => $order->receiver,

      'address' => $order->city . $order->district . $order->address,
    
      'boun_code' => $boun->code,

      'good_name' => $order->good_name,

      'price' => $order->g_single_price,

      'num' => $order->num,

      'cut_fee' => $order->cut_fee,

      'final_fee' => $order->final_price,

      'car_num' => $order->plate_number
    
    ];

    return view('order_pdf', $data);

  }
예제 #9
0
 public function postDeliver(Request $request)
 {
     $validator = Validator::make($request->input(), ['plate_number' => 'required', 'company' => 'required', 'deliver_code' => 'required']);
     if ($validator->fails()) {
         $failed = $validator->failed();
         return $this->failResponse($failed);
     }
     $plate_number = $request->input('plate_number');
     $company = $request->input('company');
     $deliver_code = $request->input('deliver_code');
     $order_code = $request->input('order_code');
     $operator_id = Session::get('admin')->id;
     $deliver = DeliverInfo::where('order_code', '=', $order_code)->first();
     $order = Order::where('code', '=', $order_code)->first();
     /*
      * 如果未创建
      */
     if (empty($deliver->id)) {
         $result = DeliverInfo::create(['company' => $company, 'code' => $deliver_code, 'order_code' => $order_code, 'operator_id' => $operator_id, 'active' => 1]);
         if (!empty($result->id)) {
             if (!empty($order->id)) {
                 $order->status = 2;
                 $order->plate_number = $plate_number;
                 $order->save();
                 $user = User::find($order->uid);
                 $boun = Boun::where('uid', '=', $user->id)->where('type', '=', 0)->where('active', '=', 1)->first();
                 $post_data = ['order_code' => $order->code, 'deliver_code' => $result->code, 'company' => $result->company, 'recommend' => !empty($boun->code) ? $boun->code : '您还没有优惠码', 'user' => $user->name, 'url' => "www.sf-express.com"];
                 $smsRes = event(new TriggerSms($user->mobile, 'deliver', $post_data));
                 $mailRes = event(new TriggerEmail($user->email, 'deliver', $post_data));
                 return $this->successResponse('res', ['deliver' => $result, 'order' => $order, 'sms' => $smsRes, 'mailRes' => $mailRes]);
             } else {
                 return $this->failResponse('order_not_found');
             }
         } else {
             return $this->failResponse('failed');
         }
     } else {
         $deliver->code = $deliver_code;
         $deliver->company = $company;
         $deliver->save();
         $order->plate_number = $plate_number;
         $order->save();
         return $this->successResponse('res', ['deliver' => $deliver, 'order' => $order]);
     }
 }