Punkte: Dezimalpunkte in Einmalprodukten, Homeparty und Shop-API nicht mehr abschneiden

Produkte mit 7,5 Punkten wurden an drei Stellen zu ganzen Zahlen:
user_abo_one_time_items (PHP-Cast int, 7,5 -> 7), homeparty_user_order_items
(MySQL rundete auf 8) und shopping_collect_orders (Summe der Shop-API).
Die Migration zieht die drei Spalten auf DECIMAL(10,2) nach (Nachtrag zu
2026_01_22), Cast und Abo-Snapshot rechnen mit float.

points:report-decimal-diff wertet die Differenzen je Berater und Monat aus
(nur lesend), points:repair-decimal korrigiert den laufenden Monat und
zieht die Monatssummen nach.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin 2026-09-23 15:42:27 +00:00
parent e009b11259
commit a21bebc932
15 changed files with 1539 additions and 9 deletions

View file

@ -21,7 +21,7 @@ use Illuminate\Database\Eloquent\Model;
* @property float $price
* @property float $price_net
* @property float $tax_rate
* @property int $points
* @property float $points
* @property float $margin
* @property float $ek_price
* @property string $slug

View file

@ -94,7 +94,7 @@ use Illuminate\Support\Carbon;
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Product whereShowAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Product whereWeight($value)
*
* @property int|null $points
* @property float|null $points
* @property-read Collection|ProductImage[] $imagesActive
* @property-read int|null $images_active_count
*

View file

@ -24,7 +24,7 @@ use Illuminate\Database\Eloquent\Model;
* @property float|null $price_total
* @property float|null $tax_total
* @property int $qty_total
* @property int|null $points
* @property float|null $points
* @property string|null $tax_split
* @property AsArrayObject|null $orders
* @property AsArrayObject|null $shop_items

View file

@ -59,7 +59,7 @@ use Illuminate\Support\Carbon;
* @property string|null $tax
* @property string|null $price_vk_net
* @property string|null $discount
* @property int|null $points
* @property float|null $points
*
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrderItem whereDiscount($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrderItem wherePoints($value)

View file

@ -29,7 +29,7 @@ use Illuminate\Support\Carbon;
* @property float|null $tax
* @property float|null $price_vk_net
* @property float|null $discount
* @property int|null $points
* @property float|null $points
* @property int $status
* @property-read Product $product
* @property-read UserAbo $user_abo
@ -54,7 +54,7 @@ class UserAboOneTimeItem extends Model
'tax' => 'float',
'price_vk_net' => 'float',
'discount' => 'float',
'points' => 'int',
'points' => 'float',
'status' => 'int',
];