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($info, $params, $date = null)
  9. {
  10. $mainId = $info['mainId'] ?? 0;
  11. $itemId = $info['productId'] ?? 0;
  12. $ptItemId = $info['itemId'] ?? 0;
  13. //预订单只会有大单位
  14. $num = $info['xhNum'] ?? 0;
  15. $name = $info['name'] ?? '';
  16. $sendTimeWant = $params['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. }