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.
112 lines
3.0 KiB
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;
|
|
}
|
|
}
|
|
|