97 lines
3.2 KiB
PHP
97 lines
3.2 KiB
PHP
<?php
|
|
|
|
|
|
|
|
namespace Yunshop\TeamDividend\models;
|
|
|
|
use app\common\models\BaseModel;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
/**
|
|
* Class GoodsTeamDividend
|
|
* @package Yunshop\TeamDividend\models
|
|
* @property integer is_restrict
|
|
*/
|
|
class GoodsTeamDividend extends BaseModel
|
|
{
|
|
public $table = 'yz_goods_team_dividend';
|
|
public $timestamps = true;
|
|
protected $guarded = [''];
|
|
public $attributes = [
|
|
'is_dividend' => 1,
|
|
'is_hierarchy' => 1,
|
|
'is_restrict' => 0,
|
|
'has_dividend' => 0,
|
|
'has_dividend_price' => 0,
|
|
'has_dividend_rate' => 0,
|
|
'commission_rates' => 0
|
|
];
|
|
|
|
public static function getGoodsByGoodsId($giidsId){
|
|
return self::where('goods_id', $giidsId)->where('is_dividend', '1');
|
|
}
|
|
|
|
public static function relationSave($goodsId, $data, $operate)
|
|
{
|
|
if (!$goodsId || !$data) {
|
|
return false;
|
|
}
|
|
$dividendModel = self::getModel($goodsId, $operate);
|
|
|
|
//判断deleted
|
|
if ($operate == 'deleted') {
|
|
return $dividendModel->delete();
|
|
}
|
|
$data['goods_id'] = $goodsId;
|
|
|
|
if (!$data['has_dividend']) {
|
|
$data['has_dividend'] = 0;
|
|
}
|
|
$data['has_peers'] = $data['has_peers'] ?: 0;
|
|
$data['has_dividend_price'] = $data['has_dividend_price'] ? $data['has_dividend_price'] : 0;
|
|
$data['has_dividend_rate'] = $data['has_dividend_rate'] ? $data['has_dividend_rate'] : 0;
|
|
// foreach ($data['has_dividend_prices'] as $key => $has_dividend_prices) {
|
|
// if (!$has_dividend_prices) {
|
|
// unset($data['has_dividend_prices'][$key]);
|
|
// }
|
|
// }
|
|
// foreach ($data['has_dividend_rates'] as $key => $has_dividend_rates) {
|
|
// if (!$has_dividend_rates) {
|
|
// unset($data['has_dividend_rates'][$key]);
|
|
// }
|
|
// }
|
|
$data['has_dividend_prices'] = $data['has_dividend_prices'] ? serialize($data['has_dividend_prices']) : '';
|
|
$data['has_dividend_rates'] = $data['has_dividend_rates'] ? serialize($data['has_dividend_rates']) : '';
|
|
$data['has_hierarchys'] = serialize($data['has_hierarchys']);
|
|
$data['has_dividend_extra'] = $data['has_dividend_extra'] ? serialize($data['has_dividend_extra']) : '';
|
|
$data['commission_rates'] = $data['commission_rates'] ? serialize($data['commission_rates']) : '';
|
|
$dividendModel->setRawAttributes($data);
|
|
return $dividendModel->save();
|
|
}
|
|
|
|
public static function getModel($goodsId, $operate)
|
|
{
|
|
$model = false;
|
|
if ($operate != 'created') {
|
|
$model = static::where(['goods_id' => $goodsId])->first();
|
|
}
|
|
!$model && $model = new static;
|
|
return $model;
|
|
}
|
|
|
|
public static function getGoodsSet($goodsId)
|
|
{
|
|
|
|
if (!$goodsId) {
|
|
return ['is_dividend' => 1, 'is_hierarchy' => 0, 'has_peers' => 0, 'is_restrict' => 0];
|
|
}
|
|
|
|
if ($model = static::where(['goods_id' => $goodsId])->first()) {
|
|
return $model->toArray();
|
|
};
|
|
|
|
return ['is_dividend' => 0, 'is_hierarchy' => 0, 'has_peers' => 0, 'is_restrict' => 0];
|
|
}
|
|
|
|
|
|
} |