全部
常见问题
产品动态
精选推荐
功能建议

已处理 待处理 {{opt.name}}
已处理 待处理
分析中 已回复 待规划 {{opt.name}}
分析中 已回复 待规划
退款时佣金核算疑点

管理 管理 编辑 删除

在这里,如果$bill->status==1 的话,退款佣金如何核算?是不是少了这种情况呢?

public function descBrokerage(StoreRefundOrder $refundOrder)

   {

       // 获取用户账单仓库和用户仓库实例

       $userBillRepository = app()->make(UserBillRepository::class);

       $userRepository = app()->make(UserRepository::class);


       // 处理一级佣金退款

       if ($refundOrder['extension_one'] > 0) {

           // 根据订单ID查询一级佣金账单

           $bill = $userBillRepository->getWhere(['category' => 'brokerage', 'type' => 'order_one', 'link_id' => $refundOrder->order_id]);

           // 减少订单中的一级佣金金额

           $refundOrder->order->extension_one = bcsub($refundOrder->order->extension_one, $refundOrder['extension_one'], 2);

           // 如果账单存在且状态不是已退款,则执行佣金扣除操作

           $title = $refundOrder->order->activity_type == 4 ? '团员退款' : '用户退款';

           if ($bill && $bill->status != 1) {

               $userRepository->incBrokerage($bill->uid, $refundOrder['extension_one'], '-');

               $userBillRepository->decBill($bill->uid, 'brokerage', 'refund_one', [

                   'link_id' => $refundOrder->order_id,

                   'status' => 1,

                   'title' => $title,

                   'number' => $refundOrder['extension_one'],

                   'mark' => $title.'扣除推广佣金' . floatval($refundOrder['extension_one']),

                   'balance' => 0

               ]);

           }

           // 如果账单不存在或状态是已退款,则记录一条财务记录,表示一级佣金的退还

           if (!$bill || $bill->status != 1) {

               app()->make(FinancialRecordRepository::class)->inc([

                   'order_id' => $refundOrder->refund_order_id,

                   'order_sn' => $refundOrder->refund_order_sn,

                   'user_info' => $bill ? $userRepository->getUsername($bill->uid) : '退还一级佣金',

                   'user_id' => $bill ? $bill->uid : 0,

                   'type' => 1,

                   'financial_type' => 'refund_brokerage_one',

                   'number' => $refundOrder['extension_one'],

               ], $refundOrder->mer_id);

           }

       }


       // 处理二级佣金退款

       if ($refundOrder['extension_two'] > 0) {

           // 根据订单ID查询二级佣金账单

           $bill = $userBillRepository->getWhere(['category' => 'brokerage', 'type' => 'order_two', 'link_id' => $refundOrder->order_id]);

           // 减少订单中的二级佣金金额

           $refundOrder->order->extension_two = bcsub($refundOrder->order->extension_two, $refundOrder['extension_two'], 2);

           // 如果账单存在且状态不是已退款,则执行佣金扣除操作

           if ($bill && $bill->status != 1) {

               $userRepository->incBrokerage($bill->uid, $refundOrder['extension_two'], '-');

               $userBillRepository->decBill($bill->uid, 'brokerage', 'refund_two', [

                   'link_id' => $refundOrder->order_id,

                   'status' => 1,

                   'title' => '用户退款',

                   'number' => $refundOrder['extension_two'],

                   'mark' => '用户退款扣除推广佣金' . floatval($refundOrder['extension_two']),

                   'balance' => 0

               ]);

           }

           // 如果账单不存在或状态是已退款,则记录一条财务记录,表示二级佣金的退还

           if (!$bill || $bill->status != 1) {

               app()->make(FinancialRecordRepository::class)->inc([

                   'order_id' => $refundOrder->refund_order_id,

                   'order_sn' => $refundOrder->refund_order_sn,

                   'user_info' => $bill ? $userRepository->getUsername($bill->uid) : '退还二级佣金',

                   'user_id' => $bill ? $bill->uid : 0,

                   'type' => 1,

                   'financial_type' => 'refund_brokerage_two',

                   'number' => $refundOrder['extension_two'],

               ], $refundOrder->mer_id);

           }

       }


       // 保存更新后的订单信息

       $refundOrder->order->save();

   }

{{voteData.voteSum}} 人已参与
支持
反对
请登录后查看

大道 最后编辑于2026-09-10 11:37:50

快捷回复
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

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

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}} 【已收集】
{{item.floor}}# 沙发 板凳 地板 {{item.floor}}# 【已收集】
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
分享
{{item.showReply ? '取消回复' : '回复'}}
删除
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}

{{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 ? '取消回复' : '回复'}}
删除
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}
收起 展开更多
查看更多
打赏
已打赏¥{{reward_price}}
27
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

{{ wechatLoginError }}
切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服
CRMEB咨询热线 400-8888-794

扫码领取产品资料

功能清单
思维导图
安装教程
CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服