Ejemplo n.º 1
0
 public function cost_detail()
 {
     // 默认渲染数据
     $render_data = ['previous_input' => ['date' => '', 'cost_type' => '10'], 'results' => []];
     $params = Input::all();
     // 参数非空,且指定查询的消费类型,且指定的消费类型有效
     if (!empty($params)) {
         // 默认第一页
         if (!Input::has('page')) {
             $params['page'] = 1;
         }
         if (!Input::has('date')) {
             $params['date'] = date('Y-m');
         }
         Input::merge($params);
         $render_data['previous_input'] = array_merge($render_data['previous_input'], $params);
         // 查询充值记录
         if ($params['cost_type'] == '10') {
             // 先查询费用类型
             $fee_type = FeeType::select('id', 'category', 'item')->where('category', '10')->first();
             // 查询费用明细所必须条件
             $render_data['results'] = CostDetail::select('cost_id', 'created_at', 'fee_type_id', 'number')->where('user_id', Sentry::getUser()->user_id)->where('fee_type_id', $fee_type->id)->where('created_at', 'like', $params['date'] . '%')->orderBy('created_at', 'desc')->get();
         } else {
             if ($params['cost_type'] == '20') {
                 $date = Carbon::parse(Input::get('date'));
                 $date_start = $date->timestamp * 1000;
                 $date->addMonth();
                 $date_end = $date->timestamp * 1000;
                 $render_data['results'] = BusinessController::count(Sentry::getUser()->user_id, $date_start, $date_end);
             }
         }
     }
     return View::make('pages.finance-center.cost-manage.cost-detail', $render_data);
 }
Ejemplo n.º 2
0
 public function recharge()
 {
     $data = static::returnDataArray();
     // $channel = Input::get('channel');
     // if( $channel != 'WX_NATIVE' || $channel != 'ALI_QRCODE' );
     // 	return Response::json(array( 'errCode'=>21, 'message'=>'支付方式只能选去微信或支付宝') );
     // $data["channel"] = $channel;
     $data["channel"] = "WX_NATIVE";
     // $money = 1;
     $money = Input::get('money');
     if (preg_match('/^\\d*$/', $money)) {
         if ((int) $money >= 50 && (int) $money < 10000) {
             $data["total_fee"] = $money * 100;
             //单位换算成分 $money*100
         } else {
             return Response::json(array('errCode' => 21, 'message' => '单次充值金额只能为50至10000元,且为整数'));
         }
     } else {
         return Response::json(array('errCode' => 22, 'message' => '订单金额应为正整数'));
     }
     $data["bill_no"] = CostDetail::get_unique_id();
     $data['title'] = '充值';
     $data["optional"] = json_decode(json_encode(array("user_id" => Sentry::getUser()->user_id), true), true);
     $order_auth_info = new OrderAuthInfo();
     $order_auth_info->transactionId = $data["bill_no"];
     //交易单号
     $order_auth_info->transactionFee = $data["total_fee"];
     //费用
     if (!$order_auth_info->save()) {
         return Response::json(array('errCode' => 23, 'message' => '数据库保存错误'));
     }
     Cache::put($data["bill_no"], $data, 120);
     try {
         $result = BCRESTApi::bill($data);
         if ($result->result_code != 0) {
             return Response::json(array('errCode' => 24, 'message' => $result));
         }
         $code_url = $result->code_url;
         //生成支付链接
     } catch (Exception $e) {
         return Response::json(array('errCode' => 25, 'message' => $e->getMessage()));
     }
     $qrcode = array();
     $qrcode['bill_no'] = $data['bill_no'];
     $qrcode['code_url'] = $code_url;
     Session::put('qrcode', $qrcode);
     return Response::json(array('errCode' => 0, 'message' => 'ok', 'url' => '/beecloud/qrcode'));
 }
Ejemplo n.º 3
0
 /**
  * 插入随机数据
  */
 protected function create_cost_details($total = 300)
 {
     echo 'Creating cost_details...';
     $fee_type = FeeType::where('category', '10')->first();
     $users = User::all();
     foreach ($users as $user) {
         for ($i = 0; $i < $total; ++$i) {
             $cost_detail = new CostDetail();
             $cost_detail->user_id = $user->user_id;
             $cost_detail->fee_type_id = $fee_type->id;
             $cost_detail->number = rand(50, 100);
             $cost_detail->created_at = $this->get_random_datetime();
             $cost_detail->save();
         }
     }
     echo 'Done' . PHP_EOL;
 }