/** * 亲水圈活动详情 * @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]; }
/** * 亲水列表 * @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]; }
/** * 充值流水 */ 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]; }
/** * 展示领取的信息 * @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' => []]; } }