StatOutClass.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /**
  3. * User: admin
  4. * Date Time: 2021/4/13 21:37
  5. */
  6. namespace biz\stat\classes;
  7. use biz\base\classes\BaseClass;
  8. class StatOutClass extends BaseClass
  9. {
  10. public static $baseFile = '\biz\stat\models\StatOut';
  11. //更新当前商家的数据 linqh 2021.4.13
  12. // 当采购后台,将价格更新
  13. public static function updateOrInsert($sjId, $shopId, $amount)
  14. {
  15. $time = date('Ymd');
  16. $where = [
  17. 'merchantId' => $sjId,
  18. 'shopId' => $shopId,
  19. 'time' => $time,
  20. ];
  21. $model = self::getByCondition($where);
  22. if ($model) {
  23. $id = $model['id'];
  24. //累加金额 amount
  25. $newAmount = bcadd($amount, $model['amount'], 2);
  26. $totalAmount = bcadd($amount, $model['totalAmount'], 2);
  27. self::updateById($id, ['amount' => $newAmount, 'totalAmount' => $totalAmount]);
  28. } else {
  29. //insert
  30. $data = $where;
  31. $data['amount'] = $amount;
  32. //totalAmount = 前一天的 totalAmount
  33. $totalAmount = 0;
  34. $lastDate = date('Ymd', strtotime("-1 day"));
  35. $lastWhere = [
  36. 'merchantId' => $sjId,
  37. 'shopId' => $shopId,
  38. 'time' => $lastDate,
  39. ];
  40. $lastModel = self::getByCondition($lastWhere);
  41. if ($lastModel) {
  42. $totalAmount = $lastModel['totalAmount'];
  43. }
  44. $data['totalAmount'] = bcadd($amount, $totalAmount, 2);
  45. $data['createTime'] = date('Y-m-d H:i:s');
  46. self::add($data);
  47. }
  48. //当月
  49. StatOutMonthClass::updateOrInsert($sjId, $shopId, $amount);
  50. }
  51. }