最近在使用CRMEB的多门店系统的时候,运营反馈供应商端登录账号,进行订单退款的时候有bug,就是不管供应商那个账号登录系统进行订单操作的时候,订单记录里面显示的操作人都是平台的信息,于是进行技术层面代码的核查,最后发现多门店系统从V3.5版本开始一直到V4.1版本供应商端操作记录都是错误的。
具体错误代码文件:
app\services\order\StoreOrderStatusServices.php
该文件下的130行位置如下代码错误
case 'supplier':
/** @var SystemAdminServices $systemAdminServices */
$systemAdminServices = app()->make(SystemAdminServices::class);
$supplierInfo = $systemAdminServices->get($changeManagerId, ['id', 'real_name']);
if ($supplierInfo) {
$statusData['change_manager'] = $supplierInfo['real_name'] ?? '供应商管理员操作';
}
break;
由代码可以看出明明是supplier端的记录查询,使用的却是systemAdminServices 很明显的错误,需要把以上代码修改为
// 正确代码
case 'supplier':
$supplierServices = app()->make(SystemSupplierServices::class);
$supplierInfo = $supplierServices->get($changeManagerId,['id', 'supplier_name']);
if ($supplierInfo) {
$statusData['change_manager'] = $supplierInfo['supplier_name'] ?? '供应商管理员操作';
}
break;经过以上修改后,订单操作记录就正常了。
希望官方下个版本能够修复。
个人建议:请官方增加测试人力的投入,现在版本发行速度比起3年前是快了不止一倍,但是bug数量太多了,没有一点技术能力这系统用着真是不放心。望采纳建议

