Browse Source

后台给用户下单试课

lizhen_gitee 5 months ago
parent
commit
705785c417

+ 1 - 1
application/admin/controller/Packageorder.php

@@ -151,7 +151,7 @@ class Packageorder extends Backend
         }
 
         //
-        $package_id = input('package_id');
+        $package_id = input('post.package_id');
         $user_id    = input('user_id');
         $package_info = Db::name('lesson_package')->where('id',$package_id)->find();
 

+ 58 - 1
application/admin/controller/Trylessonorder.php

@@ -3,7 +3,11 @@
 namespace app\admin\controller;
 
 use app\common\controller\Backend;
-
+use think\Db;
+use Exception;
+use think\exception\DbException;
+use think\exception\PDOException;
+use think\exception\ValidateException;
 /**
  * 试课预约订单
  *
@@ -70,4 +74,57 @@ class Trylessonorder extends Backend
         return $this->view->fetch();
     }
 
+    /**
+     * 用户下单
+     *
+     * @return string
+     * @throws \think\Exception
+     */
+    public function add()
+    {
+        if (false === $this->request->isPost()) {
+            $trylesson_id = input('trylesson_id',0);
+            $this->assign('trylesson_id',$trylesson_id);
+            return $this->view->fetch();
+        }
+
+        //
+        $trylesson_id   = input('post.trylesson_id');
+        $user_id        = input('user_id');
+        $trylesson_info = Db::name('trylesson')->where('id',$trylesson_id)->find();
+
+        $time = time();
+        //套餐订单
+        $data = [
+            'order_no'     => createUniqueNo('T',$user_id),
+            'user_id'      => $user_id,
+            'trylesson_id' => $trylesson_id,
+            'lesson_ids'   => $trylesson_info['lesson_ids'],
+            'order_amount' => $trylesson_info['price'],
+            'order_status' => 10,
+            'paytime'      => $time,
+            'createtime'   => $time,
+            'updatetime'   => $time,
+
+            'starttime'   => $time,
+            'endtime'     => $time + (30 * 86400),
+
+            'remark'      => input('remark',''),
+            'seller'      => input('seller',''),
+            'pay_type'    => 2,
+        ];
+
+        //入库
+        Db::startTrans();
+        $order_id = Db::name('trylesson_order')->insertGetId($data);
+        if(!$order_id){
+            Db::rollback();
+            $this->error('下单失败');
+        }
+
+        Db::commit();
+
+
+        $this->success('下单成功');
+    }
 }

+ 5 - 1
application/admin/lang/zh-cn/trylessonorder.php

@@ -20,5 +20,9 @@ return [
     'User.firstname'    => '名',
     'User.lastname'     => '姓',
     'Trylesson.name'    => '试课标题',
-    'Trylesson.name_en' => '试课标题(en)'
+    'Trylesson.name_en' => '试课标题(en)',
+    'select user'       => '选择用户',
+    'select trylesson'  => '选择试课',
+    'Remark'            => '备注',
+    'Seller'            => '销售前台',
 ];

+ 9 - 49
application/admin/view/trylessonorder/add.html

@@ -1,71 +1,31 @@
 <form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Order_no')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('select user')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-order_no" data-rule="required" class="form-control" name="row[order_no]" type="text" value="">
+            <input id="c-user_id" data-rule="required" data-source="user/user/selectpagenew" data-field="nickname"  class="form-control selectpage" name="user_id" type="text" value="">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('select trylesson')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-user_id" data-rule="required" data-source="user/user/index" data-field="nickname" class="form-control selectpage" name="row[user_id]" type="text" value="">
+            <input id="c-trylesson_id" data-rule="required" data-source="trylesson/index" class="form-control selectpage" name="trylesson_id" type="text" value="{$trylesson_id}">
         </div>
     </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Trylesson_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-trylesson_id" data-rule="required" data-source="trylesson/index" class="form-control selectpage" name="row[trylesson_id]" type="text" value="">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Lesson_ids')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-lesson_ids" data-rule="required" data-source="lesson/index" data-multiple="true" class="form-control selectpage" name="row[lesson_ids]" type="text" value="">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Order_amount')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-order_amount" data-rule="required" class="form-control" step="0.01" name="row[order_amount]" type="number" value="0.00">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Order_status')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            
-            <div class="radio">
-            {foreach name="orderStatusList" item="vo"}
-            <label for="row[order_status]-{$key}"><input id="row[order_status]-{$key}" name="row[order_status]" type="radio" value="{$key}" {in name="key" value="0"}checked{/in} /> {$vo}</label> 
-            {/foreach}
-            </div>
 
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Paytime')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-paytime" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[paytime]" type="text" value="{:date('Y-m-d H:i:s')}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Starttime')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-starttime" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[starttime]" type="text" value="{:date('Y-m-d H:i:s')}">
-        </div>
-    </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Endtime')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-endtime" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[endtime]" type="text" value="{:date('Y-m-d H:i:s')}">
+            <input id="c-remark" class="form-control" name="remark" type="text" value="">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Lesson_order_id')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Seller')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-lesson_order_id" data-rule="required" data-source="lesson/order/index" class="form-control selectpage" name="row[lesson_order_id]" type="text" value="">
+            <input id="c-seller" class="form-control" name="seller" type="text" value="">
         </div>
     </div>
+
     <div class="form-group layer-footer">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">

+ 2 - 0
application/api/controller/Trylesson.php

@@ -76,6 +76,8 @@ class Trylesson extends Api
 
             'starttime'   => time(),
             'endtime'     => time() + (30 * 86400),
+
+            'pay_type'    => 1,
         ];
 //        $data = array_merge($data,$sysdata);
         $data = $sysdata;

+ 14 - 1
public/assets/js/backend/trylesson.js

@@ -45,7 +45,20 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
 //                        {field: 'lesson.name_en', title: __('Lesson.name_en'), operate: 'LIKE'},
                         {field: 'cate.name', title: __('Cate.name'), operate: 'LIKE'},
                         {field: 'cate.name_en', title: __('Cate.name_en'), operate: 'LIKE'},
-                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                        {field: 'operate', title: __('Operate'), table: table,
+                            buttons:[
+                                {
+                                    name:'trylessonorder_add',
+                                    text:__('用户下单'),
+                                    title:__('用户下单'),
+                                    icon:'fa fa-exclamation-circle',
+                                    classname:'btn btn-xs btn-info btn-dialog',
+                                    url:'trylessonorder/add/trylesson_id/{ids}?dialog=1',
+                                    target:'_self',
+                                },
+
+                            ],
+                            events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]
             });