// +---------------------------------------------------------------------- namespace app\common\model\store\product; use app\common\model\BaseModel; class ProductPresellSku extends BaseModel { /** * TODO * @return string * @author Qinii * @day 2020-10-12 */ public static function tablePk(): string { return ''; } /** * TODO * @return string * @author Qinii * @day 2020-10-12 */ public static function tableName(): string { return 'store_product_presell_sku'; } public function sku() { return $this->hasOne(ProductAttrValue::class,'unique','unique'); } public function presell() { return $this->hasOne(ProductPresell::class,'product_presell_id','product_presell_id'); } public function searchUniqueAttr($query,$value) { $query->where('unique',$value); } public function searchProductIdAttr($query,$value) { $query->where('product_id',$value); } public function searchProductPresellIdAttr($query,$value) { $query->where('product_presell_id',$value); } public function getBcExtensionOneAttr() { if (!intval(systemConfig('extension_status'))) return 0; if ($this->sku->extension_one > 0) return $this->sku->extension_one; return floatval(round(bcmul(systemConfig('extension_one_rate'), $this->presell_price, 3), 2)); } public function getBcExtensionTwoAttr() { if (!intval(systemConfig('extension_status'))) return 0; if ($this->sku->extension_two > 0) return $this->sku->extension_two; return floatval(round(bcmul(systemConfig('extension_two_rate'), $this->presell_price, 3), 2)); } }