'ID', 'mall_id' => '商城ID', 'user_id' => '用户ID', 'level' => '等级(权重)', 'pool_income' => '分红池总收益,单位:元', 'upgrade_status' => '1条件升级,2购买指定商品升级,3手动升级', 'upgrade_level_at' => '等级升级时间', 'status' => '状态[-1:删除;0:禁用;1启用]', 'created_at' => '创建时间', 'updated_at' => '更新时间', ]; } public function getUser() { return $this->hasOne(User::class, ['id' => 'user_id'])->select('id,mobile,nickname,avatar_url,parent_id'); } public static function create($params) { try { $model = self::findOne(['user_id' => $params['user_id'], 'status' => StatusEnum::ENABLED]); if (empty($model)) { $model = new self(); $model->loadDefaultValues(); } else { // 如果非升级情况则不做任何保存或处理 if ($model->level >= $params['level']) return $model->toArray(); } if (!$model->load($params, '') || !$model->save()) throw new \Exception($model->getErrorMessage()); return $model->toArray(); } catch (\Exception $e) { self::setStaticError($e->getMessage()); return false; } } public static function del($id, $mall_id) { try { $model = self::findOne(['id' => $id, 'mall_id' => $mall_id, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]]); if (empty($model)) { throw new \Exception('该分红用户不存在'); } $model->status = StatusEnum::DELETE; if (!$model->save()) throw new \Exception($model->getErrorMessage()); return $model->toArray(); } catch (\Exception $e) { self::setStaticError($e->getMessage()); return false; } } }