宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見問題
產品動態(tài)
精選推薦

收銀臺現金收款退款流水重復

管理 管理 編輯 刪除

問題說明:收銀臺現金收款退款財務流水重復扣

修改文件:app\services\store\finance\StoreFinanceFlowServices

修改方法:setFinance()

public function setFinance($order, $type = 1, $price = 0)
    {
        /** @var StoreOrderServices $storeOrderServices */
        $storeOrderServices = app()->make(StoreOrderServices::class);
        switch ($type) {
            case 1 ://商品訂單
                if ($order['store_id'] > 0) {
                    //門店訂單
                    //2.1修改門店流水按照下單支付金額計算,
                    if ($order['type'] == 8) {
                        $order['pay_price'] = $order['total_price'];
                    }
                    $total_price = $order['pay_price'];
                    //支付金額+積分抵扣(由平臺承擔)
                    $total_price = bcadd((string)$total_price, (string)($order['deduction_price'] ?? 0), 2);
                    $append = [
                        'pay_price' => $total_price,
                        'total_price' => $total_price,
                        'rate' => 1
                    ];
                    //支付訂單
                    $this->savaData($order, $total_price, 1, 1, 1);
                    //線下支付、現金支付增加
                    if (in_array($order['pay_type'], [PayServices::OFFLINE_PAY, PayServices::CASH_PAY])) {
                        //交易訂單記錄
                        $this->savaData($order, $order['pay_price'], 0, 2, 1, $append);
                    }
                    $product_type = $storeOrderServices->value(['id' => $order['id']], 'product_type');
                    if (!in_array($product_type, [4, 5, 6])) {
                        //門店訂單
                        $this->savaData($order, $total_price, 1, 2, 1, $append);
                    }
                    [$type, $rate] = $this->getRate(1, (int)$order['shipping_type']);
                    //費率按實付金額計算
                    $total_price = bcmul((string)$order['pay_price'], (string)$this->getPercent($rate), 2);
                    $append['rate'] = $rate;
                    //交易訂單記錄
                    if (!in_array($product_type, [4, 5, 6])) {
                        $this->savaData($order, $total_price, 1, $type, 2, $append);
                        $this->savaData($order, $total_price, 0, 3, 1, $append);
                    }
                } else {
                    $orderList = $storeOrderServices->getSonOrder($order['id'], '*', 1);
                    if ($orderList) {
                        foreach ($orderList as $order) {
                            $total_price = $order['pay_price'];
                            $append = [
                                'pay_price' => $total_price,
                                'total_price' => $total_price,
                                'rate' => 1
                            ];
                            //支付訂單
                            $this->savaData($order, $total_price, 1, 1, 1);
                            //門店訂單
                            $this->savaData($order, $total_price, 1, 2, 1, $append);
                            [$type, $rate] = $this->getRate(1, (int)$order['shipping_type']);
                            //費率按實付金額計算
                            $total_price = bcmul((string)$order['pay_price'], (string)$this->getPercent($rate), 2);
                            $append['rate'] = $rate;
                            //交易訂單記錄
                            $this->savaData($order, $total_price, 1, $type, 2);
                            $this->savaData($order, $total_price, 0, 3, 1, $append);
                        }
                    }
                }
                break;
            case 2://充值訂單
                //充值訂單返點
                [$type, $rate] = $this->getRate(2);
                $order['pay_type'] = $order['recharge_type'];
                $append = [
                    'pay_price' => $order['price'],
                    'total_price' => $order['price'],
                    'rate' => $rate
                ];
                //訂單賬單
                $this->savaData($order, $order['price'], 1, $type, 2, $append);

                //收銀臺充值線下付款記錄一條負記錄
                if (in_array($order['recharge_type'], [PayServices::OFFLINE_PAY, PayServices::CASH_PAY])) {
                    $this->savaData($order, $order['price'], 0, $type, 1, $append);
                }
                //返點
                $pay_price = bcmul($order['price'], $this->getPercent($rate), 2);
                $this->savaData($order, $pay_price, 1, 5, 1, $append);
                break;
            case 3://付費會員訂單
                //購買付費會員返點
                [$type, $rate] = $this->getRate(2);
                $append = [
                    'pay_price' => $order['pay_price'],
                    'total_price' => $order['pay_price'],
                    'rate' => $rate
                ];
                //訂單賬單
                $this->savaData($order, $order['pay_price'], 1, $type, 2, $append);

                //收銀臺充值線下付款記錄一條負記錄
                if (in_array($order['pay_type'], [PayServices::OFFLINE_PAY, PayServices::CASH_PAY])) {
                    $this->savaData($order, $order['pay_price'], 0, $type, 1, $append);
                }
                //返點
                $pay_price = bcmul($order['pay_price'], $this->getPercent($rate), 2);
                $this->savaData($order, $pay_price, 1, 6, 1, $append);
                break;
            case 4://退款
                //取下單流水記錄費率
                $rate = $this->dao->value(['link_id' => $order['order_id'], 'type' => 3, 'trade_type' => 1], 'rate');
                if (!$rate) {
                    //獲取失敗,如果是子訂單;在查詢主訂單
                    if (isset($order['pid']) && $order['pid']) {
                        $order_id = $storeOrderServices->value(['id' => $order['pid']], 'order_id');
                        if ($order_id) $rate = $this->dao->value(['link_id' => $order_id, 'type' => 3, 'trade_type' => 1], 'rate');
                    }
                }
                if (!$rate) {//未獲取到,下單保存費率;獲取系統(tǒng)配置
                    [$type, $rate] = $this->getRate(1, (int)$order['shipping_type']);
                }
                $total_price = bcmul($price, $this->getPercent($rate), 2);
                $append['rate'] = $rate;
                //退款
                //線下支付、現金支付增加
                if (in_array($order['pay_type'], [PayServices::OFFLINE_PAY, PayServices::CASH_PAY])) {
                    //交易訂單記錄
                    $this->savaData($order, $price, 1, 4, 1, $append);
                }
                $product_type = $storeOrderServices->value(['id' => $order['id']], 'product_type');
                //交易訂單記錄
                if (!in_array($product_type, [4, 5, 6])) {
                    $this->savaData($order, $price, 0, 4, 1, $append);
                    $this->savaData($order, $total_price, 1, 3, 1, $append);
                }
                break;
            case 5://充值退款
                //取充值流水記錄費率
                $rate = $this->dao->value(['link_id' => $order['order_id'], 'type' => 5, 'trade_type' => 1], 'rate');
                if (!$rate) {//獲取失敗,取系統(tǒng)配置
                    $rate = sys_config('store_recharge_order_rate');
                }
                $order['pay_type'] = $order['recharge_type'];
                $append = [
                    'pay_price' => $order['price'],
                    'total_price' => $order['price'],
                    'rate' => $rate
                ];
                //訂單賬單
                $this->savaData($order, $price, 0, 4, 2, $append);
                //返點扣除
                $pay_price = bcmul($price, $this->getPercent($rate), 2);
                $this->savaData($order, $pay_price, 0, 5, 1, $append);
                break;
            case 6://配送訂單
                $append = ['pay_price' => $order['cargo_price']];
                $this->savaData($order, $price, 0, 13, 1, $append);
                break;
            case 7://取消配送訂單
                $append = ['pay_price' => $order['cargo_price']];
                $this->savaData($order, $price, 1, 13, 1, $append);
                break;
            case 8://核銷次卡、卡項、預約
                $product_type = $storeOrderServices->value(['id' => $order['id']], 'product_type');
                if (!in_array($product_type, [4, 5, 6])) return true;
                [$type, $rate] = $this->getRate(1, (int)$order['shipping_type']);
                //費率金額計算
                $total_price = bcmul((string)$price, (string)$this->getPercent($rate), 2);
                $append['rate'] = $rate;
                $append = [
                    'pay_price' => $price,
                    'total_price' => $price
                ];
                $this->savaData($order, $price, 1,   14, 1, $append);
                //交易訂單記錄
                $this->savaData($order, $total_price, 1, $type, 2, $append);
                $this->savaData($order, $total_price, 0, 3, 1, $append);
                break;
        }
    }
執(zhí)行sql文件:

ALTER TABLE `eb_store_finance_flow` CHANGE `rate` `rate` DECIMAL(5,2) NOT NULL DEFAULT '0.00' COMMENT '費率';



請登錄后查看

全 最后編輯于2025-05-07 16:04:08

快捷回復
回復
回復
回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
排序 默認正序 回復倒序 點贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無簡介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復' : '回復'}}
刪除
回復
回復

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復' : '回復'}}
刪除
回復
回復
查看更多
打賞
已打賞¥{{reward_price}}
457
{{like_count}}
{{collect_count}}
添加回復 ({{post_count}})

相關推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態(tài) 精選推薦 首頁頭條 首頁動態(tài) 首頁推薦
取 消 確 定
回復
回復
問題:
問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請輸入 0.1-{{reward_max_price}} 范圍內的數值
打賞成功
¥{{price}}
完成 確認打賞

微信登錄/注冊

切換手機號登錄

{{ bind_phone ? '綁定手機' : '手機登錄'}}

{{codeText}}
切換微信登錄/注冊
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服