|
|
@@ -0,0 +1,64 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace biz\stat\classes;
|
|
|
+
|
|
|
+use biz\base\classes\BaseClass;
|
|
|
+use biz\stat\models\StatCg;
|
|
|
+use common\components\dict;
|
|
|
+use common\components\util;
|
|
|
+
|
|
|
+class StatKdClass extends BaseClass
|
|
|
+{
|
|
|
+
|
|
|
+ public static $baseFile = '\biz\stat\models\StatKd';
|
|
|
+
|
|
|
+ //每日花材统计 shish 2021012
|
|
|
+ public static function replace($shop, $amount, $payWay, $date = null)
|
|
|
+ {
|
|
|
+ $sjId = $shop->sjId ?? 0;
|
|
|
+ $shopId = $shop->id ?? 0;
|
|
|
+ $time = $date == null ? date('Ymd') : $date;
|
|
|
+ $stat = self::getByCondition(['sjId' => $sjId, 'shopId' => $shopId, 'time' => $time], true);
|
|
|
+ if (empty($stat)) {
|
|
|
+ $stat = self::add(['shopId' => $shopId, 'sjId' => $sjId, 'time' => $time], true);
|
|
|
+ }
|
|
|
+ $id = $stat->id;
|
|
|
+ $unique = self::getLockById($id);
|
|
|
+
|
|
|
+ $currentAmount = bcadd($unique->amount, $amount, 2);
|
|
|
+ $unique->amount = $currentAmount;
|
|
|
+
|
|
|
+ $payWayMap = dict::getDict('payWay');
|
|
|
+ switch ($payWay) {
|
|
|
+ case $payWayMap['wxPay']:
|
|
|
+ $currentWx = bcadd($unique->wx, $amount, 2);
|
|
|
+ $unique->wx = $currentWx;
|
|
|
+ break;
|
|
|
+ case $payWayMap['alipay']:
|
|
|
+ $currentAliPay = bcadd($unique->alipay, $amount, 2);
|
|
|
+ $unique->alipay = $currentAliPay;
|
|
|
+ break;
|
|
|
+ case $payWayMap['balancePay']:
|
|
|
+ $currentBalance = bcadd($unique->balance, $amount, 2);
|
|
|
+ $unique->balance = $currentBalance;
|
|
|
+ break;
|
|
|
+ case $payWayMap['debtPay']:
|
|
|
+ $currentDebt = bcadd($unique->debt, $amount, 2);
|
|
|
+ $unique->debt = $currentDebt;
|
|
|
+ break;
|
|
|
+ case $payWayMap['cash']:
|
|
|
+ $currentCash = bcadd($unique->cash, $amount, 2);
|
|
|
+ $unique->cash = $currentCash;
|
|
|
+ break;
|
|
|
+ case $payWayMap['bankCard']:
|
|
|
+ $currentBank = bcadd($unique->bank, $amount, 2);
|
|
|
+ $unique->bank = $currentBank;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ }
|
|
|
+
|
|
|
+ $unique->save();
|
|
|
+ StatKdMonthClass::replace($shop, $amount, $payWay, $time);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|