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; } }