StatBookClass.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace biz\stat\classes;
  3. use biz\base\classes\BaseClass;
  4. class StatBookClass extends BaseClass
  5. {
  6. public static $baseFile = '\biz\stat\models\StatBook';
  7. //预订单统计 ssh 20220402
  8. public static function bookOrderAdd($item, $order, $date = null)
  9. {
  10. $mainId = $order->mainId ?? 0;
  11. $itemId = $item->productId ?? 0;
  12. $ptItemId = $item->itemId ?? 0;
  13. //预订单只会有大单位
  14. $num = $item->xhNum ?? 0;
  15. $name = $item->name ?? '';
  16. $sendTimeWant = $order->sendTimeWant ?? '';
  17. if (empty($date) && !empty($sendTimeWant)) {
  18. $date = date("Ymd", strtotime($sendTimeWant));
  19. }
  20. $time = $date == null ? date('Ymd') : $date;
  21. $stat = self::getByCondition(['mainId' => $mainId, 'itemId' => $itemId, 'time' => $time], true);
  22. if (empty($stat)) {
  23. $stat = self::add(['mainId' => $mainId, 'itemId' => $itemId, 'time' => $time, 'ptItemId' => $ptItemId, 'name' => $name], true);
  24. }
  25. $id = $stat->id;
  26. $unique = self::getLockById($id);
  27. $currentNum = bcadd($unique->num, $num, 2);
  28. $unique->num = $currentNum;
  29. $unique->save();
  30. }
  31. }