<noframes id="bhrfl"><address id="bhrfl"></address>

    <address id="bhrfl"></address>

    <noframes id="bhrfl"><address id="bhrfl"><th id="bhrfl"></th></address>

    <form id="bhrfl"><th id="bhrfl"><progress id="bhrfl"></progress></th></form>

    <em id="bhrfl"><span id="bhrfl"></span></em>

    全部
    常見問題
    產品動態
    精選推薦

    微信掃碼核銷問題

    管理 管理 編輯 刪除

    問題說明:微信掃核銷碼權限判斷處理

    修改文件:app\controller\api\admin\order\StoreOrder

    修改方法:order_verific()

    0596d202410161648427335.png

    public function order_verific(Request $request, WriteOffOrderServices $writeOffOrderServices, StoreOrderCartInfoServices $orderCartInfo, StoreOrderServices $orderServices)
        {
            [$code, $auth] = $request->postMore([
                ['code', ''],
                ['auth', 0],
            ], true);
            if (!$code) return app('json')->fail('Lack of write-off code');
            $uid = $request->uid();
            /** @var StoreServiceServices $storeService */
            $storeService = app()->make(StoreServiceServices::class);
            $userService = $storeService->checkoutIsService(['uid' => $uid, 'status' => 1, 'account_status' => 1]); //客服權限是否存在
            if ($auth == 1 && !$userService) return app('json')->fail('您沒有客服權限!');
            /** @var DeliveryServiceServices $deliveryService */
            $deliveryService = app()->make(DeliveryServiceServices::class);
            $deliveryUser = $deliveryService->checkoutIsService($uid); // 檢查用戶是否是配送員
            if ($auth == 2 && !$deliveryUser) return app('json')->fail('您不是配送員!');
            //驗證店員
            /** @var SystemStoreStaffServices $storeStaffServices */
            $storeStaffServices = app()->make(SystemStoreStaffServices::class);
            $where = ['uid' => $uid, 'is_del' => 0, 'status' => 1, 'verify_status' => 1];
            $info = $storeStaffServices->getOne($where);
            if($auth == 4 && !$info) return app('json')->fail('您不是店員!');
            if ($auth == 3) {
                if ($userService) {
                    $auth = 1;
                } else if ($info) {
                    $auth = 4;
                } else if ($deliveryUser) {
                    $auth = 2;
                } else {
                    return app('json')->fail('您沒有任何權限!');
                }
            }
            /** @var UserServices $userServices */
            $userServices = app()->make(UserServices::class);
            $userInfo = $userServices->getOne(['bar_code' => $code]);
            if ($userInfo) {
                $userInfo = $userInfo->toArray();
                $is_order_code = 0;
            } else {
                $orderInfo = $orderServices->getOne(['verify_code' => $code, 'is_del' => 0]);
                if ($orderInfo) {
                    $is_order_code = 1;
                } else {
                    return app('json')->fail('暫未獲取到訂單信息,請先確認傳入的碼是否正確');
                }
            }
            $product_type = 0;
            if ($is_order_code == 1) {
                $orderInfo = $writeOffOrderServices->writeoffOrderInfo($uid, $code, $auth);
                if ($orderInfo && isset($orderInfo['product_type'])) {
                    $product_type = $orderInfo['product_type'];
                }
                $data = [$orderInfo];
            } else {
                $data = $writeOffOrderServices->userUnWriteoffOrder($uid, $code, $auth);
                if (count($data) == 1) {
                    $is_order_code = 1;
                    $orderInfo = $data[0];
                    if ($orderInfo && isset($orderInfo['product_type'])) {
                        $product_type = $orderInfo['product_type'];
                    }
                }
            }
            $res = [];
            if ($data) {
                /** @var StoreOrderServices $orderServices */
                $orderServices = app()->make(StoreOrderServices::class);
                $res = $orderServices->tidyOrderList($data, false);
                foreach ($res as &$orderInfo) {
                    $orderInfo['image'] = '';
                    if (isset($orderInfo['cart_id'][0])) {
                        $cartInfo = $orderCartInfo->getOne(['oid' => $orderInfo['id'], 'cart_id' => $orderInfo['cart_id'][0]], 'cart_info');
                        if ($cartInfo) $orderInfo['image'] = $cartInfo['cart_info']['productInfo']['image'] ?? '';
                    }
                }
            }
            return app('json')->success(['data' => $res, 'is_order_code' => $is_order_code, 'product_type' => $product_type, 'auth' => $auth]);
        }


    修改文件:app\controller\api\store\order\StoreOrder

    修改方法:order_verific()

    33cf0202410161650242733.png

    public function order_verific(Request $request, WriteOffOrderServices $writeOffOrderServices, StoreOrderCartInfoServices $orderCartInfo, StoreOrderServices $orderServices)
    	{
    		[$code, $auth] = $request->postMore([
    			['code', ''],
    			['auth', 0],
    		], true);
    		if (!$code) return app('json')->fail('Lack of write-off code');
    		$uid = $request->uid();
    		/** @var StoreServiceServices $storeService */
    		$storeService = app()->make(StoreServiceServices::class);
    		$userService = $storeService->checkoutIsService(['uid' => $uid, 'status' => 1, 'account_status' => 1]); //客服權限是否存在
    		if ($auth == 2 && !$userService) return app('json')->fail('您沒有客服權限!');
    		/** @var DeliveryServiceServices $deliveryService */
    		$deliveryService = app()->make(DeliveryServiceServices::class);
    		$deliveryUser = $deliveryService->checkoutIsService($uid); // 檢查用戶是否是配送員
    		if ($auth == 2 && !$deliveryUser) return app('json')->fail('您不是配送員!');
            //驗證店員
            /** @var SystemStoreStaffServices $storeStaffServices */
            $storeStaffServices = app()->make(SystemStoreStaffServices::class);
            $where = ['uid' => $uid, 'is_del' => 0, 'status' => 1, 'verify_status' => 1];
            $info = $storeStaffServices->getOne($where);
            if($auth == 4 && !$info) return app('json')->fail('您不是店員!');
    		if ($auth == 3) {
                if ($userService) {
                    $auth = 1;
                } else if ($info) {
                    $auth = 4;
                } else if ($deliveryUser) {
                    $auth = 2;
                } else {
                    return app('json')->fail('您沒有任何權限!');
                }
    		}
    		/** @var UserServices $userServices */
    		$userServices = app()->make(UserServices::class);
    		$userInfo = $userServices->getOne(['bar_code' => $code]);
    		if ($userInfo) {
    			$userInfo = $userInfo->toArray();
    			$is_order_code = 0;
    		} else {
    			$orderInfo = $orderServices->getOne(['verify_code' => $code, 'is_del' => 0]);
    			if ($orderInfo) {
    				$is_order_code = 1;
    			} else {
    				return app('json')->fail('暫未獲取到訂單信息,請先確認傳入的碼是否正確');
    			}
    		}
    		$product_type = 0;
    		if ($is_order_code == 1) {
    			$orderInfo = [];
    			try {
    				$orderInfo = $writeOffOrderServices->writeoffOrderInfo($uid, $code, $auth);
    			} catch (\Throwable $e) {
    			}
    			if ($orderInfo && isset($orderInfo['product_type'])) {
    				$product_type = $orderInfo['product_type'];
    			}
    			$data = [$orderInfo];
    		} else {
    			$data = [];
    			try {
    				$data = $writeOffOrderServices->userUnWriteoffOrder($uid, $code, $auth);
    			} catch (\Throwable $e) {
    			}
    			if (count($data) == 1) {
    				$is_order_code = 1;
    				$orderInfo = $data[0];
    				if ($orderInfo && isset($orderInfo['product_type'])) {
    					$product_type = $orderInfo['product_type'];
    				}
    			}
    		}
    		$res = [];
    		if ($data) {
    			/** @var StoreOrderServices $orderServices */
    			$orderServices = app()->make(StoreOrderServices::class);
    			$res = $orderServices->tidyOrderList($data, false);
    			foreach ($res as &$orderInfo) {
    				$orderInfo['image'] = '';
    				if (isset($orderInfo['cart_id'][0])) {
    					$cartInfo = $orderCartInfo->getOne(['oid' => $orderInfo['id'], 'cart_id' => $orderInfo['cart_id'][0]], 'cart_info');
    					if ($cartInfo) $orderInfo['image'] = $cartInfo['cart_info']['productInfo']['image'] ?? '';
    				}
    			}
    		}
    		return app('json')->success(['data' => $res, 'is_order_code' => $is_order_code, 'product_type' => $product_type, 'auth' => $auth]);
    	}


    請登錄后查看

    全 最后編輯于2024-10-16 16:51:28

    快捷回復
    回復
    回復
    回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
    排序 默認正序 回復倒序 點贊倒序

    {{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

    作者 管理員 企業

    {{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
    {{item.is_suggest == 1? '取消推薦': '推薦'}}
    沙發 板凳 地板 {{item.floor}}#
    {{item.user_info.title || '暫無簡介'}}
    附件

    {{itemf.name}}

    {{item.created_at}}  {{item.ip_address}}
    打賞
    已打賞¥{{item.reward_price}}
    {{item.like_count}}
    {{item.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復

    {{itemc.user_info.nickname}}

    {{itemc.user_name}}

    回復 {{itemc.comment_user_info.nickname}}

    附件

    {{itemf.name}}

    {{itemc.created_at}}
    打賞
    已打賞¥{{itemc.reward_price}}
    {{itemc.like_count}}
    {{itemc.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復
    查看更多
    打賞
    已打賞¥{{reward_price}}
    1779
    {{like_count}}
    {{collect_count}}
    添加回復 ({{post_count}})

    相關推薦

    快速安全登錄

    使用微信掃碼登錄
    {{item.label}} 加精
    {{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態 精選推薦 首頁頭條 首頁動態 首頁推薦
    取 消 確 定
    回復
    回復
    問題:
    問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
    答案:
    提交
    bug 需求 取 消 確 定
    打賞金額
    當前余額:¥{{rewardUserInfo.reward_price}}
    {{item.price}}元
    請輸入 0.1-{{reward_max_price}} 范圍內的數值
    打賞成功
    ¥{{price}}
    完成 確認打賞

    微信登錄/注冊

    切換手機號登錄

    {{ bind_phone ? '綁定手機' : '手機登錄'}}

    {{codeText}}
    切換微信登錄/注冊
    暫不綁定
    亚洲欧美字幕
    CRMEB客服

    CRMEB咨詢熱線 咨詢熱線

    400-8888-794

    微信掃碼咨詢

    CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
    返回頂部 返回頂部
    CRMEB客服