sjId ?? 0; $shopId = $order->shopId ?? 0; $productId = $info->productId ?? 0; $stat = self::getByCondition(['sjId' => $sjId, 'shopId' => $shopId, 'itemId' => $productId, 'time' => $time], true); if (empty($stat)) { $stat = self::add(['shopId' => $shopId, 'sjId' => $sjId, 'itemId' => $productId, 'time' => $time, 'year' => $year, 'month' => $month], true); } $id = $stat->id; $unique = self::getLockById($id); $currentNum = bcadd($unique->refundNum, $num, 2); $unique->refundNum = $currentNum; $unique->save(); } //每月花材统计 ssh 20211012 public static function replace($item, $date = null) { if ($date == null) { $time = date('Ym'); $year = date('Y'); $month = date('m'); } else { $timestamp = strtotime($date); $time = date('Ym', $timestamp); $year = date('Y', $timestamp); $month = date('m', $timestamp); } $sjId = $item['sjId'] ?? 0; $mainId = $item['mainId'] ?? 0; $itemId = $item['itemId'] ?? 0; $stat = self::getByCondition(['sjId' => $sjId, 'mainId' => $mainId, 'itemId' => $itemId, 'time' => $time], true); if (empty($stat)) { $stat = self::add(['mainId' => $mainId, 'sjId' => $sjId, 'itemId' => $itemId, 'time' => $time, 'year' => $year, 'month' => $month], true); } $id = $stat->id; $unique = self::getLockById($id); $amount = $item['price'] ?? 0; $num = $item['num'] ?? 0; $currentNum = bcadd($unique->num, $num, 2); $unique->num = $currentNum; $currentAmount = bcadd($unique->amount, $amount, 2); $unique->amount = $currentAmount; $unique->save(); } //退款花材 public static function refundReplace($item, $date = null) { if ($date == null) { $time = date('Ym'); $year = date('Y'); $month = date('m'); } else { $timestamp = strtotime($date); $time = date('Ym', $timestamp); $year = date('Y', $timestamp); $month = date('m', $timestamp); } $sjId = $item['sjId'] ?? 0; $shopId = $item['shopId'] ?? 0; $productId = $item['productId'] ?? 0; $stat = self::getByCondition(['sjId' => $sjId, 'shopId' => $shopId, 'itemId' => $productId, 'time' => $time], true); if (empty($stat)) { $stat = self::add(['shopId' => $shopId, 'sjId' => $sjId, 'itemId' => $productId, 'time' => $time, 'year' => $year, 'month' => $month], true); } $id = $stat->id; $unique = self::getLockById($id); $num = $item['itemNum'] ?? 0; $unitePrice = $item['itemPrice'] ?? 0; $price = bcmul($unitePrice, $num, 2); $currentRefundNum = bcadd($unique->refundNum, $num, 2); $currentRefundAmount = bcadd($unique->refundAmount, $price, 2); $unique->refundNum = $currentRefundNum; $unique->refundAmount = $currentRefundAmount; $unique->save(); } }