objMVipCard = new MVipCard($this->onlineEnterpriseId, $this->onlineUserId); //$this->objTempSaveCache = new TempSaveCache(); } /** * 添加和编辑会员卡管理公共字段处理方法 * * @return array */ public function commonFieldFilter(){ $params = $this->request->getRawJson(); if( empty($params) ){ $this->sendOutput('参数为空', ErrorCode::$paramError ); } $vipCardData = [ 'name' => isset($params['name']) ? $params['name'] : '', 'styleId' => isset($params['styleId']) ? $params['styleId'] : '', 'sort' => isset($params['sort']) ? $params['sort'] : '', 'mode' => isset($params['mode']) ? $params['mode'] : '',//会员卡模式 5所有商品 4指定商品 //'doubleDiscount' => isset($params['doubleDiscount']) ? $params['doubleDiscount'] : '',//折上折 5启用 4禁用" 'freeShipping' => isset($params['freeShipping']) ? $params['freeShipping'] : '',//是否包邮 5包邮 4不包邮 'vipDiscount' => isset($params['vipDiscount']) ? $params['vipDiscount'] : '',//会员折扣 5有折扣 4没有折扣 'hasNewCardCoupon' => isset($params['hasNewCardCoupon']) ? $params['hasNewCardCoupon'] : '',//开卡赠送优惠券 5赠送 4不赠送优惠券" 'hasMonthCoupon' => isset($params['hasMonthCoupon']) ? $params['hasMonthCoupon'] : '',//每月领取优惠券 5领取 4不领取优惠券 'enableStatus' => isset($params['enableStatus']) ? $params['enableStatus'] : '', 'effectiveDate' => isset($params['effectiveDate']) ? $params['effectiveDate'] : '',//有效期5长期有效 4非长期有效 'effectiveMonth' => isset($params['effectiveMonth']) ? $params['effectiveMonth'] : 0,//有效月份 'totalNum' => isset($params['totalNum']) ? $params['totalNum'] : '', ]; //非暂存则验空 if (!isset($params['tempSave']) || $params['tempSave'] == false) { foreach($vipCardData as $key => $value){ if(empty($value) && $value !== 0){ $this->sendOutput($key.'参数错误', ErrorCode::$paramError ); } } } $vipCardData['tempSave']= isset($params['tempSave']) ? $params['tempSave'] : false; $vipCardData['goodsIds']= isset($params['goodsIds']) ? $params['goodsIds'] : ''; $vipCardData['price']= isset($params['price']) ? floatval($params['price']) : 0; $vipCardData['discount']= isset($params['discount']) ? $params['discount'] : ''; $vipCardData['newCardCouponIds'] = isset($params['newCardCouponIds']) ? $params['newCardCouponIds'] : ''; $vipCardData['newCardCouponNames'] = isset($params['newCardCouponNames']) ? $params['newCardCouponNames'] : ''; $vipCardData['monthCouponIds'] = isset($params['monthCouponIds']) ? $params['monthCouponIds'] : ''; $vipCardData['monthCouponNames'] = isset($params['monthCouponNames']) ? $params['monthCouponNames'] : ''; $vipCardData['remark'] = isset($params['remark']) ? $params['remark'] : ''; $vipCardData['memberSpecialPrice'] = isset($params['memberSpecialPrice']) ? $params['memberSpecialPrice'] : 4; //会员卡特价(5启用 :4禁用) $vipCardData['doubleDiscount']= StatusCode::$delete;//折上折禁用 $vipCardData['deleteStatus']= StatusCode::$standard; $vipCardData['createTime'] = time(); $vipCardData['updateTime'] = time(); return $vipCardData; } /** * 添加会员卡 */ public function addVipCard() { $vipCardData = $this->commonFieldFilter(); if ($vipCardData['tempSave']) { $this->objTempSaveCache->saveVipCard($this->onlineEnterpriseId, $this->onlineUserId, $vipCardData); parent::sendOutput('暂存成功'); } $vipCardData['effectiveDate'] = $vipCardData['effectiveDate'] == StatusCode::$standard ? -1 : $vipCardData['effectiveMonth']; unset($vipCardData['effectiveMonth']); unset($vipCardData['tempSave']); unset($vipCardData['newCardCouponNames']); unset($vipCardData['monthCouponNames']); $result = $this->objMVipCard ->addVipCard($vipCardData); if($result->isSuccess()){ //删除暂存数据 //$this->objTempSaveCache->delVipCard($this->onlineEnterpriseId, $this->onlineUserId); parent::sendOutput($result->getData()); }else{ parent::sendOutput($result->getData(), $result->getErrorCode()); } } /** * 获取暂存信息 */ public function getTempData() { $result = $this->objTempSaveCache->getVipCard($this->onlineEnterpriseId, $this->onlineUserId); $this->sendOutput($result); } /** * 获取指定会员卡信息 */ public function getVipCardInfo() { $vipCardId = $this->request->param('request_id'); if ( !$vipCardId ) { $this->sendOutput('参数错误', ErrorCode::$paramError ); } $result = $this->objMVipCard->getVipCardInfo($vipCardId); if($result->isSuccess()){ $this->sendOutput($result->getData()); }else{ $this->sendOutput($result->getData(), $result->getErrorCode()); } } /** * 编辑会员卡 */ public function editVipCard() { $vipCardId = $this->request->param('request_id'); if(empty($vipCardId)){ $this->sendOutput('参数错误', ErrorCode::$paramError); } $vipCardData = $this->commonFieldFilter(); $vipCardData['id'] = $vipCardId; unset($vipCardData['createTime']); $vipCardData['effectiveDate'] = $vipCardData['effectiveDate'] == StatusCode::$standard ? -1 : $vipCardData['effectiveMonth']; unset($vipCardData['effectiveMonth']); unset($vipCardData['tempSave']); unset($vipCardData['newCardCouponNames']); unset($vipCardData['monthCouponNames']); $result = $this->objMVipCard->editVipCard($vipCardData); if($result->isSuccess()){ parent::sendOutput($result->getData()); }else{ parent::sendOutput($result->getData(), $result->getErrorCode()); } } /** * 删除会员卡 */ public function delVipCard() { $vipCardId = $this->request->param('request_id'); if(!$vipCardId){ $this->sendOutput('参数错误', ErrorCode::$paramError); } $result = $this->objMVipCard->delVipCard($vipCardId); if($result->isSuccess()){ parent::sendOutput($result->getData()); }else{ parent::sendOutput($result->getData(), $result->getErrorCode()); } } /** * 会员卡启用和禁用 */ public function updateVipCardStatus() { $params = $this->request->getRawJson(); if( empty($params['id']) && empty($params['enableStatus'])){ $this->sendOutput('参数为空', ErrorCode::$paramError ); } $result = $this->objMVipCard->updateVipCardStatus($params); if($result->isSuccess()){ parent::sendOutput($result->getData()); }else{ parent::sendOutput($result->getData(), $result->getErrorCode()); } } /** * 后台所有会员卡列表 */ public function getAllVipCard() { $params = $this->request->getRawJson(); if( empty($params) ){ $this->sendOutput('参数为空', ErrorCode::$paramError ); } if(isset($params['enableStatus']) && !empty($params['enableStatus'])) { $selectParams['enableStatus'] = $params['enableStatus']; } if(isset($params['keyword']) && !empty($params['keyword'])) { $selectParams['name'] = $params['keyword']; } $pageParams = pageToOffset($params['page']?:1, $params['pageSize']?:10); $selectParams['limit'] = $pageParams['limit']; $selectParams['offset'] = $pageParams['offset']; $result = $this->objMVipCard->getAllVipCard($selectParams); if($result->isSuccess()){ $returnData = $result->getData(); $pageData = [ 'pageIndex' => $params['page'], 'pageSize' => $params['pageSize'], 'pageTotal' => $returnData['total'], ]; parent::sendOutput($returnData['data'], 0, $pageData); }else{ parent::sendOutput($result->getData(), $result->getErrorCode()); } } //后台会员卡领取记录 public function receiveRecord() { $params = $this->request->getRawJson(); if( empty($params) ){ $this->sendOutput('参数为空', ErrorCode::$paramError ); } //是否过期 5已过期 4未过期 if(isset($params['outDate']) && !empty($params['outDate'])) { $selectParams['outDate'] = $params['outDate']; } if(isset($params['keyword']) && !empty($params['keyword'])) { $selectParams['name'] = $params['keyword']; } // 会员卡id if(isset($params['vipCardId']) && !empty($params['vipCardId'])) { $selectParams['vipCardId'] = $params['vipCardId']; } // 客户筛选 if(isset($params['customerId']) && !empty($params['customerId'])) { $selectParams['customerId'] = $params['customerId']; } // 根据领取时间时间晒选 if(isset($params['createTime']) && !empty($params['createTime'])) { $selectParams['createTime'] = $params['createTime']; } // 根据领取时间时间晒选 if(isset($params['entTime']) && !empty($params['entTime'])) { $selectParams['entTime'] = $params['entTime']; } $pageParams = pageToOffset($params['page']?:1, $params['pageSize']?:10); $selectParams['limit'] = $pageParams['limit']; $selectParams['offset'] = $pageParams['offset']; $result = $this->objMVipCard->getAllReceiveRecord($selectParams); if($result->isSuccess()){ $returnData = $result->getData(); $pageData = [ 'pageIndex' => $params['page'], 'pageSize' => $params['pageSize'], 'pageTotal' => $returnData['total'], ]; parent::sendOutput($returnData['data'], 0, $pageData); }else{ parent::sendOutput($result->getData(), $result->getErrorCode()); } } /** * 指定客户会员卡一键失效 */ public function invalidVipCard() { $params = $this->request->getRawJson(); if( empty($params['customerId']) && empty($params['vipCardId'])){ $this->sendOutput('参数为空', ErrorCode::$paramError ); } $result = $this->objMVipCard->invalidVipCard($params); if($result->isSuccess()){ parent::sendOutput($result->getData()); }else{ parent::sendOutput($result->getData(), $result->getErrorCode()); } } }