Example #1
0
 protected function formatUsers($users)
 {
     if (!$users) {
         return [];
     }
     $user_list = [];
     $user_ids = [];
     foreach ($users as $user) {
         $user_ids[] = $user->user_id;
         if ($user->type == UserBase::TYPE_ADMIN) {
             $type_text = '管理员';
         } elseif ($user->type == UserBase::TYPE_BUSINESS) {
             $type_text = '商家';
         } else {
             $type_text = '用户';
         }
         $user_list[] = array_merge($user->toArray(), ['type_text' => $type_text, 'status_text' => $user->isOpen() ? '已激活' : '未激活', 'is_active' => $user->isOpen(), 'image_url' => '', 'image_url_real1' => '', 'image_url_real2' => '', 'image_url_real3' => '', 'water_count' => 0, 'black_water' => 0, 'send_water' => 0, 'public_count' => 0, 'giving' => 0, 'user_address' => '', 'user_desc' => '', 'user_http' => '', 'user_company_lat' => '', 'user_company_lng' => '']);
     }
     //获得头像信息
     $user_image_rt = UserImage::whereIn('user_id', $user_ids)->get();
     foreach ($user_list as &$user) {
         foreach ($user_image_rt as $user_image_rt_v) {
             if ($user_image_rt_v->type == 1 && $user['user_id'] == $user_image_rt_v->user_id) {
                 $user['image_url'] = $user_image_rt_v->path();
             } elseif ($user_image_rt_v->type == 2 && $user['user_id'] == $user_image_rt_v->user_id) {
                 $user['image_url_real1'] = $user_image_rt_v->path();
             } elseif (empty($user['image_url_real2']) && $user_image_rt_v->type == 3 && $user['user_id'] == $user_image_rt_v->user_id) {
                 $user['image_url_real2'] = $user_image_rt_v->path();
             } elseif ($user_image_rt_v->type == 3 && $user['user_id'] == $user_image_rt_v->user_id) {
                 $user['image_url_real3'] = $user_image_rt_v->path();
             }
         }
     }
     //获得亲水值
     $user_financial_rt = UserFinancial::whereIn('user_id', $user_ids)->get();
     foreach ($user_list as &$user) {
         foreach ($user_financial_rt as $user_financial_rt_v) {
             if ($user['user_id'] == $user_financial_rt_v->user_id) {
                 $user['water_count'] = $user_financial_rt_v->water_count;
                 $user['send_water'] = $user_financial_rt_v->send_water;
                 $user['public_count'] = $user_financial_rt_v->public_count;
                 $user['giving'] = $user_financial_rt_v->giving;
             }
         }
     }
     //获得黑水值
     $user_black_rt = UserBlackWater::whereIn('user_id', $user_ids)->get();
     foreach ($user_list as &$user) {
         foreach ($user_black_rt as $user_black_rt_v) {
             if ($user['user_id'] == $user_black_rt_v->user_id) {
                 $user['black_water'] = $user_black_rt_v->send_water;
             }
         }
     }
     //获得公司信息
     $user_company_extend_rt = UserCompanyExtend::whereIn('user_id', $user_ids)->get();
     foreach ($user_list as &$user) {
         foreach ($user_company_extend_rt as $user_company_extend_rt_v) {
             if ($user['user_id'] == $user_company_extend_rt_v->user_id) {
                 $user['user_address'] = $user_company_extend_rt_v->user_address;
                 $user['user_company_name'] = $user_company_extend_rt_v->user_company_name;
                 $user['user_desc'] = $user_company_extend_rt_v->user_desc;
                 $user['user_http'] = $user_company_extend_rt_v->user_http;
                 $user['user_company_lat'] = $user_company_extend_rt_v->user_company_lat;
                 $user['user_company_lng'] = $user_company_extend_rt_v->user_company_lng;
             }
         }
     }
     return $user_list;
 }
Example #2
0
 /**
  * 亲水圈活动详情
  * @param $params
  * @param $user_id
  * @return array
  */
 public function circleDetail($params, $user_id)
 {
     if (!$params->get('circleID')) {
         return ['status' => false, 'message' => '活动ID不能为空!', 'info' => []];
     }
     /** @var $activity \App\Model\Activity */
     $activity = new Activity();
     $activity_result = $activity->where('activity_id', $params->get('circleID'))->StatusOk()->first();
     if (empty($activity_result)) {
         return ['status' => false, 'message' => '活动不存在!', 'info' => []];
     }
     $activity_comment = new ActivityComment();
     $data['active_id'] = $params->get('circleID');
     $data['video_url'] = ActivityImage::getImages($params->get('circleID'), ActivityImage::TYPE_IMAGE_IS_GIF);
     $data['title'] = $activity_result->title;
     $data['content'] = $activity_result->desc;
     $data['address'] = $activity_result->address;
     $data['create_time'] = (string) $activity_result->created_at;
     $data['is_focus'] = UserFocus::userIsFocus($params->get('circleID'), $user_id);
     $data['support_count'] = $activity_result->focus_count;
     $data['comment_count'] = $activity_comment->where('activity_id', $params->get('circleID'))->count();
     $data['focus_count'] = (new UserFocus())->where('activity_id', $params->get('circleID'))->count();
     $activity_comment_result = $activity_comment->where('activity_id', $params->get('circleID'))->orderBy('created_at', 'desc')->limit(2)->get();
     if (!empty($activity_comment_result)) {
         $user_ids = [];
         foreach ($activity_comment_result as $activity_comment_result_v) {
             array_push($user_ids, $activity_comment_result_v->user_id);
         }
         $user_base = new UserBase();
         $user_base_result = $user_base->whereIn('user_id', $user_ids)->get();
         $user_image = new UserImage();
         $user_image_result = $user_image->whereIn('user_id', $user_ids)->get();
         $user_image_list = [];
         foreach ($user_image_result as $user_image_result_v) {
             $user_image_list[$user_image_result_v->user_id] = $user_image_result_v->path();
         }
         $user_list = [];
         foreach ($user_base_result as $user_base_result_v) {
             $user_list[$user_base_result_v->user_id] = ['id' => $user_base_result_v->user_id, 'name' => $user_base_result_v->user_name, 'image_url' => isset($user_image_list[$user_base_result_v->user_id]) ? $user_image_list[$user_base_result_v->user_id] : ActivityImage::defaultImage()];
         }
         foreach ($activity_comment_result as $activity_comment_result_v_v) {
             if (isset($user_list[$activity_comment_result_v_v->user_id])) {
                 $data['comment_list'][] = ['comment_id' => $activity_comment_result_v_v->id, 'comment_name' => $user_list[$activity_comment_result_v_v->user_id]['name'], 'comment_image_url' => $user_list[$activity_comment_result_v_v->user_id]['image_url'], 'comment_date' => (string) $activity_comment_result_v_v->created_at, 'comment_detail' => $activity_comment_result_v_v->content];
             }
         }
     }
     return ['status' => true, 'message' => '获取成功!', 'info' => $data];
 }
Example #3
0
 /**
  * 水地图列表
  * @param $params
  * @return array
  */
 public function mapList($params)
 {
     if ($params->get('longitude') && $params->get('latitude')) {
         //            $squares = $this->returnSquarePoint($params->get('longitude'), $params->get('latitude'), $params->get('radius') ?: null);
         //            $result = UserCompanyExtend::where('user_company_lat', '>', '0')
         //                ->where('user_company_lat', '>=', $squares['right-bottom']['lat'])
         //                ->where('user_company_lat', '<=', $squares['left-top']['lat'])
         //                ->where('user_company_lng', '>=', $squares['left-top']['lng'])
         //                ->where('user_company_lng', '<=', $squares['right-bottom']['lng'])
         //                ->get();
         $user_company_extend = new UserCompanyExtend();
         $result = $user_company_extend->get();
         if (empty($result)) {
             return ['status' => true, 'message' => '获取成功!', 'info' => []];
         }
         $user_ids = [];
         foreach ($result as $result_val) {
             $user_ids[] = $result_val->user_id;
         }
         $user_images_result = UserImage::whereIn('user_id', $user_ids)->Head()->get();
         $images = [];
         if (!empty($user_images_result)) {
             foreach ($user_images_result as $user_images_result_val) {
                 $images[$user_images_result_val->user_id] = $user_images_result_val->path();
             }
         }
         $user_financial_result = UserFinancial::whereIn('user_id', $user_ids)->get();
         $financial = [];
         if (!empty($user_financial_result)) {
             foreach ($user_financial_result as $user_financial_result_val) {
                 $financial[$user_financial_result_val->user_id] = $user_financial_result_val->water_count;
             }
         }
         $data = [];
         foreach ($result as $result_value) {
             $data[] = ['store_id' => $result_value->user_id, 'store_name' => $result_value->user_company_name, 'image_url' => isset($images[$result_value->user_id]) ? $images[$result_value->user_id] : '', 'left_num' => isset($financial[$result_value->user_id]) ? $financial[$result_value->user_id] : 0, 'latitude' => $result_value->user_company_lat, 'longitude' => $result_value->user_company_lng, 'distance' => $this->getDistance($params->get('latitude'), $params->get('longitude'), $result_value->user_company_lat, $result_value->user_company_lng)];
         }
         return ['status' => true, 'msg' => 'success', 'info' => $data];
     } else {
         return ['status' => false, 'message' => '缺少经纬度参数!', 'info' => []];
     }
 }