get('lat'); $lng = (string)$request->get('lng'); try { // 查找最近区域 $options = ['SORT' => 'ASC', 'COUNT' => 1]; $redis = Redis::connection(); $area_ids = $redis->georadius(Area::REDIS_AREAS_LOCATION_TAG, $lng, $lat, 30, 'km', $options); if (count($area_ids) === 1) { $area = $areaRepository->byIdGetModel($area_ids[0]); if (!$area) { return $this->errorNoValidation('该附近暂无运营区域'); } $area->load('setting'); return $this->response->item($area, AreaTransformer::class); } else { return $this->errorNoValidation('该附近暂无运营区域'); } } catch (\Exception $exception) { return $this->errorException($exception->getMessage()); } } /** * 骑行订单 * User: Mead */ public function rideOrder(Request $request, OrderRepository $orderRepository) { $no = $request->get('no'); try { $order = $orderRepository->byNo($no); if (!$order) { return $this->errorNoValidation('订单找不到'); } return $this->response->item($order, OrderRideStatusTransformer::class); } catch (\Exception $exception) { return $this->errorException($exception->getMessage()); } } /** * 充值页面 * @param RechargeConfigurationRepository $configurationRepository */ public function rechargePage(Request $request, RechargeConfigurationRepository $configurationRepository) { try { $area_id = $request->get('area_id', $this->user->register_area_id); $setting = $configurationRepository->byAreaIdGetActiveConfig($area_id); if (count($setting) === 0) { return $this->response->array(RechargeConfiguration::DEFAULT_CONFIG); } return $this->response->collection($setting->sortBy('recharge_money'), RechargeConfigurationTransformer::class); } catch (\Exception $e) { return $this->errorNoValidation($e->getMessage()); } } /** * 邀请新用户活动列表 inviteNewusersConfigs * * @param InviteNewUsersConfigRepository $inviteNewUsersConfigRepository * @return \Dingo\Api\Http\Response|void * @author Fx * */ public function inviteNewusersConfigs(InviteNewUsersConfigRepository $inviteNewUsersConfigRepository, CouponRepository $couponRepository, CardRidingRepoistory $cardRidingRepoistory) { try { $area_id = $this->user->register_area_id; $inviteConfigs = $inviteNewUsersConfigRepository->getInviteNewUsersConfigByAreaId($area_id); if(empty($inviteConfigs)) return $this->response->array([]); $dynamic_item = $inviteConfigs->dynamic_item; if (count($dynamic_item) == 0) return $this->response->array([]); foreach ($dynamic_item as &$v) { if ($v['give_type'] == InviteNewUsersGiveGiftLog::GIFT_TYPE_BALANCE) { $v['gift_name'] = '赠送余额'; $v['gift_id'] = $v['balance']; // id就是钱 $v['gift_num'] = $v['balance']; // 数量就是钱 } elseif ($v['give_type'] == InviteNewUsersGiveGiftLog::GIFT_TYPE_COUPON) { $coupon = $couponRepository->byIdGetModel($v['coupon_id']); if (empty($coupon)) { unset($v); } else { $v['gift_name'] = $coupon->title; $v['gift_id'] = $v['coupon_id']; $v['gift_num'] = $v['coupon_num']; $v['gift_detail'] = $coupon; } } elseif ($v['give_type'] == InviteNewUsersGiveGiftLog::GIFT_TYPE_CARD) { $card = $cardRidingRepoistory->byIdGetModel($v['card_id']); if (empty($card)) { unset($v); } else { $v['gift_name'] = $card->name; $v['gift_id'] = $v['card_id']; $v['gift_num'] = 1; // 骑行卡 默认一张 $v['gift_detail'] = $card; } } else { unset($v); } } if (count($dynamic_item) == 0) return $this->response->array([]); $inviteConfigs->dynamic_item = $dynamic_item; $inviteConfigs->condition = InviteNewUsersConfig::$conditionMaps[$inviteConfigs->condition]; return $this->response->array($inviteConfigs->toArray()); } catch (\Exception $e) { return $this->errorNoValidation($e->getMessage()); } } }