StatPdSubClass.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace biz\stat\classes;
  3. use biz\base\classes\BaseClass;
  4. class StatPdSubClass extends BaseClass
  5. {
  6. public static $baseFile = '\biz\stat\models\StatPdSub';
  7. //盘亏统计 shish 20210827
  8. public static function replace($shop, $amount, $date = null)
  9. {
  10. $sjId = $shop->sjId ?? 0;
  11. $shopId = $shop->id ?? 0;
  12. if ($date == null) {
  13. $time = date('Ymd');
  14. } else {
  15. $time = $date;
  16. }
  17. $stat = self::getByCondition(['sjId' => $sjId, 'shopId' => $shopId, 'time' => $time], true);
  18. if (empty($stat)) {
  19. $stat = self::add(['shopId' => $shopId, 'sjId' => $sjId, 'time' => $time, 'num' => 0], true);
  20. }
  21. $id = $stat->id;
  22. $unique = self::getLockById($id);
  23. $currentAmount = bcadd($unique->amount, $amount, 2);
  24. $unique->amount = $currentAmount;
  25. $unique->totalAmount = $shop->totalPdSub;
  26. $unique->num += 1;
  27. $unique->save();
  28. StatPdSubMonthClass::replace($shop, $amount, $time);
  29. }
  30. }