Esempio n. 1
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];
 }
Esempio n. 2
0
 /**
  * 亲水列表
  * @param $params
  * @param $user_id
  * @return array
  */
 public function bagList($params, $user_id)
 {
     $page = $params->get('page') ?: 1;
     $count = $params->get('count') ?: 10;
     $user_send_water = new UserSendWater();
     $result = [];
     $send_water = 0;
     if ($params->get('status')) {
         switch ($params->get('status')) {
             case 0:
                 $result = $user_send_water->where('accept_user_id', $user_id)->where('status', UserSendWater::STATUS_IS_FALSE)->where('overdue_date', '>=', time())->skip(($page - 1) * $count)->take($count)->get()->toArray();
                 $send_water = $user_send_water->where('accept_user_id', $user_id)->where('status', UserSendWater::STATUS_IS_FALSE)->count();
                 break;
             case 1:
                 $result = $user_send_water->where('accept_user_id', $user_id)->where('status', UserSendWater::STATUS_IS_TRUE)->where('overdue_date', '>=', time())->skip(($page - 1) * $count)->take($count)->get()->toArray();
                 $send_water = $user_send_water->where('accept_user_id', $user_id)->where('status', UserSendWater::STATUS_IS_FALSE)->count();
                 break;
             case 2:
                 $result = $user_send_water->where('accept_user_id', $user_id)->whereBetween('status', [0, 2])->where('overdue_date', '<', time())->skip(($page - 1) * $count)->take($count)->get()->toArray();
                 $send_water = $user_send_water->where('status', UserSendWater::STATUS_IS_FALSE)->count();
                 break;
         }
     } else {
         $result = $user_send_water->where('accept_user_id', $user_id)->skip(($page - 1) * $count)->take($count)->get()->toArray();
         $send_water = $user_send_water->where('accept_user_id', $user_id)->count();
     }
     $next_page = ($page - 1) * $count >= $send_water ? $page : $page + 1;
     $pager = ['page' => $page, 'count' => $count, 'total' => $send_water, 'next' => $next_page];
     if (empty($result)) {
         return ['status' => true, 'message' => 'success', 'info' => [], 'pager' => $pager];
     }
     $user_ids = [];
     foreach ($result as $value) {
         $user_ids[] = $value['user_id'];
     }
     $user_result = UserBase::whereIn('user_id', array_unique($user_ids))->get()->toArray();
     $user_list = [];
     foreach ($user_result as $user_result_val) {
         $user_list[$user_result_val['user_id']] = $user_result_val['user_name'] ?: '匿名';
     }
     $list = [];
     foreach ($result as $value) {
         $list[] = ['bag_id' => $value['id'], 'water_num' => $value['water_count'], 'from_id' => $value['user_id'], 'from_name' => $user_list[$value['user_id']], 'create_time' => $value['created_at'], 'get_time' => $value['updated_at'], 'status' => $value['status']];
     }
     return ['status' => true, 'message' => 'success', 'info' => $list, 'pager' => $pager];
 }
Esempio n. 3
0
 /**
  * 充值流水
  */
 public function getOrderList()
 {
     /** @var \App\Model\OrderLog */
     $order_log = new OrderLog();
     $order = $order_log->orderBy('order_id', 'desc')->paginate(20);
     $user_id = [];
     foreach ($order as $v) {
         $array = $v->toArray();
         array_push($user_id, $array['user_id']);
     }
     $user_list = [];
     if (!empty($user_id)) {
         $user_result = UserBase::whereIn('user_id', $user_id)->get()->toArray();
         if ($user_result) {
             foreach ($user_result as $u) {
                 $user_list[$u['user_id']] = $u['user_name'];
             }
         }
     }
     $list = [];
     foreach ($order as &$o) {
         $a = $o->toArray();
         $a['name'] = isset($user_list[$a['user_id']]) ? $user_list[$a['user_id']] : '不存在的用户';
         $list[] = $a;
         unset($a);
     }
     return ['list' => $list, 'obj' => $order];
 }
Esempio n. 4
0
 /**
  * 展示领取的信息
  * @param $code
  * @return array
  */
 public function shareShow($code)
 {
     $e = explode('-', $code);
     if (count($e) == 2) {
         $user_share_log = new UserShareLog();
         $user_share_log_tr = $user_share_log->where('share_time', $e[0])->first();
         $user_share_receive_log = new UserShareReceiveLog();
         $u_s_r_l = $user_share_receive_log->where('share_id', $user_share_log_tr->id)->get()->toArray();
         $user_ids = [];
         foreach ($u_s_r_l as $v) {
             array_push($user_ids, $v['share_receive_user_id']);
         }
         $user_base = new UserBase();
         $user_rt = $user_base->whereIn('user_id', $user_ids)->get()->toArray();
         foreach ($u_s_r_l as &$r) {
             $r['created_at'] = date('m.d H:s', strtotime($r['created_at']));
             foreach ($user_rt as $u) {
                 if ($r['share_receive_user_id'] == $u['user_id']) {
                     $r['user_name'] = !empty($u['user_name']) ? $u['user_name'] : '匿名';
                 }
             }
         }
         return ['status' => true, 'message' => '返回成功', 'info' => $u_s_r_l];
     } else {
         return ['status' => false, 'message' => '非法参数', 'info' => []];
     }
 }