|
- <?php
-
- namespace backend\modules\api\models;
-
- use Yii;
-
- /**
- * This is the model class for table "opera_tickets_agent".
- *
- * @property integer $TICKET_ID
- * @property integer $CREATE_USER_ID
- * @property string $CREATE_TIME
- * @property integer $UPDATE_USER_ID
- * @property string $UPDATE_TIME
- * @property integer $CANCEL_FLAG
- * @property integer $LINE_ID
- * @property string $TICKET_NAME
- * @property integer $TICKET_TYPE
- * @property integer $START_STATION_RES_ID
- * @property integer $END_STATION_RES_ID
- * @property integer $START_STATION_AREA_ID
- * @property integer $END_STATION_AREA_ID
- * @property integer $SEAT_TYPE
- * @property integer $HUMAN_TYPE
- * @property string $PROD_PRICE
- * @property string $CUS_PRICE
- * @property string $COST_PRICE
- * @property integer $FROM_MAIN_CORP_ID
- * @property integer $TO_MAIN_CORP_ID
- * @property integer $AUTHORITY_STATUS
- * @property integer $IS_ONSALE
- * @property integer $ID
- */
- class OperaTicketsAgent extends \yii\db\ActiveRecord
- {
- /**
- * @inheritdoc
- */
- public static function tableName()
- {
- return 'opera_tickets_agent';
- }
-
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- [['TICKET_ID', 'CREATE_USER_ID', 'UPDATE_USER_ID', 'CANCEL_FLAG', 'LINE_ID', 'TICKET_TYPE', 'START_STATION_RES_ID', 'END_STATION_RES_ID', 'START_STATION_AREA_ID', 'END_STATION_AREA_ID', 'SEAT_TYPE', 'HUMAN_TYPE', 'FROM_MAIN_CORP_ID', 'TO_MAIN_CORP_ID', 'AUTHORITY_STATUS', 'IS_ONSALE'], 'integer'],
- [['CREATE_TIME'], 'required'],
- [['UPDATE_TIME'], 'safe'],
- [['PROD_PRICE', 'CUS_PRICE', 'COST_PRICE'], 'number'],
- [['CREATE_TIME'], 'string', 'max' => 20],
- [['TICKET_NAME'], 'string', 'max' => 50],
- [['TICKET_ID'], 'unique'],
- ];
- }
-
- /**
- * @inheritdoc
- */
- public function attributeLabels()
- {
- return [
- 'TICKET_ID' => 'Ticket ID',
- 'CREATE_USER_ID' => '记录创建用户ID',
- 'CREATE_TIME' => '记录创建时间',
- 'UPDATE_USER_ID' => '记录最后更新用户ID',
- 'UPDATE_TIME' => '记录最后更新时间',
- 'CANCEL_FLAG' => '记录有效性标记,CANCEL_FLAG=0记录有效;CANCEL_FLAG=1,记录已删除',
- 'LINE_ID' => '线路ID',
- 'TICKET_NAME' => '票种名称',
- 'TICKET_TYPE' => '单程往返标志 TICKET_TYPE=1单程票,TICKET_TYPE=2往返票',
- 'START_STATION_RES_ID' => '上车站ID',
- 'END_STATION_RES_ID' => '下车站ID',
- 'START_STATION_AREA_ID' => '出发地ID',
- 'END_STATION_AREA_ID' => '目的地ID',
- 'SEAT_TYPE' => '座位类型,72-普通座',
- 'HUMAN_TYPE' => '人群属性 159-成人',
- 'PROD_PRICE' => '分销价',
- 'CUS_PRICE' => '零售价',
- 'COST_PRICE' => '预估成本',
- 'FROM_MAIN_CORP_ID' => '票种来源运营主体',
- 'TO_MAIN_CORP_ID' => '票种规则所属运营主体',
- 'AUTHORITY_STATUS' => '授权状态,0:关,1:开',
- 'IS_ONSALE' => '是否售卖,0:关,1:开',
- 'ID' => 'ID',
- ];
- }
-
- /**
- * Function Description:通过userid获取可售卖票种
- * Function Name: getTicketListByUserId
- * @param array $ticket_id_arr 票种id数组
- * @param int $user_id 用户id
- *
- * @return array|\yii\db\ActiveRecord[]
- *
- * @author Redstop
- */
- public function getTicketListByUserId( $user_id ) {
- $sql_where = [
- 'and',
- ['=', 't.cancel_flag', 0],
- ['=', 't.authority_status', 1],
- ['=', 't.is_onsale', 1],
- ['=', 'u.id', $user_id],
- ];
-
- $result = self::find()
- ->select([
- 'ticket_id' => 't.ticket_id',//票种ID
- ])
- ->from(self::tableName() . ' as t')
- ->innerJoin(BaseUser::tableName() . ' as u', 't.to_main_corp_id = u.main_corp_id')
- ->where($sql_where)
- ->indexBy('ticket_id')
- ->asArray()->all();
-
- return $result;
- }
-
- }
|