| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317 | 
							- <?php
 
- namespace App\Admin\Controllers\Company;
 
- use App\Admin\Extensions\Form\ValidateForm;
 
- use App\Http\Controllers\Controller;
 
- use App\Models\Order;
 
- use App\Services\Common\OrderService;
 
- use App\Services\Common\PayService;
 
- use Encore\Admin\Controllers\HasResourceActions;
 
- use Encore\Admin\Facades\Admin;
 
- use Encore\Admin\Form;
 
- use Encore\Admin\Grid;
 
- use Encore\Admin\Layout\Content;
 
- use Encore\Admin\Show;
 
- use Illuminate\Http\Request;
 
- use Illuminate\Support\Facades\Route;
 
- class OrderController extends Controller
 
- {
 
-     use HasResourceActions;
 
-     /**
 
-      * Index interface.
 
-      *
 
-      * @param Content $content
 
-      * @return Content
 
-      */
 
-     public function index(Content $content)
 
-     {
 
-         $name = Route::currentRouteName();
 
-         $arr = explode('.', $name);
 
-         if ($arr[1] == 'company') {
 
-             $type_id = 1;
 
-         } else {
 
-             $type_id = 2;
 
-         }
 
-         return $content
 
-             ->header('订单管理')
 
-             ->description('列表')
 
-             ->body($this->grid($type_id));
 
-     }
 
-     /**
 
-      * Show interface.
 
-      *
 
-      * @param mixed $id
 
-      * @param Content $content
 
-      * @return Content
 
-      */
 
-     public function show($id, Content $content)
 
-     {
 
-         return $content
 
-             ->header('订单管理')
 
-             ->description('详情')
 
-             ->body($this->detail($id));
 
-     }
 
-     public function detail($id)
 
-     {
 
-         $show = new Show(Order::findOrFail($id));
 
-         $show->oid('订单ID');
 
-         $show->order_type('订单类型')->as(function ($order_type) {
 
-             $arr = [
 
-                 1=>"套餐升级",
 
-                 2=>"充值积分",
 
-                 3=>"简历置顶",
 
-                 4=>"醒目标签",
 
-                 5=>"简历模板",
 
-                 6=>"简历包",
 
-                 7=>"短信包",
 
-                 8=>"职位置顶",
 
-                 9=>"职位紧急",
 
-                 10=>"企业模板",
 
-                 12=>"预约刷新职位",
 
-                 13=>"职位刷新",
 
-                 14=>"简历下载",
 
-                 15=>"职位包",
 
-                 16=>"招聘会包",
 
-             ];
 
-             return $arr[$order_type];
 
-         });
 
-         $show->pay_type('支付类型')->as(function ($pay_type) {
 
-             switch ($pay_type) {
 
-                 case 1:
 
-                     return '积分';
 
-                     break;
 
-                 case 2:
 
-                     return '现金';
 
-                     break;
 
-                 case 3:
 
-                     return '现金+积分';
 
-                     break;
 
-             }
 
-         });
 
-         $show->is_pay('支付状态')->as(function ($is_pay) {
 
-             switch ($is_pay) {
 
-                 case 1:
 
-                     return '待支付';
 
-                     break;
 
-                 case 2:
 
-                     return '已支付';
 
-                     break;
 
-                 case 3:
 
-                     return '已取消';
 
-                     break;
 
-             }
 
-         });
 
-         $show->amount('总金额');
 
-         $show->pay_amount('现金支付金额');
 
-         $show->pay_points('支付积分');
 
-         $show->payment_cn('支付方式');
 
-         $show->description('订单描述');
 
-         $show->service_name('购买服务名称');
 
-         $show->payment_time('支付时间')->as(function ($payment_time) {
 
-             if ($payment_time) {
 
-                 return date('Y-m-d H:i:s', $payment_time);
 
-             }
 
-         });
 
-         return $show;
 
-     }
 
-     /**
 
-      * Edit interface.
 
-      *
 
-      * @param mixed $id
 
-      * @param Content $content
 
-      * @return Content
 
-      */
 
-     public function edit($id, Content $content)
 
-     {
 
-         $name = Route::currentRouteName();
 
-         $arr = explode('.', $name);
 
-         if ($arr[1] == 'company') {
 
-             $type_id = 1;
 
-         } else {
 
-             $type_id = 2;
 
-         }
 
-         return $content
 
-             ->header('订单管理')
 
-             ->description('编辑')
 
-             ->body($this->form($type_id)->edit($id));
 
-     }
 
-     /**
 
-      * Make a grid builder.
 
-      *
 
-      * @return Grid
 
-      */
 
-     protected function grid($type)
 
-     {
 
-         $grid = new Grid(new Order);
 
-         $grid ->model()->where('utype', $type)->when(get_subsite_id()>0, function ($querys) use ($type) {
 
-             if ($type ==1) {
 
-                 $relations = 'companys';
 
-             } else {
 
-                 $relations = 'members';
 
-             }
 
-             $querys->whereHas($relations, function ($query) {
 
-                 $query->where('subsite_id', get_subsite_id());
 
-             });
 
-         })->orderBy('created_at', 'desc')->orderBy("is_pay", 'asc');
 
-         $grid->is_pay('支付状态')->display(function ($is_pay) {
 
-             if ($is_pay == 1) {
 
-                 return '<span style="color: #FF3300">待付款</span>';
 
-             } elseif ($is_pay == 2) {
 
-                 return '<span style="color: #009900">已付款</span>';
 
-             } else {
 
-                 return '已取消';
 
-             }
 
-         });
 
-         $grid->amount('金额')->width(150);
 
-         if ($type == 1) {
 
-             $grid->column('companys.companyname', '企业名称')->width(200);
 
-         } else {
 
-             $grid->column('members.username', '会员名称')->width(200);
 
-         }
 
-         $grid->service_name('说明')->width(150);
 
-         if ($type == 1) {
 
-             $grid->column('companys.username', '企业会员')->width(200);
 
-         } else {
 
-             $grid->column('members.username', '个人会员')->width(200);
 
-         }
 
-         $grid->oid('订单号')->width(200);
 
-         $grid->created_at('申请时间');
 
-         $grid->payment_cn('支付方式')->width(150)->display(function ($payment_cn) {
 
-                  if ($payment_cn=="积分"){
 
-                      return "积分支付";
 
-                  } else{
 
-                      return $payment_cn;
 
-                  }
 
-         });
 
-         $grid->filter(function ($filter) use ($type) {
 
-             $filter->column(1/2, function ($filter) use ($type) {
 
-                 $filter->equal('uid', '企业ID');
 
-                 if ($type == 1) {
 
-                     $filter->like('companys.username', '会员名称');
 
-                     $filter->like('companys.companyname', '企业名称');
 
-                 } else {
 
-                     $filter->like('members.username', '会员名称');
 
-                 }
 
-                 $filter->equal('is_pay', '支付状态')->select([1=>'待付款',2=>'已付款',3=>'已取消']);
 
-                 $filter->equal('payment', '支付方式')->select(['offline'=>'线下转帐','alipay'=>'支付宝','wechat'=>'微信','points'=>"积分支付"]);
 
-             });
 
-             $filter->column(1/2, function ($filter) {
 
-                 $filter->like('oid', '订单号');
 
-                 $filter->equal('order_type', '订单类型')->select(
 
-                     [
 
-                         1=>'套餐升级',
 
-                         2=>'充值积分',
 
-                         3=>'简历置顶',
 
-                         4=>'醒目标签',
 
-                         5=>'简历模板',
 
-                         6=>'简历包',
 
-                         7=>'短信包',
 
-                         8=>'职位置顶',
 
-                         9=>'职位紧急',
 
-                         10=>'企业模板',
 
-                         11=>'职位刷新',
 
-                         12=>'简历下载'
 
-                     ]
 
-                 );
 
-                 $filter->between('created_at', '注册时间')->datetime();
 
-             });
 
-         });
 
-         $grid->actions(function ($actions) use ($type) {
 
-             if ($type == 1) {
 
-                 if (Admin::user()->can('order_manager_edit')) {
 
-                     $actions->disableEdit(false);
 
-                 }
 
-             } else {
 
-                 if (Admin::user()->can('person_order_edit')) {
 
-                     $actions->disableEdit(false);
 
-                 }
 
-             }
 
- //            if ($type == 1) {
 
- //                if (Admin::user()->can('order_manager_delete')) {
 
- //                    $actions->disableDelete(false);
 
- //                }
 
- //            } else {
 
- //                if (Admin::user()->can('person_order_delete')) {
 
- //                    $actions->disableDelete(false);
 
- //                }
 
- //            }
 
-         });
 
-         return $grid;
 
-     }
 
-     /**
 
-      * Make a form builder.
 
-      *
 
-      * @return Form
 
-      */
 
-     protected function form($type)
 
-     {
 
-         $form = new ValidateForm(new Order);
 
-         $form->display('id')->setWidth(2);
 
-         if ($type == 1) {
 
-             $form->display('companys.username', '企业会员')->setWidth(2);
 
-         } else {
 
-             $form->display('members.username', '个人会员')->setWidth(2);
 
-         }
 
-         $form->radio('is_pay', '支付状态')->options([1=>'待付款',2=>'已付款',3=>'已取消']);
 
-         $form->display('amount', '订单金额')->setWidth(2);
 
-         $form->display('pay_amount', '现金支付金额')->setWidth(2);
 
-         $form->display('pay_points', '积分支付')->setWidth(2);
 
-         $form->display('payment_cn', "支付方式")->setWidth(2);
 
-         $form->display('created_at', '申请时间')->setWidth(2);
 
-         $form->display('payment_time', '支付时间')->setWidth(2)->with(function ($payment_time) {
 
-             if ($payment_time) {
 
-                 return date('Y-m-d H:i:s', $payment_time);
 
-             }
 
-         });
 
-         $form->display('oid', '订单号')->setWidth(2);
 
-         $form->display('service_name', '订单描述')->setWidth(8);
 
-         $form->text('notes', '添加备注')->setWidth(8);
 
-         return $form;
 
-     }
 
-     public function update(PayService $payService, Request $request, $id,OrderService $orderService)
 
-     {
 
-         $order = Order::where('id', $id)->first();
 
-         if ($order->payment != "offline") {
 
-             admin_error('只有线下转帐的订单可以修改支付状态!');
 
-             return back();
 
-         }
 
-         if ($order->is_pay != 1) {
 
-             admin_error('只有线下转帐且状态为未付款订单可以修改支付状态!');
 
-             return back();
 
-         }
 
-         $data = $this->form($id)->getValidateInput();
 
-         $up_data['is_pay'] = $data['is_pay'];
 
-         if ($data['is_pay'] == 2) {
 
-             $up_data['out_trade_no'] = $order->oid;
 
-             $up_data['notes'] = $data['notes'];
 
-             $up_data['admin_id'] = Admin::user()->id;
 
-             $up_data['operate_time'] = date('Y-m-d H:i:s', time());
 
-             if (!$payService->offlineHook($up_data)) {
 
-                 admin_toastr('订单修改失败', 'error');
 
-             }
 
-         }else{//加个已取消
 
-             Order::where('id', $id)->update(['is_pay'=>3]);
 
-         }
 
-         admin_toastr('订单修改成功', 'success');
 
-         return redirect(route('order.company.index'));
 
-     }
 
- }
 
 
  |