$tip = "plus";
$bonus = 200;
$ip = "tst";
- $tip_sale = "date";
+ $tip_sale = "target";
$name = "Начисление бонусов на дату {$kogortDate}";
$daysToEnd = $step1 + 1;
foreach ($kogortPhones as $key => $phone) {
- $userBonus4 = new UsersBonus();
- $userBonus4->phone = '' . $phone;
- $userBonus4->name = $name;
- $userBonus4->tip = $tip;
- $userBonus4->tip_sale = $tip_sale;
- $userBonus4->bonus = $bonus;
- $userBonus4->date = date('Y-m-d H:i:s');
- $userBonus4->date_start = $kogortDate;
- $userBonus4->date_end = date('Y-m-d', strtotime("+$daysToEnd days", strtotime($kogortDate)));
- $userBonus4->ip = $ip;
- $userBonus4->save();
- if ($userBonus4->getErrors()) {
- $this->stdout(
- json_encode($userBonus4->getErrors(), JSON_UNESCAPED_UNICODE) . " " . $key . "\n",
- BaseConsole::FG_RED
- );
+ $userBonusExist = UsersBonus::find()
+ ->where(['phone' => $phone])
+ ->andWhere(['tip_sale' => 'target'])
+ ->andWhere(['date_start' => $kogortDate])
+ ->one();
+ if ($userBonusExist) {
+ $userBonus4 = new UsersBonus();
+ $userBonus4->phone = '' . $phone;
+ $userBonus4->name = $name;
+ $userBonus4->tip = $tip;
+ $userBonus4->tip_sale = $tip_sale;
+ $userBonus4->bonus = $bonus;
+ $userBonus4->date = date('Y-m-d H:i:s');
+ $userBonus4->date_start = $kogortDate;
+ $userBonus4->date_end = date('Y-m-d', strtotime("+$daysToEnd days", strtotime($kogortDate)));
+ $userBonus4->ip = $ip;
+ $userBonus4->save();
+ if ($userBonus4->getErrors()) {
+ $this->stdout(
+ json_encode($userBonus4->getErrors(), JSON_UNESCAPED_UNICODE) . " " . $key . "\n",
+ BaseConsole::FG_RED
+ );
+ }
}
}
} else {