StatKdClass.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace biz\stat\classes;
  3. use biz\base\classes\BaseClass;
  4. use biz\stat\models\StatCg;
  5. use common\components\dict;
  6. use common\components\util;
  7. class StatKdClass extends BaseClass
  8. {
  9. public static $baseFile = '\biz\stat\models\StatKd';
  10. //每日花材统计 ssh 2021012
  11. public static function replace($shop, $amount, $payWay, $date = null)
  12. {
  13. $mainId = $shop->mainId ?? 0;
  14. $time = $date == null ? date('Ymd') : $date;
  15. $stat = self::getByCondition(['mainId' => $mainId, 'time' => $time], true);
  16. if (empty($stat)) {
  17. $stat = self::add(['mainId' => $mainId, 'time' => $time], true);
  18. }
  19. $id = $stat->id;
  20. $unique = self::getLockById($id);
  21. $currentAmount = bcadd($unique->amount, $amount, 2);
  22. $unique->amount = $currentAmount;
  23. $payWayMap = dict::getDict('payWay');
  24. switch ($payWay) {
  25. case $payWayMap['wxPay']:
  26. $currentWx = bcadd($unique->wx, $amount, 2);
  27. $unique->wx = $currentWx;
  28. break;
  29. case $payWayMap['alipay']:
  30. $currentAliPay = bcadd($unique->alipay, $amount, 2);
  31. $unique->alipay = $currentAliPay;
  32. break;
  33. case $payWayMap['balancePay']:
  34. $currentBalance = bcadd($unique->balance, $amount, 2);
  35. $unique->balance = $currentBalance;
  36. break;
  37. case $payWayMap['debtPay']:
  38. $currentDebt = bcadd($unique->debt, $amount, 2);
  39. $unique->debt = $currentDebt;
  40. break;
  41. case $payWayMap['cash']:
  42. $currentCash = bcadd($unique->cash, $amount, 2);
  43. $unique->cash = $currentCash;
  44. break;
  45. case $payWayMap['bankCard']:
  46. $currentBank = bcadd($unique->bank, $amount, 2);
  47. $unique->bank = $currentBank;
  48. break;
  49. default:
  50. }
  51. $unique->save();
  52. StatKdMonthClass::replace($shop, $amount, $payWay, $time);
  53. }
  54. }