StatPdAddMonthClass.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace biz\stat\classes;
  3. use biz\base\classes\BaseClass;
  4. use common\components\util;
  5. class StatPdAddMonthClass extends BaseClass
  6. {
  7. public static $baseFile = '\biz\stat\models\StatPdAddMonth';
  8. //每月盘盈统计 shish 20210827
  9. public static function replace($shop, $amount, $date = null)
  10. {
  11. if ($date == null) {
  12. $time = date('Ym');
  13. $year = date('Y');
  14. $month = date('m');
  15. } else {
  16. $timestamp = strtotime($date);
  17. $time = date('Ym', $timestamp);
  18. $year = date('Y', $timestamp);
  19. $month = date('m', $timestamp);
  20. }
  21. $sjId = $shop->sjId;
  22. $shopId = $shop->id;
  23. $stat = self::getByCondition(['sjId' => $sjId, 'shopId' => $shopId, 'time' => $time], true);
  24. if (empty($stat)) {
  25. $stat = self::add(['shopId' => $shopId, 'sjId' => $sjId, 'time' => $time, 'year' => $year, 'month' => $month, 'num' => 1], true);
  26. }
  27. $id = $stat->id;
  28. $unique = self::getLockById($id);
  29. $currentAmount = bcadd($unique->amount, $amount, 2);
  30. $unique->amount = $currentAmount;
  31. $unique->totalAmount = $shop->totalPdAdd;
  32. $unique->num += 1;
  33. $unique->save();
  34. }
  35. }