|
- <?php
-
- namespace backend\modules\hotel\models;
-
- use Yii;
-
- /**
- * This is the model class for table "{{%opera_sort}}".
- *
- * @property integer $id
- * @property integer $hotel_id
- * @property integer $base_room_id
- * @property integer $room_id
- * @property integer $channel_id
- * @property integer $seq
- */
- class OperaSort extends \yii\db\ActiveRecord
- {
- /**
- * @inheritdoc
- */
- public static function tableName()
- {
- return '{{%opera_sort}}';
- }
-
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- [['hotel_id', 'base_room_id'], 'required'],
- [['hotel_id', 'base_room_id', 'room_id', 'channel_id', 'seq'], 'integer'],
- ];
- }
-
- /**
- * @inheritdoc
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'hotel_id' => '酒店ID',
- 'base_room_id' => '基础房型ID',
- 'room_id' => '子房型ID',
- 'channel_id' => '渠道ID 0:非渠道 非0:渠道ID',
- 'seq' => '排列顺序',
- ];
- }
-
- /**
- * User:Steven
- * Desc:获取携程与与携程有直连关系的酒店
- */
- public function getDirectHotel()
- {
- $db = Yii::$app->db;
- $sql1 = "select HOTEL_ID,HOTEL_NAME from opera_hotel where cancel_flag=0";
- $rs = $db->createCommand($sql1)->queryAll();
- return $rs;
- }
-
- /**
- * User:石福鹏
- * 获取基础房型及其排序规则
- * @param $hotel_id
- * @return array
- */
- public function getBaseRoomData($hotel_id)
- {
- $db = Yii::$app->db;
- $sql = "select a.hotel_id, main_id as parent_room_type, a.base_room_name, b.seq
- from opera_hotel_base_room a
- left join opera_sort b on a.hotel_id = b.hotel_id and a.main_id = b.base_room_id
- where a.cancel_flag = 0 and a.hotel_id = $hotel_id and b.room_id = 0 and b.channel_id = 0 GROUP by parent_room_type order by b.seq";
- $result = $db->createCommand($sql)->queryAll();
- return $result;
- }
-
- /**
- * User:石福鹏
- * 获取子房型及其排序规则
- * @param $hotel_id
- * @return array
- */
- public function getRoomData($hotel_id)
- {
- $db = Yii::$app->db;
- $sql = "select
- a.hotel_id,a.parent_room_type,a.room_type,a.room_name,a.inner_identify,b.seq,c.ROOM_TYPE_SALE
- from
- opera_hotel_room a
- LEFT JOIN opera_hotel c on a.HOTEL_ID=c.HOTEL_ID
- left join opera_sort b on a.hotel_id = b.hotel_id
- and a.parent_room_type = b.base_room_id and a.room_type=b.room_id
- where
- a.cancel_flag = 0
- and FIND_IN_SET(a.parent_room_type,c.ROOM_TYPE_SALE)
- and b.room_id <> 0
- and b.channel_id = 0
- and
- a.hotel_id = $hotel_id order by a.parent_room_type,b.seq";
- $result = $db->createCommand($sql)->queryAll();
- return $result;
- }
-
- /**
- * 添加基础房型排序
- * @param $hotel_id
- * @param $base_room_id
- * @param $seq
- * @return mixed
- */
- public function addRoomSort($hotel_id, $base_room_id, $seq)
- {
- $sql = "INSERT into opera_sort(hotel_id,base_room_id,room_id,channel_id,seq) VALUES($hotel_id,$base_room_id,0,0,$seq)";
- $res = $this->DBTool->execSql($sql);
- return $res;
- }
-
- public function beforeSave($insert)
- {
- if($this -> isNewRecord)
- {
- $this -> room_id = 0;
- }
-
- return parent::beforeSave($insert);
- }
- }
|