83 lines
2.6 KiB
PHP
83 lines
2.6 KiB
PHP
<?php
|
|
|
|
|
|
namespace Yunshop\AreaDividend\models;
|
|
|
|
use app\common\facades\Setting;
|
|
use app\common\models\BaseModel;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class AreaDividendGoods extends BaseModel
|
|
{
|
|
use SoftDeletes;
|
|
public $table = 'yz_goods_area_dividend';
|
|
public $timestamps = true;
|
|
protected $guarded = [''];
|
|
public $attributes = [
|
|
'is_dividend' => 1,
|
|
'has_dividend' => 0,
|
|
'has_dividend_price' => 0,
|
|
'has_dividend_rate' => 0,
|
|
];
|
|
|
|
public static function relationSave($goodsId, $data, $operate)
|
|
{
|
|
if (!$goodsId) {
|
|
return false;
|
|
}
|
|
// edit 2018-06-01 by Yy
|
|
// content 门店编辑商品没有区域分红选项, admin保存之后门店再保存widget没值,取默认.
|
|
if (!$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_dividend_price'] = $data['has_dividend_price'] ?$data['has_dividend_price'] : 0;
|
|
$data['has_dividend_rate'] = $data['has_dividend_rate'] ?$data['has_dividend_rate'] : 0;
|
|
|
|
//开启了第一个独立规则,第二个就不能开启
|
|
if ($data['has_dividend']) {
|
|
$data['alone_rule'] = 0;
|
|
} else {
|
|
$data['alone_rule'] = $data['alone_rule'] ? $data['alone_rule'] : 0;
|
|
}
|
|
$data['province_rate'] = $data['province_rate'] ?$data['province_rate'] : 0;
|
|
$data['city_rate'] = $data['city_rate'] ?$data['city_rate'] : 0;
|
|
$data['area_rate'] = $data['area_rate'] ?$data['area_rate'] : 0;
|
|
$data['street_rate'] = $data['street_rate'] ?$data['street_rate'] : 0;
|
|
$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 getGoodsByGoodsId($goodsId)
|
|
{
|
|
return self::where('goods_id',$goodsId)
|
|
->where('is_dividend','1');
|
|
}
|
|
|
|
public static function getGoodsSet($goodsId)
|
|
{
|
|
$model = $goodsId ? static::where(['goods_id' => $goodsId])->first() : new static;
|
|
!$model && $model = ['is_dividend' => 0] ;
|
|
return $model;
|
|
}
|
|
} |