You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
simple-yewu/common/models/GiftT.php

112 lines
3.0 KiB

<?php
namespace common\models;
use Yii;
/**
* This is the model class for table "gift_t".
*
* @property integer $id
* @property integer $type_id
* @property string $name
* @property string $price
* @property string $remark
* @property integer $total
* @property integer $total_lock
* @property string $created_at
* @property string $updated_at
*/
class GiftT extends \common\models\Base
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'gift_t';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['type_id', 'total', 'total_lock'], 'integer'],
[['name'], 'required'],
[['created_at', 'updated_at'], 'safe'],
[['name'], 'string', 'max' => 100],
[['price'], 'string', 'max' => 50],
[['remark'], 'string', 'max' => 200],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'type_id' => 'Type ID',
'name' => 'Name',
'price' => 'Price',
'remark' => 'Remark',
'total' => 'Total',
'total_lock' => 'Total Lock',
'created_at' => 'Created At',
'updated_at' => 'Updated At',
];
}
public function getShowType()
{
if($this->type_id == 1) return '实物礼品';
if($this->type_id == 2) return '礼券';
return '';
}
public function getTickets()
{
return $this->hasMany(GiftTicketT::className(),['type_id'=>'id']);
}
public function getTicketsUse()
{
return $this->hasMany(GiftTicketTUse::className(),['type_id'=>'id']);
}
public function getTicketsUseByDate($date_type,$begin_date,$end_date)
{
$query = GiftTicketTUse::find()
->leftJoin('order_t','order_t.id=gift_ticket_t_use.order_id')
->leftJoin('gift_t','gift_t.id=gift_ticket_t_use.type_id')
->where('gift_t.id='.$this->id)
->orderBy('id DESC');
if($date_type == 1) {
if($begin_date != '') {
$query = $query->andWhere('gift_ticket_t_use.finished_date>="' . $begin_date.'"');
}
if($end_date != '') {
$query = $query->andWhere('gift_ticket_t_use.finished_date<="' . $end_date.'"');
}
}elseif ($date_type == 2){
if($begin_date != '') {
$query = $query->andWhere('order_t.print_date>="' . $begin_date.'"');
}
if($end_date != '') {
$query = $query->andWhere('order_t.print_date<="' . $end_date.'"');
}
}elseif ($date_type == 3){
if($begin_date != '') {
$query = $query->andWhere('order_t.submit_date>="' . $begin_date.'"');
}
if($end_date != '') {
$query = $query->andWhere('order_t.submit_date<="' . $end_date.'"');
}
}
return $query;
}
}