<?php
use Illuminate\Http\Request;

/*
|--------------------------------------------------------------------------
| Routes File
|--------------------------------------------------------------------------
|
| Here is where you will register all of the routes in an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::pattern('userId', '[0-9]+');
Route::pattern('bid', '[0-9]+');
Route::pattern('roleId', '[0-9]+');


/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| This route group applies the "web" middleware group to every route
| it contains. The "web" middleware group is defined in your HTTP
| kernel and includes session state, CSRF protection, and more.
|
*/



Route::group(['middleware' => 'web'], function () {
    Route::get('/',                                           'OrderController@orderList');
    Route::get('/list',                                       'OrderController@orderList');
    Route::post('/ajax/orderOtherInfoLoading',                'OrderController@orderOtherInfoLoading');
    Route::get('/erp_order',                                  'OrderController@erpOrder');
    Route::get('/export',                         		      'OrderController@export');

    Route::get('/details/{id}',                               'OrderController@details');
    Route::get('/page/details/{id}',                   		  'OrderController@detailsPage');
    Route::get('/change/{id}',                                'OrderController@changeOrder');
    Route::match(['get', 'post'], '/sendSales/{id?}',         'OrderController@sendSales');
    Route::post('/ajaxdeletegoods',                   	      'OrderController@ajaxdeletegoods');
    Route::post('/ajaxSaveChange',                   	      'OrderController@ajaxSaveChange');
    Route::get('/check/{id}',                   		      'OrderController@check');
    Route::match(['get', 'post'], '/applyAdjust/{id}',        'OrderController@applyAdjust');
    Route::match(['get', 'post'], '/send/{id}',               'OrderController@send');
    Route::post('/ajaxCheck',                   		      'OrderController@ajaxCheck');
    Route::match(['get', 'post'], '/adjustPrice/{id}',        'OrderController@adjustPrice');
    // Route::match(['get', 'post'], '/cancelPay/{id}',          'OrderController@cancelPay');
    Route::match(['get', 'post'], '/checkPay/{id}',           'OrderController@checkPay');
    Route::match(['get', 'post'], '/invShipping/{id}',        'OrderController@invShipping');

    Route::match(['get', 'post'], '/changeShipping/{id?}',    'OrderController@changeShipping');
    Route::post('/region/getAll',                             'RegionController@getAll');
    Route::get('/region/cache',                               'RegionController@cache');
    Route::get('/region/clear',                               'RegionController@clear');

    Route::match(['get', 'post'], '/changeInvoice/{id?}',     'OrderController@changeInvoice');

    Route::resource('/prompt',                   		      'PromptController@index');

    Route::get('/count',                                      'OrderCountController@count');
    Route::get('/self_count',                                 'OrderCountController@selfCount');
    Route::get('/amount',                                     'OrderCountController@amount');
    Route::get('/self_amount',                                'OrderCountController@selfAmount');
    Route::post('/ajax/orderAmountInfoLoading',               'OrderCountController@orderAmountInfoLoading');

    Route::match('post', '/ajaxDelayTime',                    'OrderController@ajaxDelayTime');
    
    Route::match('post', '/ajaxRejected',                     'OrderController@ajaxRejected');

    Route::get('/self_order',                                 'OrderController@selfOrder');
    Route::post('/ajaxCancel',                                'OrderController@ajaxCancel');
    Route::post('/ajaxSelfExpress',                           'OrderController@ajaxSelfExpress');
    Route::match(['get', 'post'], '/self_check_pay/{id}',     'OrderController@selfCheckPay');

    Route::match(['get', 'post'], '/express_set',             'OrderController@expressSet');
    Route::match(['get', 'post'], '/tempcount',               'OrderController@tempCount');

    Route::post('/ajaxDownloadContract',                      'OrderController@ajaxDownloadContract'); 
    // Route::post('/ajaxInputCancelReason',                     'OrderController@ajaxInputCancelReason');

    Route::post('/ajax/shipping',                             'OrderController@shipping');

    Route::get('/add_order',                                  'AddOrderController@addOrder');
    Route::post('/ajax/getUserInfo',                          'AddOrderController@getUserInfo');
    Route::post('/ajax/selectAddr',                           'AddOrderController@selectAddr');
    Route::post('/ajax/selectInv',                            'AddOrderController@selectInv');
    Route::post('/ajax/selectInvType',                        'AddOrderController@selectInvType');
    Route::post('/ajax/getCoupon',                            'AddOrderController@getCoupon');

    Route::get('/add_online',                                 'AddOrderController@addOnline');
    Route::post('/ajax/confirm',                              'AddOrderController@confirm');

    Route::get('/add_offline',                                'AddOrderController@addOffline');
    Route::post('/ajax/getSku',                               'AddOrderController@getSku');
    Route::post('/ajax/addCart',                              'AddOrderController@addCart');
    Route::post('/ajax/cartList',                             'AddOrderController@cartList');
    Route::post('/ajax/changeNum',                            'AddOrderController@changeNum');
    Route::post('/ajax/deleteGoods',                          'AddOrderController@deleteGoods');
    Route::post('/ajax/create',                               'AddOrderController@create');
    Route::get('/addorder/success',                           'AddOrderController@success');
    Route::post('/ajax/selfCheck',                            'AddOrderController@selfCheck');
    Route::post('/ajax/switchSaleType',                       'AddOrderController@switchSaleType');
    Route::post('/ajax/checkStock',                           'AddOrderController@checkStock');
    Route::post('/ajax/batchGoodsImport',                     'AddOrderController@batchGoodsImport');

    Route::get('/add_other_order',                            'AddOrderController@addOtherOrder');

    Route::match(['get', 'post'],'/web/{key}',                'WebController@info');
    Route::match(['get', 'post'],'/api/{key}',                'ApiController@Entrance');
    Route::match(['get', 'post'], '/export/{key}',            'ExportController@entrance');

    Route::match(['get', 'post'], '/refund/{id}',             'OrderController@refund');

    Route::get('/refund_order',                               'RefundController@jointRefundList');
    Route::get('/refund_export',                              'RefundController@refundExport');
    Route::get('/refund_details/{id}',                        'RefundController@refundDetails');
    Route::match(['get', 'post'], '/wallet_refund/{id}',      'RefundController@walletRefund');

    Route::get('/refund_self_order',                          'RefundController@selfRefundList');
    Route::post('/ajax/cancelSelfRefund',                     'RefundController@cancelSelfRefund');
    Route::get('/refund_self_export',                         'RefundController@refundSelfExport');

    Route::post('/ajax/offlinePaid',                          'OrderController@offlinePaid');
    Route::post('/ajax/editContract',                         'OrderController@editContract');
  
    Route::match(['get', 'post'], '/return/{id}',             'OrderController@orderReturn');

    Route::get('/self_return_list',                           'ReturnController@selfReturnList');
    Route::get('/return_details/{id}',                        'ReturnController@returnDetails');
    Route::post('/ajax/returnCheck',                          'ReturnController@returnCheck');
    Route::post('/ajax/returnShipping',                       'ReturnController@returnShipping');
    Route::get('/self_return_export',                         'ReturnController@selfReturnExport');

    Route::match(['get', 'post'], '/return_edit/{id}',        'OrderController@orderReturnEdit');

    Route::post('/ajax/addGoods',                             'AddOrderController@addGoods');
    Route::post('/ajax/uploadContract',                       'OrderController@uploadContract');
    Route::post('/ajax/getOrderItemsTrack',                   'OrderController@getOrderItemsTrack');
});

// 不需要登陆态
Route::group(['middleware' => 'api'], function () {
    Route::get ('/api/check/sendsms',                             'OrderController@checkOrderSendSms');
    Route::get ('/api/check/cancelorder',                         'OrderController@checkOrderCancel');
    Route::get ('/api/check/histroyorder',                        'OrderController@checkHistroyOrder');
    Route::get ('/api/check/changeprice',                         'SpecialController@changeOrderPrice');
    Route::get ('/api/check/exportdimission',                     'SpecialController@exportDimission');
    Route::match (['get', 'post'], '/api/check/importdimission',  'SpecialController@importDimission');
    Route::get('/act/useramount',                                 'CronController@userAmount'); // 活动统计用户实付金额
    Route::get('/act/clear',                                      'CronController@clearData'); // 清除活动统计用户表和缓存
    Route::get ('/handle/paylog',                                 'SpecialController@handlePayLog'); // 处理支付记录
    Route::get('/act/sendactmsg',                                 'CronController@sendActMsg'); // 推送活动短信
    Route::get ('/handle/paytype',                                'SpecialController@changeOrderPayType'); // 自营更改预付款支付方式

    Route::post('/hprose/service', function (Request $request) {
        $server = new \App\Services\ExportService();

        $server->init();   //开启服务
    });

    Route::get('client', function () {
        $server = new \App\Services\TestClient();
        $server->index();
    });

});