public function run()
 {
     $page = intval($this->getDataItem('page', 1));
     $keyword = $this->getDataItem('keyword');
     $city_code = trim($this->getDataItem('city_code'));
     if ($city_code == null || $city_code == '') {
         return $this->errorLog(ResultStatus::POST_BODY_PARAM_ERROR, "城市编码为空");
         exit;
     }
     $is_open = SysOpenCity::findFirst(['columns' => "city_id", 'conditions' => "city_code = {$city_code} AND city_state = 1"]);
     if (!$is_open->city_id > 0) {
         return $this->errorLog(ResultStatus::CITY_NOT_OPEN, "城市未开通");
         exit;
     }
     //根据城市编码 获取 城市区
     $city = SysAreaZipDistrictPhonecode::query()->columns(['K_ID'])->where("PHONE_CODE = {$city_code}")->execute()->toArray();
     foreach ($city as $k) {
         $citys[] = $k['K_ID'];
     }
     $citys = implode(',', $citys);
     $count = $this->getConfig()->limit;
     if (empty($keyword)) {
         $offset = ($page - 1) * $count;
         $list = BeautyParlorServiceModel::query()->columns(['service_id id', 'service_cover cover', 'service_name name', 'service_price price', 'service_unit unit', 'service_description description', 'b.bp_id', 'b.bp_name'])->leftJoin('Apps\\Common\\Models\\BeautyParlor', 'Apps\\Common\\Models\\BeautyParlorService.beauty_parlor_id = b.bp_id', 'b')->where("Apps\\Common\\Models\\BeautyParlorService.service_state = 1 and b.bp_state = 1 AND b.bp_district in ({$citys})")->limit($count, $offset)->execute()->toArray();
         foreach ($list as $k => $v) {
             $unit = $v['unit'];
             unset($v['unit']);
             $list[$k]['price_show'] = '';
             if ($v['price'] > 0) {
                 $list[$k]['price_show'] = $v['price'] . '元' . ($unit ? '/' . $unit : '');
             }
             $list[$k]['cover'] = PicUrl::BeautyParlorCover($list[$k]['cover'], $this->getDi());
         }
         $this->setResult($list);
     } else {
         /*多关键字搜索*/
         $keywordarr = explode(" ", trim($keyword));
         foreach ($keywordarr as $r) {
             $wherearr[] = "Apps\\Common\\Models\\BeautyParlorService.service_name like '%" . $r . "%'";
         }
         $where = implode(" or ", $wherearr);
         ////////////////////////////////////////////////////////////////
         /* $limit = $this->getConfig()->limit;
            $offset = ($page-1) * $limit;
            $data = $this->searchBPS($keyword, $limit, $offset);
            $this->setResult($data); */
         $offset = ($page - 1) * $count;
         $list = BeautyParlorServiceModel::query()->columns(['service_id id', 'service_cover cover', 'service_name name', 'service_price price', 'service_unit unit', 'service_description description', 'b.bp_id', 'b.bp_name'])->leftJoin('Apps\\Common\\Models\\BeautyParlor', 'Apps\\Common\\Models\\BeautyParlorService.beauty_parlor_id = b.bp_id', 'b')->where("{$where} and Apps\\Common\\Models\\BeautyParlorService.service_state = 1 and b.bp_state = 1 AND b.bp_district in ({$citys})")->limit($count, $offset)->execute()->toArray();
         foreach ($list as $k => $v) {
             $unit = $v['unit'];
             unset($list[$k]['unit']);
             $list[$k]['price_show'] = '';
             if ($v['price'] > 0) {
                 $list[$k]['price_show'] = $v['price'] . '元' . ($unit ? '/' . $unit : '');
             }
             $list[$k]['cover'] = PicUrl::BeautyParlorCover($list[$k]['cover'], $this->getDi());
         }
         $this->setResult($list);
     }
 }
Esempio n. 2
0
 public function run()
 {
     $id = intval($this->getDataItem('id', 0));
     $page = intval($this->getDataItem('page', 1));
     $limit = $this->getConfig()->limit;
     $offset = ($page - 1) * $limit;
     if (0 < $id) {
         $service = BeautyParlorService::query()->columns(['service_id id', 'service_cover cover', 'service_name name', 'service_price price', 'service_unit unit', 'service_description description'])->where('service_state>0 and service_is_sell = 1 and beauty_parlor_id=:bid:')->bind(['bid' => $id])->limit($limit, $offset)->execute()->toArray();
     } else {
         return $this->errorLog(ResultStatus::URL_PARAM_CANNOT_EMPTY, '参数异常');
     }
     $services = [];
     if ($service) {
         foreach ($service as $d) {
             $d['cover'] = PicUrl::BeautyParlorCover($d['cover'], $this->getDi());
             $unit = $d['unit'];
             unset($d['unit']);
             $d['price_show'] = '';
             if ($d['price'] > 0) {
                 $d['price_show'] = $d['price'] . '元' . ($unit ? '/' . $unit : '');
             }
             $services[] = $d;
         }
         $this->setResult($services);
     } else {
         $this->setResult($services);
     }
 }
Esempio n. 3
0
 public function run()
 {
     /**
      * 验证用户权限
      */
     if (false == $this->verifyUserAuth()) {
         return false;
     }
     $page = intval($this->getDataItem('page', 1));
     $limit = $this->getConfig()->limit;
     $offset = ($page - 1) * $limit;
     $user_id = $this->getUserAuth()->userId;
     $list = CosOnlineAppointment::query()->columns(['id', 'set_man_id', 'shop_id', 'shop_name', 'online_product_id', 'product_name', 'appointment_time', 'appointment_state', 'set_time', 'type'])->where('appointment_state in(0, 1) and set_man_id = ' . $user_id)->orderBy('appointment_time DESC')->limit($limit, $offset)->execute()->toArray();
     $result = [];
     foreach ($list as $val) {
         $cover = '';
         $price = '';
         // 初始单价
         if ($val['type'] == 1) {
             // 美容院
             if ($BeautyParlorAttr = BeautyParlorAttr::findFirst('beauty_parlor_id = ' . $val['shop_id'])) {
                 $price = $BeautyParlorAttr->low_price . '元';
             }
             if ($BeautyParlor = BeautyParlor::findFirst('bp_id = ' . $val['shop_id'])) {
                 $cover = $BeautyParlor->bp_cover;
             }
             $result[] = ['id' => $val['id'], 'order_id' => $val['shop_id'], 'title' => $val['shop_name'], 'cover' => $cover ? PicUrl::BeautyParlorCover($cover, $this->getDi()) : '', 'price' => $price, 'time' => $val['appointment_time'], 'add_time' => $val['set_time'], 'status' => $val['appointment_state'], 'type' => '1'];
         } elseif ($val['type'] == '2') {
             if ($BeautyParlorService = BeautyParlorService::findFirst('service_id = ' . $val['online_product_id'])) {
                 $price = $BeautyParlorService->service_price . '元' . ($BeautyParlorService->service_unit ? '/' . $BeautyParlorService->service_unit : '');
                 $cover = $BeautyParlorService->service_cover;
             }
             $result[] = ['id' => $val['id'], 'order_id' => $val['online_product_id'], 'title' => $val['product_name'] ?: '', 'cover' => $cover ? PicUrl::BeautyParlorCover($cover, $this->getDi()) : '', 'price' => $price, 'time' => $val['appointment_time'], 'add_time' => $val['set_time'], 'status' => $val['appointment_state'], 'type' => '2'];
         } else {
             continue;
         }
     }
     $this->setResult($result);
 }
Esempio n. 4
0
 public function run()
 {
     $id = intval($this->getDataItem('id', 0));
     if (0 < $id) {
         /**
          * 查询服务信息
          */
         $service = BeautyParlorService::query()->columns(['service_id as id', 'service_cover as cover', 'service_name as name', 'service_price as price', 'service_unit as price_show', 'service_state as state', 'service_description as description', 'service_intro as intro', 'beauty_parlor_id as bp_id', 'service_is_sell as is_sell'])->where('service_id=:id:')->bind(['id' => $id])->execute()->getFirst();
     }
     $data = null;
     $beauty_parlor_info = BeautyParlor::query()->columns(['bp_address as address', 'bp_tel as tel', 'AsText(bp_coordinate) as bp_coordinate'])->where("bp_id = " . $service->bp_id)->execute()->getFirst();
     $coordinate = str_replace("POINT(", '', $beauty_parlor_info->bp_coordinate);
     $coordinate = str_replace(")", '', $coordinate);
     $coordinate = explode(" ", $coordinate);
     if ($service) {
         $data = ['id' => $service->id, 'cover' => PicUrl::BeautyParlorCover($service->cover, $this->getDi()), 'name' => $service->name, 'price' => $service->price, 'description' => $service->description, 'intro' => \Apps\Common\Libs\BeautyParlor::formatServiceIntro($service->intro, $this->getDi(), true), 'service_state' => $service->state, 'is_sell' => $service->is_sell];
         if ($service->price > 0) {
             $unit = $service->price_show;
             $data['price_show'] = $service->price . '元' . ($unit ? '/' . $unit : '');
         }
         $data['beauty_parlor'] = $this->getBeautyParlor($service->bp_id);
     }
     $this->setResult($data);
 }
Esempio n. 5
0
 private function syncBPS($id)
 {
     $info = BeautyParlorService::findFirst('service_id = ' . $id);
     if (!$info) {
         return false;
     }
     // 删除数据
     if ($info->service_state <= 0) {
         $this->delete(SearchDataType::BeautyParlorService, $info->service_id);
         return true;
     }
     // 店铺数据
     $bpInfo = \Apps\Common\Models\BeautyParlor::findFirst('bp_id = ' . $info->beauty_parlor_id);
     // 同步数据
     // 标题中包含的内容
     $titleArr = [$info->service_name, $info->service_description];
     $title = implode(',', $titleArr);
     $searchContent = \Apps\Common\Libs\BeautyParlor::formatServiceIntro($info->service_intro, $this->getDI());
     $tagInt = $info->service_is_sell;
     $tagStr = '';
     $showData = json_encode(['id' => $info->service_id, 'name' => $info->service_name, 'cover' => $info->service_cover, 'price' => $info->service_price, 'unit' => $info->service_unit, 'description' => $info->service_description, 'bp_id' => $bpInfo->bp_id, 'bp_name' => $bpInfo->bp_name]);
     $this->save(SearchDataType::BeautyParlorService, $id, $showData, $title, $searchContent, $tagInt, $tagStr);
     return true;
 }
Esempio n. 6
0
 public function run()
 {
     $page = intval($this->getDataItem('page', 1));
     $keyword = $this->getDataItem('keyword');
     if (empty($keyword)) {
         $offset = ($page - 1) * 10;
         $list = BeautyParlorServiceModel::query()->leftJoin('Apps\\Common\\Models\\BeautyParlor', 'Apps\\Common\\Models\\BeautyParlorService.beauty_parlor_id = b.bp_id', 'b')->where("Apps\\Common\\Models\\BeautyParlorService.service_state = 1 and b.bp_state = 1 ")->limit(10, $offset)->execute()->toArray();
         foreach ($list as $arr) {
             foreach ($arr as $k => $v) {
                 $k = str_replace("service_", "", $k);
                 $arrs[$k] = $v;
             }
             $newarr[] = $arrs;
         }
         $list = $newarr;
         foreach ($list as $k => $v) {
             $arr = BeautyParlorModel::query()->columns(['bp_name'])->where("bp_id = " . $list[$k]['beauty_parlor_id'])->execute()->toArray();
             /* echo "bp_id = ".$list[$k]['beauty_parlor_id']." and bp_state = 1";
              		echo "<br>"; */
             if (count($arr) == 0) {
                 unset($list[$k]);
             } else {
                 $list[$k]['bp_name'] = $arr[0]['bp_name'];
                 $list[$k]['bp_id'] = $list[$k]['beauty_parlor_id'];
                 $list[$k]['cover'] = "http://img.meelier.com/" . $list[$k]['cover'];
             }
         }
         $this->setResult($list);
     } else {
         /*多关键字搜索*/
         $keywordarr = explode(" ", trim($keyword));
         foreach ($keywordarr as $r) {
             $wherearr[] = "Apps\\Common\\Models\\BeautyParlorService.service_name like '%" . $r . "%'";
         }
         $where = implode(" or ", $wherearr);
         ////////////////////////////////////////////////////////////////
         /* $limit = $this->getConfig()->limit;
            $offset = ($page-1) * $limit;
            $data = $this->searchBPS($keyword, $limit, $offset);
            $this->setResult($data); */
         $offset = ($page - 1) * 10;
         $list = BeautyParlorServiceModel::query()->leftJoin('Apps\\Common\\Models\\BeautyParlor', 'Apps\\Common\\Models\\BeautyParlorService.beauty_parlor_id = b.bp_id', 'b')->where("{$where} and Apps\\Common\\Models\\BeautyParlorService.service_state = 1 and b.bp_state = 1")->limit(10, $offset)->execute()->toArray();
         foreach ($list as $arr) {
             foreach ($arr as $k => $v) {
                 $k = str_replace("service_", "", $k);
                 $arrs[$k] = $v;
             }
             $newarr[] = $arrs;
         }
         $list = $newarr;
         foreach ($list as $k => $v) {
             $arr = BeautyParlorModel::query()->columns(['bp_name'])->where("bp_id = " . $list[$k]['beauty_parlor_id'] . " and bp_state = 1")->execute()->toArray();
             if (count($arr) == 0) {
                 unset($list[$k]);
             } else {
                 $list[$k]['bp_name'] = $arr[0]['bp_name'];
                 $list[$k]['bp_id'] = $list[$k]['beauty_parlor_id'];
                 $list[$k]['cover'] = "http://img.meelier.com/" . $list[$k]['cover'];
             }
         }
         $this->setResult($list);
     }
 }
Esempio n. 7
0
 /**
  * 设置美容院状态
  * @return $this|ResponseResult
  */
 public function setStateAction()
 {
     $req = $this->request;
     if ($req->isPost()) {
         $id = intval($req->getPost('id', null, 0));
         $state = intval($req->getPost('state', null, -10000));
         if (!in_array($state, [-1, 0, 1])) {
             return (new ResponseResult())->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '请求异常');
         }
         $info = BeautyParlorService::findFirst('service_id=' . $id);
         if ($info) {
             $info->update(['service_state' => $state]);
         }
         SearchASync::Instance()->noticeSync($id, SearchDataType::BeautyParlorService);
         return (new ResponseResult())->sendResult('ok');
     } else {
         return (new ResponseResult())->sendError(ResponseResultStatus::PARAM_CANNOT_EMPTY, '请求异常');
     }
 }
Esempio n. 8
0
 /**
  * 获取商品信息
  * @param $goods
  * @return array
  */
 private function getGoodsInfo($goods)
 {
     $goodsList = [];
     foreach ($goods as $g) {
         $id = isset($g['id']) ? intval($g['id']) : 0;
         $num = isset($g['number']) ? intval($g['number']) : 0;
         if ($id <= 0 || $num <= 0) {
             continue;
         }
         $info = BeautyParlorService::findFirst("service_id = {$id} AND service_state > 0 AND service_is_sell = 1");
         if ($info) {
             $gi = ['service_id' => $info->service_id, 'beauty_parlor_id' => $info->beauty_parlor_id, 'service_price' => $info->service_price, 'order_number' => $num];
             $goodsList[] = $gi;
         }
     }
     return $goodsList;
 }
Esempio n. 9
0
 public function run()
 {
     $id = intval($this->getDataItem('id', 0));
     $user_id = intval($this->getDataItem('user_id', 0));
     if (0 < $id) {
         /**
          * 查询基础信息
          */
         $info = BeautyParlorModel::query()->columns(['bp_id as id', 'bp_name as name', 'bp_cover as cover', 'bp_address as address', 'bp_tel as tel', 'bp_medal as medal', 'bp_intro as intro', 'X(bp_coordinate) latitude', 'Y(bp_coordinate) longitude'])->where('bp_state>0 and bp_id=:id:')->bind(['id' => $id])->execute()->getFirst();
     } else {
         return $this->errorLog(ResultStatus::URL_PARAM_CANNOT_EMPTY, '参数异常');
     }
     if ($info) {
         $this->parlor['id'] = $info->id;
         $this->parlor['name'] = $info->name;
         $this->parlor['cover'] = $info->cover;
         $this->parlor['address'] = $info->address;
         $this->parlor['tel'] = $info->tel;
         $this->parlor['intro'] = $info->intro;
         $this->parlor['latitude'] = $info->latitude;
         $this->parlor['longitude'] = $info->longitude;
         $this->parlor['medal_refund'] = \Apps\Common\Libs\BeautyParlor::getMedalRefund($info->medal);
         $this->parlor['medal_verify'] = \Apps\Common\Libs\BeautyParlor::getMedalVerify($info->medal);
         /**
          * 增加图片列表
          */
         $pics = BeautyParlorPhotos::query()->columns(['photo_url url'])->where('photo_state>0 and beauty_parlor_id=:bid:')->bind(['bid' => $id])->execute()->toArray();
         $this->parlor['pics'] = [];
         foreach ($pics as $pic) {
             $this->parlor['pics'][] = PicUrl::BeautyParlorPic($pic['url'], $this->getDi());
         }
         /**
          * 增加服务范围列表
          */
         $service = BeautyParlorService::query()->columns(['service_id id', 'service_cover cover', 'service_name name', 'service_price price', 'service_unit unit', 'service_description description'])->where('service_state>0 and service_is_sell = 1 and beauty_parlor_id=:bid:')->bind(['bid' => $id])->execute()->toArray();
         $this->parlor['services'] = [];
         foreach ($service as $d) {
             $d['cover'] = PicUrl::BeautyParlorCover($d['cover'], $this->getDi());
             $unit = $d['unit'];
             unset($d['unit']);
             $d['price_show'] = '';
             if ($d['price'] > 0) {
                 $d['price_show'] = $d['price'] . '元' . ($unit ? '/' . $unit : '');
             }
             $this->parlor['services'][] = $d;
         }
         // 评论总数
         $this->parlor['comment_num'] = BeautyParlorComment::count(['conditions' => 'beauty_parlor_id = :bid: and comment_state = 1', 'bind' => ['bid' => $id]]);
     } else {
         $this->errorLog(ResultStatus::QUERY_DATA_NOT_EXIST, 'ID不存在');
     }
     $this->parlor['favorite_num'] = BpFavorites::count(['conditions' => "bp_id = " . $this->parlor['id']]);
     if ($user_id != '') {
         $is_favorite = BpFavorites::findFirst("user_id = {$user_id} and bp_id =" . $this->parlor['id']);
         /* var_dump($is_favorite);
            exit; */
         if ($is_favorite) {
             $this->parlor['is_favorite'] = 1;
             //已收藏
         } else {
             $this->parlor['is_favorite'] = 0;
             //未收藏
         }
     } else {
         $this->parlor['is_favorite'] = 0;
     }
     $this->setResult($this->parlor);
 }
Esempio n. 10
0
 public function run()
 {
     $id = intval($this->getDataItem('id', 0));
     $user_id = intval($this->getDataItem('user_id', 0));
     if (0 < $id) {
         /**
          * 查询基础信息
          */
         $info = BeautyParlorModel::query()->columns(['bp_id as id', 'bp_name as name', 'bp_cover as cover', 'bp_address as address', 'bp_tel as tel', 'bp_medal as medal', 'bp_intro as intro', 'X(bp_coordinate) latitude', 'Y(bp_coordinate) longitude', 'bpa.open_time', 'bpa.close_time', 'bpa.low_price', 'bpa.open_year', 'bpa.shop_area', 'bpa.service_num', 'bpa.facilities'])->leftJoin('Apps\\Common\\Models\\BeautyParlorAttr', 'Apps\\Common\\Models\\BeautyParlor.bp_id = bpa.beauty_parlor_id', 'bpa')->where('Apps\\Common\\Models\\BeautyParlor.bp_state>0 and Apps\\Common\\Models\\BeautyParlor.bp_id=:id:')->bind(['id' => $id])->execute()->getFirst();
     } else {
         return $this->errorLog(ResultStatus::URL_PARAM_CANNOT_EMPTY, '参数异常');
     }
     if ($info) {
         $this->parlor['id'] = $info->id;
         $this->parlor['name'] = $info->name;
         $this->parlor['cover'] = PicUrl::BeautyParlorCover($info->cover, $this->getDi());
         $this->parlor['address'] = $info->address;
         $this->parlor['tel'] = $info->tel;
         $this->parlor['intro'] = $info->intro;
         $this->parlor['latitude'] = $info->latitude;
         $this->parlor['longitude'] = $info->longitude;
         $this->parlor['medal_refund'] = \Apps\Common\Libs\BeautyParlor::getMedalRefund($info->medal);
         $this->parlor['medal_verify'] = \Apps\Common\Libs\BeautyParlor::getMedalVerify($info->medal);
         $this->parlor['open_time'] = $info->open_time == null ? '' : $info->open_time;
         $this->parlor['close_time'] = $info->close_time == null ? '' : $info->close_time;
         $this->parlor['low_price'] = $info->low_price == null ? '' : $info->low_price;
         $this->parlor['open_year'] = $info->open_year == null ? '' : $info->open_year;
         $this->parlor['shop_area'] = $info->shop_area == null ? '' : $info->shop_area;
         $this->parlor['facilities'] = $info->facilities == null ? [] : (json_decode($info->facilities) ?: []);
         $this->parlor['pics'] = [];
         $this->parlor['services'] = [];
         /**
          * 增加图片列表 如果深度验店 
          */
         if ($this->parlor['medal_verify']) {
             $pics = BeautyParlorPhotos::query()->columns(['photo_url url'])->where('photo_state>0 and beauty_parlor_id=:bid:')->bind(['bid' => $id])->execute()->toArray();
             foreach ($pics as $pic) {
                 $this->parlor['pics'][] = PicUrl::BeautyParlorPic($pic['url'], $this->getDi());
             }
             /**
              * 增加服务范围列表
              */
             $service = BeautyParlorService::query()->columns(['service_id id', 'service_cover cover', 'service_name name', 'service_price price', 'service_unit unit', 'service_description description'])->where('service_state>0 and service_is_sell = 1 and beauty_parlor_id=:bid:')->bind(['bid' => $id])->limit(3, 0)->execute()->toArray();
             foreach ($service as $d) {
                 $d['cover'] = PicUrl::BeautyParlorCover($d['cover'], $this->getDi());
                 $unit = $d['unit'];
                 unset($d['unit']);
                 $d['price_show'] = '';
                 if ($d['price'] > 0) {
                     $d['price_show'] = $d['price'] . '元' . ($unit ? '/' . $unit : '');
                 }
                 $this->parlor['services'][] = $d;
             }
         }
         /**
          * 增加tag列表
          */
         $tag = BeautyParlorTag::query()->columns(['i.tag_title'])->leftJoin('Apps\\Common\\Models\\BeautyParlorTagInfo', 'Apps\\Common\\Models\\BeautyParlorTag.tag_id = i.tag_id', 'i')->where('i.tag_state=1 and bp_id=:bid:')->bind(['bid' => $id])->orderBy('sort desc,bp_tag_addtime asc')->execute()->toArray();
         $this->parlor['tags'] = $tag;
         // 评论总数
         $this->parlor['comment_num'] = BeautyParlorComment::count(['conditions' => 'beauty_parlor_id = :bid: and comment_state = 1', 'bind' => ['bid' => $id]]);
         //获取3条评论
         $comments = BeautyParlorComment::query()->columns(['u.user_id', 'u.user_nickname', 'u.user_cover', 'u.user_gender', 'u.user_expert', 'Apps\\Common\\Models\\BeautyParlorComment.comment_id as comment_id', 'Apps\\Common\\Models\\BeautyParlorComment.comment_info as comment_info', 'Apps\\Common\\Models\\BeautyParlorComment.comment_photos as comment_photos', 'Apps\\Common\\Models\\BeautyParlorComment.comment_floor as comment_floor', 'Apps\\Common\\Models\\BeautyParlorComment.comment_addtime as addtime'])->leftJoin('Apps\\Common\\Models\\UserBase', 'Apps\\Common\\Models\\BeautyParlorComment.user_id=u.user_id', 'u')->where('Apps\\Common\\Models\\BeautyParlorComment.beauty_parlor_id=' . $id . ' and Apps\\Common\\Models\\BeautyParlorComment.comment_state = 1')->orderBy('Apps\\Common\\Models\\BeautyParlorComment.comment_addtime desc')->limit(3, 0)->execute()->toArray();
         foreach ($comments as $arr) {
             $arr['user_cover'] = PicUrl::UserCover($arr['user_cover'], $this->getDi());
             $arr['comment_photos'] = PicUrl::BeautyParlorComment(json_decode($arr['comment_photos']), $this->getDi());
             if (unserialize(base64_decode($arr['comment_info']))) {
                 $arr['comment_info'] = unserialize(base64_decode($arr['comment_info']));
             }
             $data[] = $arr;
         }
         $this->parlor['comments'] = $data;
     } else {
         return $this->errorLog(ResultStatus::QUERY_DATA_NOT_EXIST, 'ID不存在');
     }
     $this->parlor['favorite_num'] = BpFavorites::count(['conditions' => "bp_id = " . $this->parlor['id']]);
     if ($user_id != '') {
         $is_favorite = BpFavorites::findFirst("user_id = {$user_id} and bp_id =" . $this->parlor['id']);
         /* var_dump($is_favorite);
            exit; */
         if ($is_favorite) {
             $this->parlor['is_favorite'] = 1;
             //已关注
         } else {
             $this->parlor['is_favorite'] = 0;
             //未关注
         }
     } else {
         $this->parlor['is_favorite'] = 0;
     }
     $this->setResult($this->parlor);
 }
Esempio n. 11
0
 /**
  * 服务项目预览
  * @date: 2016年1月29日 
  * @author: chenxiaolin
  */
 public function servicePreviewAction()
 {
     $id = $this->request->getQuery('id');
     if (empty($id)) {
         echo '美容院服务项目不存在!';
         $this->view->disable();
         return;
     }
     $service = BeautyParlorService::query()->columns(['service_id as id', 'service_cover cover', 'service_name as name', 'service_price as price', 'service_unit as unit', 'service_intro as intro', 'beauty_parlor_id as bp_id'])->where('service_state>0 and service_id=:id:')->bind(['id' => $id])->execute()->getFirst();
     if (!$service) {
         echo '美容院服务项目不存在!';
         $this->view->disable();
         return;
     }
     $service->cover = PicUrl::BeautyParlorCover($service->cover, $this->getDI());
     $bp_info = BeautyParlor::query()->columns(['bp_id', 'bp_name', 'bp_address', 'bp_owner_mobile'])->where('bp_id=:id:')->bind(['id' => $service->bp_id])->execute()->getFirst();
     $this->view->setVar('service', $service);
     $this->view->setVar('bp', $bp_info);
     $this->tag->setTitle($bp_info->bp_name);
 }
Esempio n. 12
0
 public function run()
 {
     //验证是否登录
     if (false == $this->verifyUserAuth()) {
         return false;
     }
     $type = $this->getDataItem('type', 1);
     //预约类型
     $bp_id = intval(trim($this->getDataItem('bp_id', 0)));
     //美容院ID
     $service_id = intval(trim($this->getDataItem('service_id')));
     //服务id
     $set_man = trim($this->getDataItem('set_man'));
     //预约人
     $set_time = trim($this->getDataItem('set_time'));
     //预约时间
     $tel = trim($this->getDataItem('tel'));
     //联系电话
     //验证参数
     if ($bp_id == "" || $set_man == "" || $set_time == "" || $tel == '' || $type == 2 && $service_id == '') {
         return $this->errorLog(ResultStatus::POST_BODY_PARAM_ERROR);
     }
     if ($this->utf8_strlen($set_man) > 10) {
         return $this->errorLog(ResultStatus::POST_BODY_FORMAT_ERROR, "预约人不可超过10个字符");
     }
     //预约时间不可小于当前时间 不可大于7天
     if (strtotime($set_time) < time() || strtotime($set_time) > strtotime(' +7 day')) {
         return $this->errorLog(ResultStatus::POST_BODY_FORMAT_ERROR, "预约时间不合法");
     }
     //
     if ($this->utf8_strlen($tel) != 11) {
         return $this->errorLog(ResultStatus::POST_BODY_FORMAT_ERROR, "请输入11位电话号码");
     }
     //验证美容院是否可预约
     $bp_name = BeautyParlor::query()->columns(['bp_name'])->where('bp_id = :bp_id: AND bp_state = 1 ')->bind(['bp_id' => $bp_id])->execute()->getFirst();
     if (!$bp_name) {
         return $this->errorLog(ResultStatus::POST_BODY_FORMAT_ERROR, "美容院不存在");
     }
     if ($type == 2) {
         //当预约服务时 验证服务是可用
         $service = BeautyParlorService::query()->columns('service_name')->where('service_state>0 and service_is_sell = 1 and beauty_parlor_id=:bid: and service_id = :sid:')->bind(['bid' => $bp_id, 'sid' => $service_id])->execute()->getFirst();
         if (!$service) {
             return $this->errorLog(ResultStatus::POST_BODY_FORMAT_ERROR, "服务不可预约");
         }
     }
     $data['online_product_id'] = $service_id;
     $data['product_name'] = empty($service) ? '' : $service->product_name;
     $data['appointment_time'] = $set_time;
     $data['set_man'] = $set_man;
     $data['set_man_id'] = $this->getUserAuth()->userId;
     $data['tel'] = $tel;
     $data['set_time'] = date("Y-m-d h:i:s", time());
     $data["appointment_state"] = 0;
     $data["shop_id"] = $bp_id;
     $data["shop_name"] = $bp_name->bp_name;
     $data['type'] = $type;
     $appointment = new CosOnlineAppointment();
     if ($appointment->save($data)) {
         $this->id = $appointment->id;
         $this->success = 1;
         return $this->setResult(['id' => $this->id, 'success' => $this->success]);
     } else {
         return $this->databaseErrorLog($appointment);
     }
 }
Esempio n. 13
0
 /**
  * 美容院服务
  */
 public function beautyParlorServiceAction()
 {
     $id = $this->request->getQuery('id');
     if (empty($id)) {
         echo '美容院服务项目不存在!';
         $this->view->disable();
         return;
     }
     $service = BeautyParlorService::query()->columns(['service_id as id', 'service_cover cover', 'service_name as name', 'service_price as price', 'service_unit as price_show', 'service_description as description', 'service_intro as intro', 'beauty_parlor_id as bp_id'])->where('service_state>0 and service_id=:id:')->bind(['id' => $id])->execute()->getFirst();
     if (!$service) {
         echo '美容院服务项目不存在!';
         $this->view->disable();
         return;
     }
     $data = ['id' => $service->id, 'cover' => PicUrl::BeautyParlorCover($service->cover, $this->getDi()), 'name' => $service->name, 'price' => $service->price, 'description' => $service->description, 'intro' => \Apps\Common\Libs\BeautyParlor::formatServiceIntro($service->intro, $this->di)];
     if ($service->price > 0) {
         $unit = $service->price_show;
         $data['price_show'] = $service->price . '元' . ($unit ? '/' . $unit : '');
     }
     $data['beauty_parlor'] = BeautyParlor::query()->columns(['bp_id as id', 'bp_name as name', 'bp_medal as medal'])->where('bp_id=:id:')->bind(['id' => $service->bp_id])->execute()->getFirst();
     $this->view->setVar('service', $data);
     $this->tag->setTitle($data['beauty_parlor']->name);
 }