jh-admin/addon/commission/event/OrderClose.php

70 lines
3.0 KiB
PHP

<?php
/**
* SaaSMall商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 成都SAAS云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.gobuysaas.com
* =========================================================
*/
namespace addon\commission\event;
use addon\commission\model\Legumes;
use app\model\NewBaseModel;
use think\Exception;
class OrderClose{
// 订单自动关闭
public function handle($params){
// trace($params, '平台抽成 - 订单关闭');
try{
$orderId = $params['order_id'] ?? 0;
$siteId = $params['order_id'] ?? 0;
$useLegumesIntegral = $params['legumes_integral_use'] ?? 0;
$memberId = $params['member_id'] ?? 0;
if($useLegumesIntegral > 0 && $memberId > 0){
// 获取退回的记录列表
$useLegumesLogList = (new Legumes())->getUsedList((int)$memberId,(float)$useLegumesIntegral);
// 循环处理
$returnComputeIntegral = $useLegumesIntegral;// 计算用 退回积分
$updateData = [];
foreach($useLegumesLogList as $logInfo){
// 当前分配信息可退回积分 剩余可退回积分
$reduce = $returnComputeIntegral < $logInfo['use_integral'] ? $returnComputeIntegral : $logInfo['use_integral'];
$returnComputeIntegral = (float)sprintf("%.2f",$returnComputeIntegral - $reduce);
$updateData[] = [
'id' => $logInfo['id'],
'use_integral' => (float)sprintf("%.2f",$logInfo['use_integral'] - $reduce)
];
if($returnComputeIntegral <= 0) break;
}
if($updateData){
// 修改
$goodsSkuModel = (new NewBaseModel(['table_name' => 'commission_legumes_log', 'pk' => 'id']));
$goodsSkuModel->saveAll($updateData);
// 添加用户账单信息变更记录
$mark = '订单关闭 - 退回使用积分:'.$useLegumesIntegral;
model('commission_account')->add([
'site_id' => $siteId,
'member_id' => $memberId,
'join_id' => $orderId,
'account_type' => 'close_legumes_integral',
'account_type_name' => '积分退回',
'account_data' => $useLegumesIntegral,
'status' => 2,
'remark' => $mark,
]);
}
}
}catch(Exception $e){
trace($e->getMessage(), '平台抽成 - 订单关闭 - 错误');
}
return success();
}
}