Пример #1
0
 /**
  * @return bool
  * @throws Exception
  * 处理post请求
  */
 public function handlePost()
 {
     //房源发布数量上限
     if (BLL_House_JpHouseManage::houseNumLimit($this->jpMemberId, $this->brokerId, true) && $this->act == 'publish') {
         $this->redirect2Result(Const_PublishCode::PUBLISH_OUT_OF_LIMIT, self::SITE_JP, $this->act);
     }
     $params = APF::get_instance()->get_request()->get_parameters();
     $area = floatval($params['office_area']);
     $efficientRate = intval($params['office_efficient_rate']);
     $floorId = intval($params['office_floor']);
     $title = trim($params['office_title']);
     $desc = trim($params['ProDesc']);
     $officeManageFee = trim($params['office_manage_fee']) === '' ? 0.001 : round(floatval($params['office_manage_fee']), 1);
     $postOffice = array();
     if (isset($this->officeId) && $this->act == 'edit') {
         //编辑
         $OfficeData = Model_House_JpOfficeRent::data_access()->filter('id', $this->officeId)->get_row();
         if (empty($OfficeData)) {
             $this->redirect2Result(Const_PublishCode::HOUSE_NOT_EXIST, self::SITE_JP, $this->act);
         }
         $postOffice['officeBuildingId'] = $OfficeData['buildingId'];
     } else {
         //新发
         if ($params['communityId'] == null || intval($params['communityId']) == 0) {
             $this->redirect2Result(Const_PublishCode::HOUSE_PARAM_COMPLETE, self::SITE_JP, $this->act);
         }
         $postOffice['officeBuildingId'] = $params['communityId'];
     }
     $postOffice['brokerId'] = $this->brokerId;
     $postOffice['officeTitle'] = $title;
     $postOffice['officeArea'] = $area;
     $postOffice['floatLeft'] = $floorId;
     $postOffice['officeEfficientRate'] = $efficientRate;
     $postOffice['manageFee'] = $officeManageFee;
     $jpPublish = APF::get_instance()->get_config("jpPublishOfficeRentPrice", "jpPublish");
     $jpPublishOfficeRentPrice = $jpPublish[$this->jpCityId];
     if ($jpPublishOfficeRentPrice == 'priceA' || $jpPublishOfficeRentPrice == 'priceB') {
         $postOffice['price'] = trim($params['office_daily_rent']);
     } elseif ($jpPublishOfficeRentPrice == 'priceC') {
         $postOffice['price'] = trim($params['office_monthly_rent']);
     } else {
         $postOffice['price'] = trim($params['office_monthly_total_rent']);
     }
     /*
     if($this->jpCityId == 11 || $this->jpCityId == 14 || $this->jpCityId == 26) {
         $postOffice['price'] = trim($params['office_daily_rent']);
     } elseif ($this->jpCityId == 12 || $this->jpCityId == 13) {
         $postOffice['price'] = trim($params['office_monthly_rent']);
     } else {
         $postOffice['price'] = trim($params['office_monthly_total_rent']);
     }
     */
     /*
     if($this->jpCityId == 11 || $this->jpCityId == 14 || $this->jpCityId == 26) {
         $postOffice['unitPrice'] = trim($params['office_daily_rent']);
         $postOffice['officePrice'] = $postOffice['unitPrice'] * $postOffice['officeArea'] * 30.42;
     } elseif ($this->jpCityId == 12 || $this->jpCityId == 13) {
         $postOffice['unitPrice'] = trim($params['office_monthly_rent']) / 30.42;
         $postOffice['officePrice'] = trim($params['office_monthly_rent']) * $postOffice['officeArea'];
     } else {
         $postOffice['officePrice'] = trim($params['office_monthly_total_rent']);
         $postOffice['unitPrice'] = $postOffice['officePrice'] / $postOffice['officeArea'] / 30.42;
     }
     */
     $postOffice['officeDesc'] = $desc;
     $postOffice['type'] = 1;
     if ($this->act == 'edit') {
         list($postOffice['newOfficePics'], $postOffice['delOfficePics']) = BLL_House_JpHouseManage::revertEditImageArray($params['oldroom'], $params['selroom'], $params['dropDesc'], $params['newupdroom'], $params['defaultImgID'], $params['delRoom'], $params['delHandlePic']);
     } else {
         $postOffice['officePics'] = json_encode(BLL_House_JpHouseManage::revertPublishImageArray($params['selroom'], $params['dropDesc'], $params['newupdroom'], $params['defaultImgID']));
     }
     //新发或者更新基础房源信息
     if ($this->act == 'edit') {
         $postOffice['officeId'] = $this->officeId;
         $apiHouseInfo = BLL_House_JpHouseManage::housePublishApi('o_e', $postOffice);
     } else {
         $apiHouseInfo = BLL_House_JpHouseManage::housePublishApi('o_p', $postOffice);
     }
     if ($apiHouseInfo['status'] != 'ok') {
         $this->redirect2Result($apiHouseInfo['code'], self::SITE_JP, $this->act, '', $apiHouseInfo['info']);
     } else {
         $this->officeId = intval($apiHouseInfo['id']);
     }
     return true;
 }
Пример #2
0
 public function handlePost()
 {
     //房源发布数量上限
     if (BLL_House_JpHouseManage::houseNumLimit($this->jpMemberId, $this->brokerId, true) && !$this->act == 'edit') {
         $this->redirect2Result(Const_PublishCode::PUBLISH_OUT_OF_LIMIT, self::SITE_JP, $this->act);
     }
     $params = APF::get_instance()->get_request()->get_parameters();
     $area = floatval($params['area']);
     //所在楼层
     $floorType = '';
     $selectFloor = intval($params['select_floor']);
     $singleFloor = intval($params['single_floor']);
     $fromFloor = intval($params['from_floor']);
     $toFloor = intval($params['to_floor']);
     $singleFamily = intval($params['single_family']);
     if ($selectFloor == 1) {
         $floorType = $selectFloor . ',' . $singleFloor;
     } elseif ($selectFloor == 2) {
         $floorType = $selectFloor . ',' . $fromFloor . ',' . $toFloor;
     } elseif ($selectFloor == 3) {
         $floorType = $selectFloor . ',' . $singleFamily;
     }
     $title = trim($params['shop_title']);
     $desc = trim($params['ProDesc']);
     $businessState = intval($params['business_state']);
     $totalPrice = trim($params['shop_total_price']);
     $dailyPrice = trim($params['shop_unit_price']);
     $postShop = array();
     if (isset($this->shopId) && $this->act == 'edit') {
         //编辑
         $shopData = Model_House_JpShopRent::data_access()->get_row($this->shopId);
         if (empty($shopData)) {
             $this->redirect2Result(Const_PublishCode::HOUSE_NOT_EXIST, self::SITE_JP, $this->act);
         }
         $postShop['shopPropertyId'] = $shopData['propertyId'];
     } else {
         //新发
         if ($params['communityId'] == null || intval($params['communityId']) == 0) {
             $this->redirect2Result(Const_PublishCode::HOUSE_PARAM_COMPLETE, self::SITE_JP, $this->act);
         }
         $postShop['shopPropertyId'] = $params['communityId'];
     }
     $postShop['brokerId'] = $this->brokerId;
     $postShop['shopTitle'] = $title;
     $postShop['shopArea'] = $area;
     $postShop['floorType'] = $floorType;
     $postShop['businessState'] = $businessState;
     $jpPublish = APF::get_instance()->get_config("jpPublishShopSalePrice", "jpPublish");
     $jpPublishShopSalePrice = $jpPublish[$this->cityId];
     if ($jpPublishShopSalePrice == 'priceA') {
         $postShop['price'] = $dailyPrice;
     } else {
         $postShop['price'] = $totalPrice * 10000;
     }
     /*
     if($this->cityId == 13 || $this->cityId == 14) {
         $postShop['price'] = $dailyPrice;
     } else {
         $postShop['price'] = $totalPrice * 10000;
     }
     */
     /*
     if($this->cityId == 13 || $this->cityId == 14) {
         $postShop['unitPrice'] = $dailyPrice;
         $postShop['shopPrice'] = round($postShop['unitPrice'] * $postShop['shopArea']);
     } else {
         $postShop['unitPrice'] = round($totalPrice * 10000 / $postShop['shopArea']);
         $postShop['shopPrice'] = $totalPrice * 10000;
     }
     */
     $postShop['shopDesc'] = $desc;
     $postShop['type'] = 2;
     $postShop['rentType'] = intval($params['rentType']);
     if ($this->act == 'edit') {
         list($postShop['newShopPics'], $postShop['delShopPics']) = BLL_House_JpHouseManage::revertEditImageArray($params['oldroom'], $params['selroom'], $params['dropDesc'], $params['newupdroom'], $params['defaultImgID'], $params['delRoom'], $params['delHandlePic'], 'shop');
     } else {
         $postShop['shopPics'] = json_encode(BLL_House_JpHouseManage::revertPublishImageArray($params['selroom'], $params['dropDesc'], $params['newupdroom'], $params['defaultImgID']));
     }
     //区域
     $postShop['districtId'] = intval($params['district_id']);
     //商圈
     $postShop['blockId'] = intval($params['block_id']);
     //靠近
     $postShop['near'] = trim($params['close_road']);
     //物业费
     $postShop['manageFee'] = round(floatval($params['office_manage_fee']), 2);
     //商铺特性
     $postShop['shopType'] = trim($params['shop-features-ipt']);
     //商铺其他特性
     $postShop['shopTypeOther'] = trim($params['shop-features-other']);
     //客流人群
     $postShop['clientType'] = trim($params['passenger-flow-ipt']);
     //客流人群其他
     $postShop['clientTypeOther'] = trim($params['passenger-flow-other']);
     //推荐行业
     $postShop['businessType'] = trim($params['featured-industries-ipt']);
     //物业配置
     $postShop['industryConfig'] = trim($params['houses-matching-ipt']);
     //当前行业 经营中商铺必选
     $postShop['currentIndustry'] = intval($params['select_industry']);
     ////商铺坐标
     $postShop['shopPoints'] = !empty($params['map_lng']) && !empty($params['map_lat']) ? trim($params['map_lng']) . ',' . trim($params['map_lat']) . ',1' : '';
     //新发或者更新基础房源信息 @todo call api
     if ($this->act == 'edit') {
         $postShop['shopId'] = $this->shopId;
         $apiHouseInfo = BLL_House_JpHouseManage::housePublishApi('s_e', $postShop);
     } else {
         $apiHouseInfo = BLL_House_JpHouseManage::housePublishApi('s_p', $postShop);
     }
     if ($apiHouseInfo['status'] != 'ok') {
         $this->redirect2Result($apiHouseInfo['code'], self::SITE_JP, $this->act, '', $apiHouseInfo['info']);
     } else {
         $this->shopId = $apiHouseInfo['id'];
     }
     return true;
 }