'ID', 'mall_id' => 'Mall ID', 'activity_id' => '活动 id', 'group_amounts' => '累计成团金额', 'group_peoples' => '累计成团人数', 'group_periods' => '成团期数', 'group_failed_times' => '所有会员累计失败次数', 'deplete_balances' => '累计消耗余额', 'deplete_scores' => '累计消耗积分', 'win_reward_balances' => '累计拼中奖励余额', 'win_reward_scores' => '累计拼中奖励积分', 'distribute_bonus_pool_amounts' => '累计分配奖金池金额', 'status' => '状态[-1:删除;0:禁用;1启用]', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } public static function setData(int $mall_id, array $data) { if (!empty($data['id'])) { $model = self::find()->where(['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED, 'id' => $data['id']])->one(); if (empty($model)) { self::$static_error = '数据异常'; return false; } } else { $model = self::find()->where(['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED, 'activity_id' => $data['activity_id']])->one(); if (empty($model)) { $model = new self(); $model->loadDefaultValues(); $model->mall_id = $mall_id; $model->status = StatusEnum::ENABLED; unset($data['id']); } } foreach ($data as $key => $val) { $model->$key = $val; } // dd($model); if (!$model->save()) { self::$static_error = '保存数据失败:' . $model->getErrorMessage(); return false; } return $model; } public static function updateStatistics($params) { try { if (empty($params['activity_id']) || empty($params['mall_id'])) return true; $model = self::findOne(['activity_id' => $params['activity_id']]); if (empty($model)) { $model = new self(); $model->loadDefaultValues(); $model->mall_id = $params['mall_id']; $model->activity_id = $params['activity_id']; $model->status = StatusEnum::ENABLED; } $model->group_amounts += $params['group_amounts']; $model->group_peoples += $params['group_peoples']; $model->group_periods += $params['group_periods']; $model->deplete_balances += $params['deplete_balances']; $model->deplete_scores += $params['deplete_scores']; $model->win_reward_balances += $params['win_reward_balances']; $model->win_reward_scores += $params['win_reward_scores']; $model->group_failed_times += $params['group_failed_times']; $model->distribute_bonus_pool_amounts += $params['distribute_bonus_pool_amounts']; $res = $model->save(); if ($res == false) throw new Exception($model->getErrorMessage()); return true; } catch (\Exception $e) { var_dump($e->getMessage()); return false; } } }