255], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => 'Mall ID', 'attend_commission' => '发放参团奖金', 'attend_money' => '参团金额', 'win_money' => '拼中金额', 'attend_peoples' => '参团人数', 'win_peoples' => '拼中人数', 'total_attend_commission' => '总发放参团奖金', 'total_attend_money' => '总参团金额', 'total_win_money' => '总拼中金额', 'total_attend_peoples' => '总参团人数', 'total_win_peoples' => '总拼中人数', 'statistics_month' => '统计月份', 'status' => '状态[-1:删除;0:禁用;1启用]', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } public static function updateStatistics($params) { try { if (empty($params['mall_id'])) return true; $statistics_month = date('Y-m', time()); $model = self::findOne(['mall_id' => $params['mall_id'], 'statistics_month' => $statistics_month,'status'=>StatusEnum::ENABLED]); if (empty($model)) { $model = new self(); $model->loadDefaultValues(); $model->mall_id = $params['mall_id']; $model->status = StatusEnum::ENABLED; $model->statistics_month = $statistics_month; $last_month_arr = DateHelper::lastMonth(); $last_month = date('Y-m', $last_month_arr['start']); $last_mall_statistics_model = LuckyGroupMallStatistics::findOne(['mall_id' => $params['mall_id'], 'statistics_month' => $last_month]); $total_win_money = $total_win_peoples = $total_attend_commission = $total_attend_money = $total_attend_peoples = 0; if (!empty($last_mall_statistics_model)) { $total_win_money = $last_mall_statistics_model['total_win_money']; $total_win_peoples = $last_mall_statistics_model['total_win_peoples'] ; $total_attend_commission = $last_mall_statistics_model['total_attend_commission'] ; $total_attend_money = $last_mall_statistics_model['total_attend_money'] ; $total_attend_peoples = $last_mall_statistics_model['total_attend_peoples']; } }else{ $total_win_money = $model['total_win_money'] ; $total_win_peoples = $model['total_win_peoples'] ; $total_attend_commission = $model['total_attend_commission']; $total_attend_money = $model['total_attend_money'] ; $total_attend_peoples = $model['total_attend_peoples']; } $params['attend_commission'] = $params['attend_commission']??0; $model->attend_commission += $params['attend_commission']; $model->total_attend_commission = $total_attend_commission+$params['attend_commission']; $params['attend_money'] = $params['attend_money']??0; $model->attend_money += $params['attend_money']; $model->total_attend_money = $total_attend_money+$params['attend_money']; $params['win_money'] = $params['win_money']??0; $model->win_money += $params['win_money']; $model->total_win_money = $total_win_money+$params['win_money']; $params['attend_peoples'] = $params['attend_peoples']??0; $model->attend_peoples += $params['attend_peoples']; $model->total_attend_peoples = $total_attend_peoples+$params['attend_peoples']; $params['win_peoples'] = $params['win_peoples']??0; $model->win_peoples += $params['win_peoples']; $model->total_win_peoples =$total_win_peoples+ $params['win_peoples']; $res = $model->save(); if($res==false) throw new Exception($model->getErrorMessage()); return true; }catch (\Exception $e){ var_dump($e->getMessage()); return false; } } }