StatOutClass.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. // 当采购后台,将价格更新,若无则新增 ps 总支出金额暂不累计
  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. }