if ($usersBonusMinus) {
$usersBonusPlus = UsersBonus::find()->where(['tip' => 'plus', 'check_id' => $sale->id])->one();
if (!$usersBonusPlus) {
- $addPlus[] = [$sale->phone, $sale->summ];
+ $bonus = floor($sale->summ * 0.1);
+ $usersBonusNear = UsersBonus::find()->where(['tip' => 'plus', 'check_id' => null])
+ ->andWhere(['>=', 'date', '2024-05-30 21:28:00'])
+ ->andWhere(['between', 'bonus', $bonus - 1, $bonus + 1])->one();
+ if (!$usersBonusNear) {
+ $addPlus[] = [$sale->phone, $sale->summ];
+ }
}
}
}
if ($usersBonusMinus) {
$usersBonusPlus = UsersBonus::find()->where(['tip' => 'plus', 'check_id' => $sale->id])->one();
if (!$usersBonusPlus) {
- $userBonus = new UsersBonus;
- $userBonus->phone = strval($sale->phone);
- $userBonus->name = "Возврат с покупки 10%. Чек " . $sale->number . " от "
- . date("d.m.Y H:i:s", strtotime($sale->date)) . ". Сумма чека " . $sale->summ;
- $userBonus->date = date('Y-m-d H:i:s');
- $userBonus->site_id = 1;
- $userBonus->setka_id = 1;
- $userBonus->tip = 'plus';
- $userBonus->tip_sale = 'sale';
- $userBonus->bonus = floor($sale->summ * 0.1);
- $userBonus->date_start = $userBonus->date;
- $userBonus->date_end = date('Y-m-d H:i:s', strtotime('+366 day', strtotime($userBonus->date)));
- $userBonus->save();
+ $bonus = floor($sale->summ * 0.1);
+ $usersBonusNear = UsersBonus::find()->where(['tip' => 'plus', 'check_id' => null])
+ ->andWhere(['>=', 'date', '2024-05-30 21:28:00'])
+ ->andWhere(['between', 'bonus', $bonus - 1, $bonus + 1])->one();
+ if (!$usersBonusNear) {
+ $userBonus = new UsersBonus;
+ $userBonus->phone = strval($sale->phone);
+ $userBonus->name = "Возврат с покупки 10%. Чек " . $sale->number . " от "
+ . date("d.m.Y H:i:s", strtotime($sale->date)) . ". Сумма чека " . $sale->summ;
+ $userBonus->date = date('Y-m-d H:i:s');
+ $userBonus->site_id = 1;
+ $userBonus->setka_id = 1;
+ $userBonus->tip = 'plus';
+ $userBonus->tip_sale = 'sale';
+ $userBonus->bonus = floor($sale->summ * 0.1);
+ $userBonus->date_start = $userBonus->date;
+ $userBonus->date_end = date('Y-m-d H:i:s', strtotime('+366 day', strtotime($userBonus->date)));
+ $userBonus->save();
+ }
}
}
}