コード例 #1
0
ファイル: BpController.php プロジェクト: fu-tao/meelier_c
 /**
  * 添加新的美容院
  */
 public function addAction()
 {
     $this->setLeftNav('bp_add');
     $req = $this->request;
     if (!$req->isPost()) {
         $this->view->setVar("branch_id", $req->getQuery("branch_id"));
         return;
     }
     $this->view->disable();
     $name = $req->getPost('bp_name');
     $district = intval($req->getPost('bp_district', null, 0));
     $address = $req->getPost('bp_address');
     $coordinate = $req->getPost('bp_coordinate');
     $tel = $req->getPost('bp_tel');
     $isSell = intval($req->getPost('bp_is_sell', null, 0));
     $medalRefund = intval($req->getPost('bp_medal_refund', null, 0));
     $medalVerify = intval($req->getPost('bp_medal_verify', null, 0));
     $tags = $req->getPost('bp_tags');
     $ownerMobile = $req->getPost('bp_owner_mobile');
     $intro = $req->getPost('bp_intro');
     $branch_id = $req->getPost("branch");
     //绑定分店ID
     // 输出js
     $echo = function ($msg, $state = false) {
         echo '<script type="text/javascript">';
         echo 'parent.formResult("' . $msg . '", ' . ($state ? 1 : 0) . ')';
         echo '</script>';
     };
     // 判断空数据
     if (empty($name) || $district <= 0 || empty($address) || empty($coordinate) || empty($tel) || empty($tags) || empty($intro) || empty($ownerMobile)) {
         $echo('数据不能为空!');
         return;
     }
     try {
         $this->db->begin();
         // 保存封面
         $uploadFile = new UploadPic();
         $uploadFile->request = $req;
         $cover = $uploadFile->beautyParlorCover();
         if ($cover == false || !is_array($cover) || count($cover) == 0 || $cover[0] == false) {
             if ($_FILES['bp_cover']['error'] == 1) {
                 $echo('封面大小超过了2M!');
                 //$response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '文件大小超过了1M!');
             } else {
                 //$response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '文件处理异常!');
                 $echo('封面必须上传!');
             }
             return;
         }
         //分店信息
         //$info=Branch::query()->where("branch_id = $branch_id")->execute()->toArray();
         if ($branch_id != '') {
             $info = Branch::findFirst("branch_id = {$branch_id}")->toArray();
         }
         $bpCover = $cover[0];
         // 保存基础数据
         $coordinate = str_replace(',', ' ', $coordinate);
         $bp = new BeautyParlor();
         $bp->bp_name = $name;
         $bp->bp_cover = $bpCover;
         $bp->bp_address = $address;
         $bp->bp_district = $district;
         $bp->bp_coordinate = new RawValue("GeomFromText('POINT({$coordinate})')");
         $bp->bp_tel = $tel;
         $bp->bp_owner_mobile = $ownerMobile;
         $bp->bp_intro = $intro;
         $bp->bp_is_sell = $isSell;
         $bp->bp_medal = strval($medalRefund) . strval($medalVerify);
         $bp->branch_id = $branch_id;
         if ($branch_id != '') {
             $bp->long_time = $info->long_time;
             $bp->start_time = $info->start_time;
             $bp->end_time = $info->end_time;
         }
         $rs_bp = $bp->save();
         if ($rs_bp == false) {
             $echo('保存基础数据异常!');
             $this->databaseErrorLog($bp);
             return;
         }
         /* if($bp->save() == false) {
          	 $echo('保存基础数据异常!');
          	 $this->databaseErrorLog($bp);
          	 return;
          	 } */
         $bpId = $bp->bp_id;
         // 保存标签
         /*$tagsArr = explode(',', $tags);
         	 foreach($tagsArr as $tag) {
         	 $tagDb = new BeautyParlorTag();
         	 $tagDb->bp_id = $bpId;
         	 $tagDb->tag_id = $tag;
         	 if($tagDb->save() == false) {
         	 $this->databaseErrorLog($tagDb);
         	 }
         	 }*/
         $tagsarr = explode(",", $tags);
         foreach ($tagsarr as $k => $tag) {
             $taginfo = BeautyParlorTagInfo::find("tag_id = {$tag} and tag_state = 1")->toArray();
             $count = count($taginfo);
             if ($count < 1) {
                 $echo('没有ID为' . $tag . '的标签!');
             }
             $tagDb = new BeautyParlorTag();
             $tagDb->bp_id = $bpId;
             $tagDb->tag_id = $tag;
             $tagDb->sort = $k + 1;
             $rs_tag = $tagDb->save();
             if ($rs_tag == false) {
                 $this->databaseErrorLog($tagDb);
             }
             /* if($tagDb->save() == false) {
             		 $this->databaseErrorLog($tagDb);
             		 } */
         }
         // 保存轮播图片
         // 轮播图片
         $pics = $uploadFile->beautyParlorPics();
         $error = $_FILES['bp_photos']['error'];
         if (!empty($pics)) {
             foreach ($error as $k => $v) {
                 if ($v == 1) {
                     $echo('轮播图片大小超过了2M!');
                     return;
                 }
             }
             foreach ($pics as $pic) {
                 $picDb = new BeautyParlorPhotos();
                 $picDb->beauty_parlor_id = $bpId;
                 $picDb->photo_url = $pic;
                 $rs_pic = $picDb->save();
                 if ($rs_pic == false) {
                     $this->databaseErrorLog($picDb);
                 }
                 /* if($picDb->save() == false) {
                 		 $this->databaseErrorLog($picDb);
                 		 } */
             }
         } else {
             $echo('封面大小超过了2M!');
             return;
         }
         /* if($pics == false || !is_array($pics) || count($pics) == 0 || $pics[0] == false) {
          	 if($_FILES['bp_photos']['error'] == 1) {
          	 $echo('封面大小超过了2M!');
          	 //$response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '文件大小超过了1M!');
          	 } else {
          	 //$response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '文件处理异常!');
          	 $echo('封面必须上传!');
          	 }
          	 return;
          	 } */
         /* foreach($pics as $pic) {
          	 $picDb = new BeautyParlorPhotos();
          	 var_dump($pic);
          	 exit;
          	 $picDb->beauty_parlor_id = $bpId;
          	 $picDb->photo_url = $pic;
          	 if($picDb->save() == false) {
          	 $this->databaseErrorLog($picDb);
          	 }
          	 } */
         if ($branch_id != '') {
             //修改分店状态
             $branch = Branch::findFirst("branch_id = {$branch_id}");
             $branch->status = 200;
             $flg = $branch->save();
         }
         SearchASync::Instance()->noticeSync($bpId, SearchDataType::BeautyParlors);
         $this->db->commit();
         $echo($bpId, true);
     } catch (Exception $e) {
         $this->db->rollback();
     }
 }
コード例 #2
0
ファイル: BpController.php プロジェクト: fu-tao/meelier_c2.0
 /**
  * 添加新的美容院
  */
 public function addAction()
 {
     $this->setLeftNav('bp_add');
     $req = $this->request;
     if (!$req->isPost()) {
         $this->view->setVar("branch_id", $req->getQuery("branch_id"));
         return;
     }
     // 输出js
     $echo = function ($msg, $state = false) {
         echo '<script type="text/javascript">';
         echo 'parent.formResult("' . $msg . '", ' . ($state ? 1 : 0) . ')';
         echo '</script>';
     };
     $this->view->disable();
     $name = $req->getPost('bp_name');
     $district = intval($req->getPost('bp_district', null, 0));
     $address = $req->getPost('bp_address');
     $coordinate = $req->getPost('bp_coordinate');
     $tel = $req->getPost('bp_tel');
     $isSell = intval($req->getPost('bp_is_sell', null, 0));
     $medalRefund = intval($req->getPost('bp_medal_refund', null, 0));
     $medalVerify = intval($req->getPost('bp_medal_verify', null, 0));
     $tags = $req->getPost('bp_tags');
     $ownerMobile = $req->getPost('bp_owner_mobile');
     $intro = $req->getPost('bp_intro');
     $branch_id = $req->getPost("branch");
     //绑定分店ID
     ////////////////////////////////////2.0新加参数////2.0新加参数///////2.0新加参数///////2.0新加参数///////////////////////////////
     $low_price = $req->getPost("low_price", null, 0);
     //起步价
     $open_year = $req->getPost("open_year", null, 0);
     //开业年限
     $shop_area = $req->getPost("shop_area", null, 0);
     //店铺面积
     $service_num = $req->getPost("service_num", null, 0);
     //服务项目数量
     $op_cl_time = $req->getPost("time", null, '');
     //营业时间
     $facilities = $req->getPost("facilities", null, '');
     //设备设施
     if ($op_cl_time != '') {
         $op_cl_time_arr = explode("至", $op_cl_time);
         $open_time = trim($op_cl_time_arr[0]);
         $close_time = trim($op_cl_time_arr[1]);
     } else {
         $open_time = '';
         $close_time = '';
     }
     if ($low_price < 0 || $open_year < 0 || $shop_area < 0 || $service_num < 0) {
         $echo('数据不能为空!');
         return;
     }
     if ($facilities != '') {
         try {
             $facilities_json = json_encode($facilities);
         } catch (\Exception $e) {
             $echo('数据错误!');
         }
     } else {
         $facilities_json = null;
     }
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     // 判断空数据
     if (empty($name) || $district <= 0 || empty($address) || empty($coordinate) || empty($tel) || empty($tags) || empty($intro) || empty($ownerMobile)) {
         $echo('数据不能为空!');
         return;
     }
     try {
         $this->db->begin();
         // 保存封面
         $uploadFile = new UploadPic();
         $uploadFile->request = $req;
         $cover = $uploadFile->beautyParlorCover();
         if ($cover == false || !is_array($cover) || count($cover) == 0 || $cover[0] == false) {
             if ($_FILES['bp_cover']['error'] == 1) {
                 $echo('封面大小超过了2M!');
                 //$response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '文件大小超过了1M!');
             } else {
                 //$response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '文件处理异常!');
                 $echo('封面必须上传!');
             }
             return;
         }
         //分店信息
         //$info=Branch::query()->where("branch_id = $branch_id")->execute()->toArray();
         if ($branch_id != '') {
             $info = Branch::findFirst("branch_id = {$branch_id}")->toArray();
         }
         $bpCover = $cover[0];
         // 保存基础数据
         $coordinate = str_replace(',', ' ', $coordinate);
         $bp = new BeautyParlor();
         $bp->bp_name = $name;
         $bp->bp_cover = $bpCover;
         $bp->bp_address = $address;
         $bp->bp_district = $district;
         $bp->bp_coordinate = new RawValue("GeomFromText('POINT({$coordinate})')");
         $bp->bp_tel = $tel;
         $bp->bp_owner_mobile = $ownerMobile;
         $bp->bp_intro = $intro;
         $bp->bp_is_sell = $isSell;
         $bp->bp_medal = strval($medalRefund) . strval($medalVerify);
         $bp->branch_id = $branch_id;
         $bp->start_time = date('Y-m-d H:i:s', time());
         if ($branch_id != '') {
             $bp->long_time = $info->long_time;
             $bp->start_time = $info->start_time;
             $bp->end_time = $info->end_time;
         }
         $rs_bp = $bp->save();
         if ($rs_bp == false) {
             $echo('保存基础数据异常!');
             $this->databaseErrorLog($bp);
             return;
         }
         /* if($bp->save() == false) {
          	 $echo('保存基础数据异常!');
          	 $this->databaseErrorLog($bp);
          	 return;
          	 } */
         $bpId = $bp->bp_id;
         /*保存美容院相关数据  */
         $bp_attr = new BeautyParlorAttr();
         $bp_attr->beauty_parlor_id = $bpId;
         $bp_attr->close_time = $close_time;
         $bp_attr->open_time = $open_time;
         $bp_attr->low_price = $low_price;
         $bp_attr->open_year = $open_year;
         $bp_attr->facilities = $facilities_json;
         $bp_attr->service_num = $service_num;
         $bp_attr->shop_area = $shop_area;
         if (!$bp_attr->save()) {
             $echo('添加失败!');
         }
         // 保存标签
         $tagsArr = explode(',', $tags);
         foreach ($tagsArr as $tag) {
             $tagDb = new BeautyParlorTag();
             $tagDb->bp_id = $bpId;
             $tagDb->tag_id = $tag;
             if ($tagDb->save() == false) {
                 $this->databaseErrorLog($tagDb);
             }
         }
         // 保存轮播图片
         // 轮播图片
         $pics = $uploadFile->beautyParlorPics();
         $error = $_FILES['bp_photos']['error'];
         if (!empty($pics)) {
             foreach ($error as $k => $v) {
                 if ($v == 1) {
                     $echo('轮播图片大小超过了2M!');
                     return;
                 }
             }
             foreach ($pics as $pic) {
                 $picDb = new BeautyParlorPhotos();
                 $picDb->beauty_parlor_id = $bpId;
                 $picDb->photo_url = $pic;
                 $rs_pic = $picDb->save();
                 if ($rs_pic == false) {
                     $this->databaseErrorLog($picDb);
                 }
                 /* if($picDb->save() == false) {
                 		 $this->databaseErrorLog($picDb);
                 		 } */
             }
         } else {
             $echo('封面大小超过了2M!');
             return;
         }
         /* if($pics == false || !is_array($pics) || count($pics) == 0 || $pics[0] == false) {
          	 if($_FILES['bp_photos']['error'] == 1) {
          	 $echo('封面大小超过了2M!');
          	 //$response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '文件大小超过了1M!');
          	 } else {
          	 //$response->sendError(ResponseResultStatus::UPLOAD_FILE_ERROR, '文件处理异常!');
          	 $echo('封面必须上传!');
          	 }
          	 return;
          	 } */
         /* foreach($pics as $pic) {
          	 $picDb = new BeautyParlorPhotos();
          	 var_dump($pic);
          	 exit;
          	 $picDb->beauty_parlor_id = $bpId;
          	 $picDb->photo_url = $pic;
          	 if($picDb->save() == false) {
          	 $this->databaseErrorLog($picDb);
          	 }
          	 } */
         if ($branch_id != '') {
             //修改分店状态
             $branch = Branch::findFirst("branch_id = {$branch_id}");
             $branch->status = 200;
             $flg = $branch->save();
         }
         SearchASync::Instance()->noticeSync($bpId, SearchDataType::BeautyParlors);
         $this->db->commit();
         $echo($bpId, true);
     } catch (\Exception $e) {
         $this->db->rollback();
     }
 }