gorden 8 сар өмнө
parent
commit
95f72bd2cf

+ 46 - 15
app/admin/controller/order/WholeController.php

@@ -71,7 +71,7 @@ class WholeController extends Curd
         $field = $field ?? 'order_addtimes';
         if (!empty($where['order_status_system']) && in_array($where['order_status_system'], ['PENDING', 'WAITING', 'SENDING', 'RECVING', 'SIGNED', 'CONFIRM'])) {
             $where['order_is_complete'] = 'N';
-            $where['order_category'] = isset($where['order_category']) ? $where['order_category'] : ['in','SYSTEM,NORMAL'];
+            $where['order_category'] = isset($where['order_category']) ? $where['order_category'] : ['in','SYSTEM,NORMAL,DISHES'];
         }
 
         if (!empty($where['order_status_system']) && $where['order_status_system'] == 'RETURN') {
@@ -611,10 +611,10 @@ class WholeController extends Curd
                 }
                 // 去支付
                 $result = OrderService::qrcodePay($params);
-                $result = [
-                    'return_code'=>'SUCCESS',
-                    'result_code' => 'SUCCESS'
-                ];
+                // $result = [
+                //     'return_code'=>'SUCCESS',
+                //     'result_code' => 'SUCCESS'
+                // ];
                 $result = json_encode($result);
                 $params['pay_json_response'] = $result;
                 $result = json_decode($result,true);
@@ -756,14 +756,33 @@ class WholeController extends Curd
             //     }
             // }
 
-            // 打小票
-            $voteData = [
-                ''
-            ];
-            http_post(getenv('VOTE_MENU_URL'),'');
 
             Db::commit();
 
+            // 打小票
+            $sheet = OrderSheet::where('join_sheet_order_id',$params['order_id'])->first();
+            if (!empty($sheet->order_sheet_extend_json)){
+                $sheetExtendJson = json_decode($sheet->order_sheet_extend_json,true);
+                if (isset($sheetExtendJson['premises'])){
+                    $voteData = [
+                        'func'=>'procActionToPrinter',
+                        'sign'=>'',
+                        'data'=>[
+                            'printer_premises'=>$sheetExtendJson['premises'],
+                            'printer_device'=>[
+                                "东泉度假村餐厅前台"
+                            ],
+                            'printer_action'=>'ExecPrintOrder',
+                            'printer_data'=>[
+                                'order_id'=>$params['order_id']
+                            ]
+                        ]
+                    ];
+                    http_post_json(getenv('VOTE_MENU_URL'),$voteData);
+                }
+                
+            }
+            
             return json_success('支付成功');
         }catch(\Exception $e){
             dump($e->getMessage());
@@ -999,11 +1018,11 @@ class WholeController extends Curd
                 }
                 // 不组合或者组合后需要付款码的金额>0
                 if($params['pay_constitute'] == 'N' || ($params['pay_constitute'] == 'Y' && $qrcodePayAmount > 0)){
-                    // $result = OrderService::qrcodePay($params);
-                    $result = [
-                        'return_code'=>'SUCCESS',
-                        'result_code' => 'SUCCESS'
-                    ];
+                    $result = OrderService::qrcodePay($params);
+                    // $result = [
+                    //     'return_code'=>'SUCCESS',
+                    //     'result_code' => 'SUCCESS'
+                    // ];
                     $result = json_encode($result);
                     $params['pay_json_response'] = $result;
                     $result = json_decode($result,true);
@@ -1594,6 +1613,9 @@ class WholeController extends Curd
         }
     }
 
+    /**
+     * 核销餐饮
+     */
     public function writeOffDishes(Request $request)
     {
         $orderId = $request->post('order_id', '');
@@ -1605,6 +1627,15 @@ class WholeController extends Curd
             return json_fail('参数异常');
         }
 
+        $member = Member::find($memberId);
+        $mobile = $member->member_mobile;
+        $key = "SMS:CODE:DISHES:" . $mobile;
+        $redisCode = Redis::get($key);
+        if ($code == '' || $redisCode != $code) {
+            return json_fail("验证码错误,请重新输入");
+        }
+        Redis::del($key);
+
         if (!$times) {
             $times = date('Y-m-d H:i:s');
         } else {

+ 33 - 1
app/admin/controller/sms/SmsController.php

@@ -65,7 +65,7 @@ class SmsController
 
         return json_success('success');
     }
-
+    
     public function sendSmsCodeByBenefit(Request $request)
     {
         $memberId = $request->post('member_id', '');
@@ -167,6 +167,38 @@ class SmsController
         }
 
 
+        return json_success('success');
+    }
+    
+    /**
+     * 餐饮核销验证码
+     */
+    public function dishesWriteOffCode(Request $request)
+    {
+        $memberId = $request->post('member_id', '');
+        
+        try {
+            $member = Member::find($memberId);
+            $mobile = $member->member_mobile;
+
+            $code = random_string(6, 'number');
+            $key = self::KEY_PREFIX . 'DISHES:' . $mobile;
+            Redis::set($key, $code);
+            Redis::expire($key, 600);
+
+            Sms::app()->send($mobile, [
+                'template' => 'SMS_240865706',
+                'data' => [
+                    'code' => $code
+                ],
+            ]);
+
+        } catch (\Exception $e) {
+            dump($e->getMessage());
+            return json_fail("短信发送失败,请稍后重试");
+        }
+
+
         return json_success('success');
     }
 }

+ 1 - 1
app/admin/service/member/MemberService.php

@@ -699,7 +699,7 @@ class MemberService
             $memberData = [
                 'member_id' => $memberId,
                 'member_is_owner' => $params['is_owner'],
-                'member_classify' => $params['classify'],
+                'member_classify' => $params['member_classify'],
                 'member_status' => $params['status'],
                 'member_mobile' => $params['mobile'],
 //                'member_from' => $params['source'],

+ 0 - 2
app/admin/service/order/OrderService.php

@@ -159,8 +159,6 @@ class OrderService
      */
     public static function qrcodePay($params)
     {
-        dump('付款码=',$params['order_amount_pay']);
-        return;
         $qrcodeNbr = $params['qrcode_nbr'];
         $prefix = substr($qrcodeNbr,0,2);
         // 微信支付

+ 21 - 1
app/functions.php

@@ -3,7 +3,7 @@
  * Here is your custom functions.
  */
 
-if (!function_exists('http_post')) {
+ if (!function_exists('http_post')) {
     function http_post($url,$params){
         $ch = curl_init();
         $this_header = array("content-type: application/x-www-form-urlencoded;charset=UTF-8");
@@ -23,6 +23,26 @@ if (!function_exists('http_post')) {
         return $output;
     }
 }
+if (!function_exists('http_post_json')) {
+    function http_post_json($url,$params){
+        $ch = curl_init();
+        $this_header = array('Content-Type: application/json;charset=UTF-8');
+        curl_setopt($ch, CURLOPT_HTTPHEADER, $this_header);
+        curl_setopt($ch, CURLOPT_URL, $url);
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
+        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
+
+        curl_setopt($ch, CURLOPT_POST, 1);
+        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
+        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//如果不加验证,就设false,商户自行处理
+        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
+
+        $output = curl_exec($ch);
+        curl_close($ch);
+        return $output;
+    }
+}
 
 if (!function_exists('month_12')){
     function month_12(){

+ 1 - 0
route/admin.php

@@ -20,6 +20,7 @@ Route::group('/admin', function () {
         Route::post('/benefitWriteOffCode', [\app\admin\controller\sms\SmsController::class, 'sendSmsCodeByBenefit']);
         Route::post('/writeOffCode', [\app\admin\controller\sms\SmsController::class, 'sendSmsCodeByWriteOff']);
         Route::post('/orderPay', [\app\admin\controller\sms\SmsController::class, 'sendSmsByOrderPay']);
+        Route::post('/dishesWriteOffCode', [\app\admin\controller\sms\SmsController::class, 'dishesWriteOffCode']);
     });
     /* 鉴权 */
     Route::group('/auth', function () {