예제 #1
0
    public function getColumns()
    {
        $criteria = clone self::$_criteria;
        $criteria->select = 'SUM(amount) AS amount';
        $amount = $this->find($criteria)->amount;
        $criteria->select = 'SUM(ROUND((CASE
			WHEN status=0 OR status=5 THEN 0
			WHEN channel="nowPay" AND device_type="02" THEN amount*0.02
			WHEN channel="nowPay" THEN amount*0.06
			ELSE amount*0.012 END) / 100, 2)) AS amount';
        $fee = $this->find($criteria)->amount;
        $columns = array('id', array('name' => 'user_id', 'value' => '$data->user->getCompetitionName()'), array('name' => 'channel', 'value' => '$data->channel', 'filter' => Pay::getChannels()), array('name' => 'type', 'value' => '$data->getTypeText()', 'filter' => Pay::getTypes()), array('name' => 'amount', 'value' => 'number_format($data->amount / 100, 2)', 'footer' => number_format($amount / 100, 2)), array('name' => 'fee', 'footer' => $fee, 'filter' => false, 'header' => '手续费'), array('name' => 'create_time', 'type' => 'raw', 'value' => 'date("Y-m-d H:i:s", $data->create_time)', 'filter' => false), array('name' => 'update_time', 'type' => 'raw', 'value' => 'date("Y-m-d H:i:s", $data->update_time)', 'filter' => false), array('name' => 'status', 'type' => 'raw', 'value' => '$data->getStatusText()', 'filter' => Pay::getAllStatus()));
        if ($this->type !== '') {
            switch ($this->type) {
                case self::TYPE_REGISTRATION:
                    array_splice($columns, 4, 0, array(array('name' => 'type_id', 'header' => Yii::t('common', 'Competition'), 'value' => '$data->competition->name_zh', 'filter' => Competition::getRegistrationCompetitions())));
                    break;
            }
        }
        return $columns;
    }