'ID', 'mall_id' => '商城id', 'user_id' => '代理商用户id', 'level' => '等级权重', 'num' => '名额数量', 'status' => '状态[-1:删除;0:禁用;1启用]', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } public function getStockLevel() { return $this->hasOne(CloudStockLevel::class, ['level' => 'level', 'mall_id' => 'mall_id'])->where(['status'=>StatusEnum::ENABLED]); } public static function setData($params) { try { if (!empty($params['mall_id']) && !empty($params['user_id']) && !empty($params['level'])) { $model = self::findOne(['mall_id' => $params['mall_id'], 'user_id' => $params['user_id'], 'level' => $params['level'], 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]]); if (empty($model)) { $model = new self(); $model->loadDefaultValues(); } } else { $model = new self(); $model->loadDefaultValues(); } $model->num += $params['num']; unset($params['num']); if (!$model->load($params, '')) throw new \Exception($model->getErrorMessage()); if (!$model->save()) throw new \Exception($model->getErrorMessage()); return true; } catch (\Exception $e) { self::$static_error = $e->getMessage(); return false; } } }