service = new UserActionService(); parent::__construct($request); } function modify() { $user = $this->auth->getUser(); $params = (new BaseApiValidate([]))->checkBody(); $user = $this->service->modify($user->id, $params); if (null === $user) $this->error("用户不存在!"); $user['token'] = $this->auth->getToken(); $this->success($user); } public function scanCode($invite_store_id) { $user = $this->auth->getUser(); if ($invite_store_id == null) { $this->error("扫描的球房不存在"); } if ($invite_store_id) { RedisClient::of()->set("scan:qr:codes:{$user["id"]}", $invite_store_id, 60 * 10); } $this->success(); } public function colletMassager() { $params = (new BaseApiValidate([ 'massager_id' => 'require|number' ]))->checkBody(); $user = $this->auth->getUser(); $r = $this->service->colletMassager($user->id, $params['massager_id']); $r->code() ? $this->success($r->data()) : $this->error($r->msg()); } public function cancelColletMassager() { $params = (new BaseApiValidate([ 'massager_id' => 'require|number' ]))->checkBody(); $user = $this->auth->getUser(); $r = $this->service->cancelColletMassager($user->id, $params['massager_id']); $r->code() ? $this->success($r->data()) : $this->error($r->msg()); } public function commentMassager() { $params = (new BaseApiValidate([ "massager_id" => "require|number", "is_anonymity" => "require|between:0,1", "star" => "between:0,5", "content" => "require|length:5,1000" ]))->checkBody(); $user = $this->auth->getUser(); $params['user_id'] = $user->id; $r = $this->service->commentMassager($params); $r->code() ? $this->success($r->data()) : $this->error($r->msg()); } /** * 添加地址 */ public function addArea() { $user = $this->auth->getUser(); $params = (new BaseApiValidate([ 'name' => 'require', 'mobile' => 'require|length:11', 'address' => 'require', // 'door_no' => 'require', 'city_code' => "require|number", "lng" => "require|number", "lat" => "require|number", ]))->checkBody(); $area = $this->service->addArea($user->id, $params); $this->success($area); } /** * 删除地址 */ public function delArea() { $user = $this->auth->getUser(); $params = (new BaseApiValidate([ 'area_id' => "require|number" ]))->checkBody(); $area = $this->service->delArea($user->id, $params['area_id']); $this->success($area); } /** * 获取默认地址 */ public function getEnableArea() { $user = $this->auth->getUser(); $r = $this->service->getEnableArea($user->id); $r ? $this->success($r) : $this->error("未设置默认地址"); } /** * 获取地址列表 */ public function fetchArea() { $user = $this->auth->getUser(); $r = $this->service->fetchArea($user->id); $this->success($r); } public function changeAreaEnable() { $user = $this->auth->getUser(); $params = (new BaseApiValidate([ 'area_id' => "require|number" ]))->checkBody(); $r = $this->service->changeAreaEnable($user->id, $params['area_id']); $r->code() ? $this->success($r->data()) : $this->error($r->msg()); } public function applyBeMassager() { $user = $this->auth->getUser(); $params = (new BaseApiValidate([ "name" => "require|length:2,10", "gender" => "require", "mobile" => "require|length:11", "date_of_birth" => "require|date", "photo_images" => "require", "city_code" => "require|number", "parent_id" => "number" ]))->checkBody(); if (!in_array($params["gender"], [\E_GENDER_TYPE::Man, \E_GENDER_TYPE::Woman])) $this->error("gender error"); $r = $this->service->applyBeMassager($user ? $user->id : null, $params); $r->code() ? $this->success($r->data()) : $this->error($r->msg()); } public function applyBeAgency() { $params = (new BaseApiValidate([ "name" => "require|length:2,10", "mobile" => "require|length:11", // "id_card" => "require", "budget" => "require", // "license_images" => "require", "area_ids" => "require" ]))->checkBody(); $r = $this->service->applyBeAgency($params); $r->code() ? $this->success($r->data()) : $this->error($r->msg()); } // 反馈 public function feedback() { $user = $this->auth->getUser(); $params = (new BaseApiValidate([ "type" => "require", "reason" => "require", "mobile" => "require", "content" => "require", "relation_type" => "require", ]))->checkBody(); if (!in_array($params["type"], ['feedback', 'complaint'])) $this->error("type error"); if (!in_array($params["relation_type"], ['platform', 'agency', 'store', 'massager', 'user', 'other'])) $this->error("relation_type"); $r = $this->service->feedback( $user->id, $params["type"], $params["content"], isset($params["images"]) ? $params["images"] : null, $params["reason"], $params["mobile"], isset($params["relation_type"]) ? $params["relation_type"] : null, isset($params["relation_id"]) ? $params["relation_id"] : null, isset($params["relation_name"]) ? $params["relation_name"] : null ); $this->success($r); } public function fetchGrantVoucher() { $user = $this->auth->getUser(); $r = $this->service->fetchGrantVoucher($user->id); $this->success($r); } public function grantVoucher() { $params = (new BaseApiValidate([ "id" => "require|number" ]))->checkBody(); $user = $this->auth->getUser(); $r = $this->service->grantVoucher($user->id, $params["id"]); $r->code() ? $this->success($r->data()) : $this->error($r->msg()); } public function delete_order($order_id = null) { if ($order_id > 0) (new \app\api\model\order\Order())->update(["is_delete" => 1], ["id" => $order_id]); $this->success(); } public function cancel($sms_code = null) { $user = $this->auth->getUser(); if (!$user || !$user['mobile']) $this->error("登录信息错误"); $check = \app\common\library\Sms::check($user["mobile"], $sms_code, "user_cancel"); if (!$check) $this->error("短信验证码不正确!"); $this->service->cancel($user["id"]); $this->success(); } }