1, "msg" => "获取成功", "data" => {} *}) */ public function index(){ $card_type = $this->request->param('card_type/s'); $result = CardService::getInstance()->getUserCardList($card_type); $this->success('',$result); } /** * @ApiTitle(购买会员卡) * @ApiSummary(购买会员卡) * @ApiRoute(/buyUserCard) * @ApiMethod(POST) * @ApiParams(name="card_category_id",type="integer", require=true,description="会员卡类别ID") * @ApiHeaders(name = "brand-key", type = "string",require = true, description = "应用key") * @ApiHeaders(name = "token", type = "string", require = true, description = "Token") * @ApiReturnParams(name="code",type="integer",required=true, sample="0") * @ApiReturnParams(name="msg",type="string",required=true, sample="获取成功") * @ApiReturnParams(name="data",type="bject",required=true, description= "扩展数据") * @ApiReturn({ "code" => 1, "msg" => "获取成功", "data" => {} *}) */ public function buyUserCard() { $card_category_id = $this->request->param('card_category_id/d'); $result = CardService::getInstance()->buyUserCard($card_category_id); return $result; } /** * @ApiTitle(获取会员卡核销码) * @ApiSummary(获取会员卡核销码) * @ApiRoute(/getUserCardCodeInfo) * @ApiMethod(GET) * @ApiParams(name="user_card_id",type="string",required=true,description="会员卡ID") * @ApiParams(name="share_id",type="integer", require=false,description="分享ID") * @ApiParams(name="check_type",type="integer", require=true,description="核销码类型 1:会员卡 2:单次卡") * @ApiHeaders(name = "brand-key", type = "string",require = true, description = "应用key") * @ApiHeaders(name = "token", type = "string", require = true, description = "Token") * @ApiReturnParams(name="code",type="integer",required=true, sample="0") * @ApiReturnParams(name="msg",type="string",required=true, sample="获取成功") * @ApiReturnParams(name="data",type="bject",required=true, description= "扩展数据") * @ApiReturn({ "code" => 1, "msg" => "获取成功", "data" => {} *}) * @throws DbException */ public function getUserCardCodeInfo(){ $user_card_id = $this->request->param('user_card_id/s'); $share_id = $this->request->param('share_id/s'); $check_type = $this->request->param('check_type/s') ?? 1; if ($check_type==1) { Log::log($user_card_id); $user_card = new UserCard(); $result = $user_card->get($user_card_id); $info['user_card_id'] = $result->id; $info['brand_id'] = $result->brand_id; $info['user_id'] = $result->user_id; $info['card_type'] = $result->card_type; //失效时间当前时间加30s $info['expire_time'] = time() + 30; } if ($check_type==2) { Log::log($share_id); $share_card = new TimesCardShare(); $result = $share_card->get($share_id); $info['share_id'] = $result->id; $info['brand_id'] = $this->brand_id; $info['user_id'] = $result->to_user_id; $info['user_card_id'] = $result->user_card_id; $info['card_type'] = 3; $info['expire_time'] = time() + 30; } $qrCode = new \QRcode(); ob_start(); // 开启输出缓冲 $errorLevel = "L"; $size = 10; $qrCode::png(json_encode($info), false, $errorLevel, $size); $imageString = ob_get_contents(); // 获取缓冲区内容 ob_end_clean(); // 清空并关闭输出缓冲 $base64Image = 'data:image/png;base64,' . base64_encode($imageString); // 转换为Base64编码 return json(['qrcode' => $base64Image]); // 返回Base64编码的图片 } /** * @ApiTitle(获取会员卡类别列表) * @ApiSummary(获取会员卡类别列表) * @ApiRoute(/getCardTypeList) * @ApiMethod(GET) * @ApiHeaders(name = "brand-key", type = "string",require = true, description = "应用key") * @ApiHeaders(name = "token", type = "string", require = true, description = "Token") * @ApiParams(name="card_type",type="string", require=false,description="会员卡类别 1:次卡 2:时长卡") * @ApiReturnParams(name="code",type="integer",required=true, sample="0") * @ApiReturnParams(name="msg",type="string",required=true, sample="获取成功") * @ApiReturnParams(name="data",type="bject",required=true, description= "扩展数据") * @ApiReturn({ "code" => 1, "msg" => "获取成功", "data" => {} *}) */ public function getCardTypeList(){ $card_type = $this->request->param('card_type/s'); $result = CardService::getInstance()->getCardTypeList($card_type); $this->success('',$result); } /** * @ApiTitle(获取会员卡详细信息) * @ApiSummary(获取会员卡详细信息) * @ApiRoute(/getCardTypeInfo) * @ApiMethod(GET) * @ApiHeaders(name = "brand-key", type = "string",require = true, description = "应用key") * @ApiHeaders(name = "token", type = "string", require = true, description = "Token") * @ApiParams(name="card_category_id",type="integer", require=true,description="会员卡类别ID") * @ApiReturnParams(name="code",type="integer",required=true, sample="0") * @ApiReturnParams(name="msg",type="string",required=true, sample="获取成功") * @ApiReturnParams(name="data",type="bject",required=true, description= "扩展数据") * @ApiReturn({ "code" => 1, "msg" => "获取成功", "data" => {} *}) */ public function getCardTypeInfo(){ $card_category_id = $this->request->param('card_category_id/s'); $result = CardService::getInstance()->getCardTypeInfo($card_category_id); $this->success('',$result); } /** * @ApiTitle(次卡分享) * @ApiSummary(次卡分享) * @ApiRoute(/timesCardShare) * @ApiMethod(POST) * @ApiParams(name="user_card_id",type="integer", require=true,description="次卡ID") * @ApiHeaders(name = "brand-key", type = "string",require = true, description = "应用key") * @ApiHeaders(name = "token", type = "string", require = true, description = "Token") * @ApiReturnParams(name="code",type="integer",required=true, sample="0") * @ApiReturnParams(name="msg",type="string",required=true, sample="获取成功") * @ApiReturnParams(name="data",type="bject",required=true, description= "扩展数据") * @ApiReturn({ "code" => 1, "msg" => "获取成功", "data" => {} *}) */ public function timesCardShare() { $user_card_id = $this->request->param('user_card_id/s'); $result = CardService::getInstance()->timesCardShare($user_card_id); $this->success('次卡分享成功',$result); } /** * @ApiTitle(核销会员卡) * @ApiSummary(核销会员卡) * @ApiRoute(/userCardVerification) * @ApiMethod(POST) * @ApiParams(name="brand_id",type="integer", require=true,description="商户ID") * @ApiParams(name="user_card_id",type="String", require=false,description="会员卡ID") * @ApiParams(name="share_id",type="integer", require=false,description="分享ID") * @ApiParams(name="user_id",type="integer", require=true,description="用户iD") * @ApiParams(name="card_type",type="integer", require=true,description="核销类型 1:次卡 2:时长卡 3:单次卡") * @ApiParams(name="expire_time",type="integer", require=true,description="失效时间") * @ApiHeaders(name = "brand-key", type = "string",require = true, description = "应用key") * @ApiHeaders(name = "token", type = "string", require = true, description = "Token") * @ApiReturnParams(name="code",type="integer",required=true, sample="0") * @ApiReturnParams(name="msg",type="string",required=true, sample="获取成功") * @ApiReturnParams(name="data",type="bject",required=true, description= "扩展数据") * @ApiReturn({ "code" => 1, "msg" => "获取成功", "data" => {} *}) */ public function userCardVerification() { $user_card_id = $this->request->param('user_card_id/s',0,'xilufitness_get_id_value'); $share_id = $this->request->param('share_id/s'); $user_id = $this->request->param('user_id/s'); $card_type = $this->request->param('card_type/s'); $brand_id = $this->request->param('brand_id/s'); $expire_time = $this->request->param('expire_time/s'); if (empty($expire_time) || $expire_time < time()) { $this->error('核销失败-二维码已失效'); } if ($brand_id != $this->brand_id) { $this->error('二维码无效-商家信息不匹配'); } if (in_array($card_type,[1,2])) { CardService::getInstance()->userCardVerification($user_card_id,$user_id); }else if ($card_type == 3) { CardService::getInstance()->onceCardVerification($share_id,$user_id); } else { $this->error('核销失败'); } } /** * @ApiTitle(获取核销记录) * @ApiSummary(获取核销记录) * @ApiRoute(/getCardVerificationRecords) * @ApiMethod(GET) * @ApiHeaders(name = "brand-key", type = "string",require = true, description = "应用key") * @ApiHeaders(name = "token", type = "string", require = true, description = "Token") * @ApiParams(name="user_card_id",type="integer", require=false,description="会员卡ID(用户端)") * @ApiParams (name="page_index", type="integer", required=false, description="分页页码") * @ApiParams (name="page_size", type="integer", required=false, description="每页条数") * @ApiReturnParams(name="code",type="integer",required=true, sample="0") * @ApiReturnParams(name="msg",type="string",required=true, sample="获取成功") * @ApiReturnParams(name="data",type="bject",required=true, description= "扩展数据") * @ApiReturn({ "code" => 1, "msg" => "获取成功", "data" => {} *}) */ public function getCardVerificationRecords() { $user_card_id = $this->request->param('user_card_id/s',0,'xilufitness_get_id_value'); $params['page_index'] = $this->request->post("page_index"); $params['page_size'] = $this->request->post("page_size"); $page_index = empty($params['page_index']) ? 1 : $params['page_index']; $page_size = empty($params['page_size']) ? 10 : $params['page_size']; $result = CardService::getInstance()->getCardVerificationRecords($user_card_id,$page_index,$page_size); $this->success('',$result); } /** * @ApiTitle(获取次卡分享记录) * @ApiSummary(获取次卡分享记录) * @ApiRoute(/getTimesCardShare) * @ApiMethod(GET) * @ApiHeaders(name = "brand-key", type = "string",require = true, description = "应用key") * @ApiHeaders(name = "token", type = "string", require = true, description = "Token") * @ApiParams(name="user_card_id",type="string", require=false,description="会员卡ID") * @ApiReturnParams(name="code",type="integer",required=true, sample="0") * @ApiReturnParams(name="msg",type="string",required=true, sample="获取成功") * @ApiReturnParams(name="data",type="bject",required=true, description= "扩展数据") * @ApiReturn({ "code" => 1, "msg" => "获取成功", "data" => {} *}) */ public function getTimesCardShare() { $user_card_id = $this->request->param('user_card_id/s',0,'xilufitness_get_id_value'); $result = CardService::getInstance()->getTimesCardShare($user_card_id); $this->success('',$result); } /** * @ApiTitle(领取次卡分享) * @ApiSummary(领取次卡分享) * @ApiRoute(/receiveTimesCardShare) * @ApiMethod(POST) * @ApiHeaders(name = "brand-key", type = "string",require = true, description = "应用key") * @ApiHeaders(name = "token", type = "string", require = true, description = "Token") * @ApiParams(name="share_id",type="integer", require=true,description="分享ID") * @ApiReturnParams(name="code",type="integer",required=true, sample="0") * @ApiReturnParams(name="msg",type="string",required=true, sample="获取成功") * @ApiReturnParams(name="data",type="bject",required=true, description= "扩展数据") * @ApiReturn({ "code" => 1, "msg" => "获取成功", "data" => {} *}) */ public function receiveTimesCardShare() { $share_id = $this->request->param('share_id/s'); CardService::getInstance()->receiveTimesCardShare($share_id); $this->success('',[]); } }