|
- <?php
- /**
- *
- * ============================================================================
- * * 版权所有 蜘蛛出行 * *
- * 网站地址: http://www.zhizhuchuxing.com
- * ----------------------------------------------------------------------------
- * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
- * 使用;不允许对程序代码以任何形式任何目的的再发布。
- * ============================================================================
- * Author By: 倪宗锋
- * PhpStorm ChannelRoom.php
- * Create By 2017/4/13 15:23 $
- */
-
-
- namespace backend\modules\hotel\models;
-
-
- use yii\db\ActiveRecord;
-
- class ChannelRoom extends ActiveRecord
- {
- public static function tableName()
- {
- return 'channel_room';
- }
-
- public function rules()
- {
- return [
- [['RoomId', 'HasWindow', 'Currency', 'ChannelHotelID'], 'string', 'max' => 20],
- [['RoomName', 'AddBedFee'], 'string', 'max' => 255],
- [['ChannelID', 'Person'], 'integer']
- ];
- }
-
- /**
- * Des:请不要随意添加修改此表 以免造成数据更新失败的问题
- * Name: attributeLabels
- * @return array
- * @author 倪宗锋
- */
- public function attributeLabels()
- {
- return [
- 'RoomId' => 'RoomId',
- 'RoomName' => 'RoomName',
- 'Person' => 'Person',
- 'HasWindow' => 'HasWindow',
- 'AddBedFee' => 'AddBedFee',
- 'Currency' => 'Currency',
- 'ChannelID' => 'ChannelID',
- 'ChannelHotelID' => 'ChannelHotelID'
- ];
- }
-
- /**
- * Des:更新酒店房型数据
- * Name: upRoomForCtrip
- * @param $roomList
- * @param $hotelId
- * @return bool
- * @throws \yii\db\Exception
- * @author 倪宗锋
- */
- public function upRoomForCtrip($roomList, $hotelId)
- {
- //清除当前酒店的房型数据
- $deleteWhere = [
- 'and',
- ['=', 'ChannelHotelID', $hotelId],
- ['=', 'ChannelID', \Yii::$app->params['ctrip']['relation_supplier_id']]
- ];
- \Yii::$app->db->createCommand()->delete(static::tableName(), $deleteWhere)->execute();
- //插入数据
- $prodValues = [];
- $prodKeys = array_keys($this->attributes);
- foreach ($roomList as $key => $val) {
- $prodVal = [];
- $prodVal[] = $val['Room'];
- $prodVal[] = $val['RoomName'];
- $prodVal[] = empty($val['Person']) ? '' : $val['Person'];
- $prodVal[] = empty($val['HasWindow']) ? '' : $val['HasWindow'];
- $prodVal[] = empty($val['AddBedFee']) ? '' : $val['AddBedFee'];
- $prodVal[] = empty($val['Currency']) ? '' : $val['Currency'];
- $prodVal[] = \Yii::$app->params['ctrip']['relation_supplier_id'];//1标识携程
- $prodVal[] = $hotelId;//渠道酒店ID
- $prodValues[] = $prodVal;
- }
- $count = \Yii::$app->db->createCommand()->batchInsert(static::tableName(), $prodKeys, $prodValues)->execute();
- if ($count == 0) {
- return false;
- }
- return true;
- }
-
- /**
- * Des:获取房型信息
- * Name: setParamsForCtrip
- * @param $params
- * @return array
- * @author 倪宗锋
- */
- public function getParamsForCtrip($params)
- {
- $sql = '' . "SELECT a.ChannelHotelID,a.RoomId,b.ID,b.HOTEL_ID,b.ROOM_NAME
- from channel_room a,opera_hotel_room b
- WHERE a.ChannelID = ". \Yii::$app->params['ctrip']['relation_supplier_id']." and a.RoomId = {$params['channelRoomId']} and b.ID={$params['roomId']}";
- $db = \Yii::$app->db;
- $result = $db->createCommand($sql)->queryOne();
- return $result;
- }
-
- /**
- * Des:获取设置页面的房型列表
- * Name: getRoomListByHotelId
- * @param $hotelId
- * @return array
- * @author 倪宗锋
- */
- public function getRoomListByHotelId($hotelId)
- {
- $sql = "
- SELECT a.*,c.ROOM_NAME 'name1',c.ID 'roomId1', c.INNER_IDENTIFY
- from channel_room a
- LEFT JOIN channel_room_relation b on a.RoomId = b.ChannelRoomId and b.ChannelId = " . \Yii::$app->params['ctrip']['relation_supplier_id'] ."
- LEFT JOIN opera_hotel_room c on b.RoomId = c.ID
- WHERE a.ChannelID = " . \Yii::$app->params['ctrip']['relation_supplier_id'] . " and a.ChannelHotelID = '{$hotelId}'
- ORDER BY CONVERT(c.ROOM_NAME USING GBK) desc,CONVERT(a.RoomName USING GBK) ASC
- ";
- $db = \Yii::$app->db;
- $result = $db->createCommand($sql)->queryAll();
- return $result;
- }
- }
|