99 lines
2.7 KiB
PHP
99 lines
2.7 KiB
PHP
<?php
|
||
/**
|
||
* Created by PhpStorm.
|
||
* User: zn
|
||
* Date: 2017/6/14
|
||
* Time: 14:34
|
||
*/
|
||
|
||
namespace common\models;
|
||
|
||
|
||
use common\services\UserService;
|
||
use common\utils\EnumUtil;
|
||
use yii\behaviors\TimestampBehavior;
|
||
use yii\db\ActiveRecord;
|
||
|
||
/**交易
|
||
*
|
||
* @property int $id id
|
||
* @property int $from_user_id 发起用户ID
|
||
* @property int $be_user_id 接受用户ID
|
||
* @property int $type 交易类型;赠送金币、赠送物品
|
||
* @property string $data 具体交易数据,json格式
|
||
* @property int $from_user_confirm 发起用户是否确认
|
||
* @property int $be_user_confirm 接收用户是否确认
|
||
* @property int $complete 是否完成
|
||
* @property integer $del
|
||
* @property integer $created_at
|
||
* @property integer $updated_at
|
||
*/
|
||
class Deal extends ActiveRecord
|
||
{
|
||
public function behaviors()
|
||
{
|
||
return [
|
||
TimestampBehavior::className(),
|
||
];
|
||
}
|
||
|
||
public function rules()
|
||
{
|
||
return [
|
||
['id', 'default', 'value' => 0],
|
||
|
||
['from_user_id', 'exist', 'targetClass' => '\common\models\User', 'targetAttribute' => 'id'],
|
||
|
||
// ['be_user_id', 'exist', 'targetClass' => '\common\models\User', 'targetAttribute' => 'id'],
|
||
|
||
['type', 'default', 'value' => 0],
|
||
//['type', 'in', 'range' => EnumUtil::DEAL_TYPE_LIST],
|
||
|
||
// ['data', 'trim'],
|
||
// ['data', 'required'],
|
||
// ['data', 'string', 'max' => 5000],
|
||
|
||
|
||
|
||
['created_at', 'default', 'value' => 0],
|
||
['itemid', 'default', 'value' => 0],
|
||
['price', 'default', 'value' => 0],
|
||
['num', 'default', 'value' => 0],
|
||
['money', 'default', 'value' => 0],
|
||
['updated_at', 'default', 'value' => 0],
|
||
];
|
||
}
|
||
|
||
/**
|
||
* @param $id
|
||
* @return Deal
|
||
*/
|
||
public static function findByID($id)
|
||
{
|
||
return self::findOne(['id' => $id, 'del' => EnumUtil::DELETE_NOT]);
|
||
}
|
||
|
||
/**
|
||
* 生成要发送给客户的数据
|
||
* @return array
|
||
*/
|
||
public function genClientData()
|
||
{
|
||
$returnData = [
|
||
'deal_id' => $this->id,
|
||
'from_user_id' => $this->from_user_id,
|
||
'be_user_id' => $this->be_user_id,
|
||
'type' => $this->type,
|
||
'from_user_confirm' => $this->from_user_confirm,
|
||
'be_user_confirm' => $this->be_user_confirm,
|
||
'complete' => $this->complete,
|
||
'created_at' => $this->created_at,
|
||
];
|
||
|
||
$returnData['from_user_nickname'] = UserService::getUserNickName($this->from_user_id);
|
||
$returnData['be_user_nickname'] = UserService::getUserNickName($this->be_user_id);
|
||
|
||
$returnData['data'] = DealData::loadJson($this->data);
|
||
return $returnData;
|
||
}
|
||
} |