request->params(['search_text','mer_id']); // if(empty($search['search_text'])) return app('json')->fail('请输入搜索内容!'); // 内容查询 $list = app()->make(MerchantRepository::class) ->getSearch([]) ->field('mer_id,mer_name,mer_address,mer_avatar') ->where('is_del',0) ->where('mer_state', 1) ->where('status', 1) ->where(function($query) use ($search){ $query->where('mer_name','like',"%{$search['search_text']}%") ->whereOr('mer_address','like',"%{$search['search_text']}%"); }) ->when((int)$search['mer_id'] > 0,function($query) use ($search){ $query->where('mer_id',$search['mer_id']); }) ->order('create_time desc,mer_id desc') ->limit(100) ->select() ->toArray(); return app('json')->success($list); } /** * Common: 在线买单 - 订单生成及发起支付 * Author: wu-hui * Time: 2024/01/12 16:07 * @param StoreOrderCreateRepository $orderCreateRepository * @return mixed */ public function createOrder(StoreOrderCreateRepository $orderCreateRepository){ // 参数获取 $payInfo = $this->request->params(['money','pay_type', 'mer_id', 'return_url']); if (!in_array($payInfo['pay_type'], StoreOrderRepository::PAY_TYPE, true)) return app('json')->fail('请选择正确的支付方式'); if ((float)$payInfo['money'] <= 0) return app('json')->fail('支付金额必须大于0!'); if ((int)$payInfo['mer_id'] <= 0) return app('json')->fail('请选择商户!'); // 发起支付 $groupOrder = app() ->make(LockService::class) ->exec('online_order.create',function() use ($payInfo,$orderCreateRepository){ $payType = array_search($payInfo['pay_type'],StoreOrderRepository::PAY_TYPE); return $orderCreateRepository->onlinePayment($payType,$payInfo,$this->request->userInfo()); }); if ($groupOrder['pay_price'] == 0) { app()->make(StoreOrderRepository::class)->paySuccess($groupOrder); return app('json')->status('success', '支付成功', ['order_id' => $groupOrder['group_order_id']]); } try { return app()->make(StoreOrderRepository::class)->pay($payInfo['pay_type'], $this->request->userInfo(), $groupOrder, $payInfo['return_url'], $this->request->isApp()); } catch (\Exception $e) { return app('json')->status('error', $e->getMessage(), ['order_id' => $groupOrder->group_order_id]); } } /** * Common: 获取买单记录 * Author: wu-hui * Time: 2024/01/15 9:23 * @return mixed */ public function getRecord(){ $params = $this->request->params(['uid','mer_id']); $params['uid'] = $this->request->uid(); [$page, $limit] = $this->getPage(); $data = app()->make(StoreOrderRepository::class)->getOnlineOrderList((array)$params,(int)$page,(int)$limit); return app('json')->success($data); } }