_valid([ "order.require" => "请求参数错误", "code.require" => "请求参数错误" ],'post'); if (!is_array($param)) return error($param); $config = sConf("dy."); $sessionKey = (new Crypt)->config(['appid' => $config['appid'],'secret' => $config['secret']])->getSessionKey($param['code']); if (empty($sessionKey)) return error("授权登录失败"); if (!isset($sessionKey['openid'])) return error("获取数据失败"); $openId = $sessionKey['openid']; $userIn = [ 'open_id' => $openId, "create_ip" => $request->getRealIp(), "nickname" => "用户_".strtoupper(CodeExtend::random(3,5)), "avatar" => "https://img.inmei.cc/logo.png" ]; $user = (new SaasMember)->where("open_id",$openId)->findOrEmpty(); $userIn['id'] = $user['id']; if ($user->isEmpty()) { $userIn['id'] = $user->insertGetId($userIn); } $order = (new SaasOrderLife)->where("order_id",$param['order'])->where("open_id",$openId)->findOrEmpty(); if ($order->isEmpty()) return error("订单尚未同步"); return successTrans("success.data",[ "user" => get_object_vars((new AuthMode)->guard("member")->login($userIn)), "order" => $order ]); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } /** * 获取门店 * @param Request $request * @return Response */ #[Route(path: "store",methods: "post")] public function getLocationStore(Request $request): Response { try { $param = $this->_valid([ "order.require" => "请求参数错误", "location.require" => "请求参数错误" ],'post'); if (!is_array($param)) return error($param); $order = (new SaasOrderLife)->where("order_id",$param['order'])->where("open_id",$request->user['open_id'])->findOrEmpty(); if ($order->isEmpty()) return error("订单尚未同步"); $location = explode(",",$param['location']); $resp = store_region($location[1],$location[0],2,"store_id={$order['store_id']} and agent_id={$order['agent_id']}"); foreach ($resp as $key=>$val) { $resp[$key] = $val; $resp[$key]['juli'] = format_money($val['juli']/1000); } $store = (new SaasStore)->where("store_id",$order['store_id'])->where("agent_id",$order['agent_id'])->findOrEmpty(); return success("ok",[ "data" => $resp, "store" => $store->toArray() ]); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } /** * 订单列表 * @param Request $request * @return Response */ #[Route(path: "data",methods: "get")] public function getOrderList(Request $request): Response { try { $param = $this->_valid([ "page.default" => 1, "size.default" => 10, "status.default" => 0 ]); if (!is_array($param)) return error($param); $param['open_id'] = $request->user['open_id']; $list = (new OrderService)->getDataListMini($param); return successTrans(100010,pageFormat($list)); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } }