getUser(); /* * 我的关注人数,我的粉丝,收藏 * 点赞?徽章? * */ $care_num = $user->careDreams; $user->care_dreams_number = count($care_num); $fens = UserCareDream::where('dream_user_id',$user->id)->get(); $user->fans_number = count($fens); $collection = $user->myCollection; $user->collection_number = count($collection); $interaction_infos = $user->allInteraction; $user->interaction_number = count($interaction_infos); return $this->api($user); } /** * @api {get} /api/my/edit 修改个人信息 * @apiDescription 修改个人信息 * @apiGroup My * @apiPermission Passport * @apiVersion 0.1.0 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK *{ * "status": true, * "status_code": 0, * "message": "", "data": { "emotion": [ { "value": "1", "name": "未婚" }, { "value": "2", "name": "已婚" }, { "value": "3", "name": "离异" } ], "sex": [ { "value": "0", "name": "男" }, { "value": "1", "name": "女" } ] } * } * @apiErrorExample {json} Error-Response: * HTTP/1.1 400 Bad Request * { * "status": false, * "status_code": 1500, * "message": "会员不存在", * "data": null * } */ public function edit() { $sex = BaseDictionaryOptionModel::where('dictionary_table_code','user_info')-> where('dictionary_code','sex')->get(); $emotion = BaseDictionaryOptionModel::where('dictionary_table_code','user_info')-> where('dictionary_code','emotion')->get(); return $this->api(compact('emotion','sex')); } /** * @api {post} /api/my/update 保存个人信息 * @apiDescription 保存个人信息 * @apiParam {string} pic 头像 * @apiParam {int} sex 性别 * @apiParam {string} signture 个性签名 * @apiParam {int} emotion 情感状态 * @apiParam {string} work 职业 * @apiParam {int} height 身高 * @apiGroup My * @apiPermission Passport * @apiVersion 0.1.0 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK *{ * "status": true, * "status_code": 0, * "message": "", * "data": "" *} * @apiErrorExample {json} Error-Response: * HTTP/1.1 400 Bad Request *{ * "status": false, * "status_code": 600, * "message": "保存用户数据失败", * "data": null * } */ public function update(Request $request) { $user = $this->getUser(); $data = $request->except('_token'); $ok = $user->update($data); if ($ok == true) { return $this->api(''); }else{ return $this->error(ErrorCode::SAVE_USER_FAILED); } } /** * @api {post} /api/my/recharge 充值 * @apiDescription 充值 * @apiGroup My * @apiParam {int} coin 充值金额 * @apiPermission Passport * @apiVersion 0.1.0 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK * @apiErrorExample {json} Error-Response: * HTTP/1.1 400 Bad Request */ public function recharge(Request $request) { $validator = \Validator::make($request->all(), [ 'coin' => 'required|integer', ], [ 'coin.required' => '请填写金额', 'coin.integer' => '请输入整数', ] ); if($validator->fails()) return $this->validatorError($validator->messages()->all(),ErrorCode::CLIENT_WRONG_PARAMS); $user = $this->getUser(); $user->coin += $request->coin; $user->save(); return $this->api(''); } /** * @api {get} /api/my/system_info 系统消息 * @apiDescription 系统消息 * @apiGroup My * @apiPermission Passport * @apiVersion 0.1.0 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK *{ * "status": true, * "status_code": 0, * "message": "", * "data": { * "data": [ * ... * ] *} * @apiErrorExample {json} Error-Response: * HTTP/1.1 400 Bad Request */ public function systemInfo() { $user = $this->getUser(); $data = SystemInfoModel::where('user_id',$user->id)->orderBy('id','desc')->get(); return $this->api(compact('data')); } // 回复我的 // public function replyMy() // { // // $user = $this->getUser(); //// 梦想 // $dreams = $user->UserDream; // // $data = $user->allInteraction; // foreach ($data as $item) { // $item->get_money = $item->dream->get_money; // $item->money = $item->dream->money; // } // dd($data) ; // if (count($dreams) == 0) // return $this->error(ErrorCode::DREAM_NOT_EXIST); // $comments_infos = []; // foreach ($dreams as $dream){ // $comments_info = $dream->DreamInfo; // if (count($comments_info) > 0) { // foreach ($comments_info as $k => $value) { // $value->dream_name = $dream->dream; // $value->dream_about = $dream->about; // $value->dream_pic = count($dream->dreamImgsFirst) > 0 ? $dream->dreamImgsFirst->pic : ''; // $value->progress = $dream->money == 0 ? 0 : floor($dream->get_money/$dream->money); // $value->reviewer = $value->CommentUser->nickname; // $value->reviewer_pic = $value->CommentUser->pic; // } // $comments_infos[] = $comments_info; // } // } // // return $this->api(compact('comments_infos')); // } /** * @api {get} /api/my/dream 我的梦想 * @apiDescription 我的梦想 * @apiGroup My * @apiPermission Passport * @apiVersion 0.1.0 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK *{ * "status": true, * "status_code": 0, * "message": "", * "data": [ * { * "id": 5, * "user_id": 1, * "name": "梦想标题1", * "about": "梦想介绍", * "coin": 2500, * "time": 21, * "get_coin": 0, * "status": 0, * "video": null, * "sign": "", * "created_at": "2017-06-25 12:45:22", * "updated_at": "2017-06-25 12:45:22", * "pic": "https://timgsa.baidu.com/timg?image7b14f12f.jpg", * }, * ] *} * @apiErrorExample {json} Error-Response: * HTTP/1.1 400 Bad Request */ public function dream() { $user = $this->getUser(); $dreams = $user->dreams; if (count($dreams) == 0) return $this->error(ErrorCode::DREAM_NOT_EXIST); foreach ($dreams as $dream){ $dream->pic = count($dream->img) > 0 ? $dream->img->pic : ''; } return $this->api($dreams); } /** * @api {get} /api/my/collection 我的收藏 * @apiDescription 我的收藏 * @apiGroup My * @apiPermission Passport * @apiVersion 0.1.0 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK *{ * "status": true, * "status_code": 0, * "message": "", * "data": { * "data": [ * { 梦想详情 * "id": 12, * "user_id": 2, * "name": "用户2梦想标题166", * "about": "用户2梦想介绍666", * "coin": 2500, * "time": 21, * "get_coin": 0, * "status": 0, * "video": null, * "sign": "", * }, * "img": { * "title": "", * "pic": "https://f12f.jpg" 梦想封面图片 * } * ], * "users": { * "2": "https://xxx.jpeg" ID号和头像 * } * } *} * @apiErrorExample {json} Error-Response: * HTTP/1.1 400 Bad Request */ public function collection() { $user = $this->getUser(); $dreams = $user->collection; $users = []; foreach ($dreams as $item) { if ($item->pivot->interaction_number > 0) { $user_info = UserInfoModel::find($item->pivot->dream_user_id); $avatar = $user_info ? $user_info->avatar : ''; if (!array_key_exists($item->pivot->dream_user_id,$users)) { $users[$item->pivot->dream_user_id] = $avatar; } } $item->img; } return $this->api(compact('dreams','users')); } /** * @api {get} /api/my/setting 设置 * @apiDescription 设置 * @apiGroup My * @apiPermission Passport * @apiVersion 0.1.0 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK *{ * "status": true, * "status_code": 0, * "message": "", * "data": { * "key": "2511789", 电话 * "value": "关于喵喵介绍" 关于喵喵 * } *} * @apiErrorExample {json} Error-Response: * HTTP/1.1 400 Bad Request */ public function setting() { $data = BaseSettingsModel::where('category','miaomiao')->select('key','value')->first(); return $this->api($data); } /** * @api {get} /api/my/search_collection 梦想搜索 * @apiDescription 梦想搜索 * @apiGroup My * @apiPermission none * @apiVersion 0.1.0 * @apiParam {string} keyword 关键字 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK { "status": true, "status_code": 0, "message": "", "data": [ { "id": 5, "user_id": 1, "name": "梦想标题1", "about": "梦想介绍", "coin": 2500, "time": 72000, "get_coin": 0, "mark": 0, "status": 0, "video": "url", "score": 100079365, "sign": "梦想达人", "created_at": "2017-06-25 12:45:22", "updated_at": "2017-06-28 15:50:41", "user": {}, "imgs": [] }, ] } * @apiErrorExample {json} Error-Response: * HTTP/1.1 400 Bad Request */ public function searchCollection(Request $request) { $user = $this->getUser(); if (empty($request->keyword)) { return $this->api(''); } $keyword ='%'.$request->keyword.'%'; $data = DreamInfoModel::where('name','like',$keyword)-> orWhere('sign','like',$keyword)->with('user','imgs')->get(); $this->insertSearchTable($user->id,$request->keyword); $data = $user->careDreams()->whereHas('careDreams', function ($query) use ($keyword) { $query-> where('name','like',$keyword)-> orWhere('sign','like',$keyword)->with('user','imgs'); }); return $data; return $this->api(compact('data')); } public function insertSearchTable($id,$keyword) { $info = SearchInfoModel::where('user_id',$id)-> where('search',trim($keyword))->first(); if (count($info) == 0) { SearchInfoModel::create(['user_id'=>$id,'search'=>trim($keyword),'times'=>1]); }else{ $info->times += 1; $info->save(); } } }