70 lines
3.0 KiB
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();
|
|
}
|
|
|
|
|
|
} |