2026-05-29 19:54:56 +08:00

99 lines
2.7 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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;
}
}