From ee78dc4a7df3f40fc119635962706567b62de505 Mon Sep 17 00:00:00 2001 From: chenbo <709206448@qq.com> Date: Tue, 7 Nov 2023 18:42:24 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BB=BB=E5=8A=A13=E7=BB=93=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/logic/task/TaskLogic.php | 95 +++++++++++------------------ 1 file changed, 37 insertions(+), 58 deletions(-) diff --git a/app/common/logic/task/TaskLogic.php b/app/common/logic/task/TaskLogic.php index e57dd69ca..6e25e3837 100644 --- a/app/common/logic/task/TaskLogic.php +++ b/app/common/logic/task/TaskLogic.php @@ -846,37 +846,10 @@ class TaskLogic extends BaseLogic // 任务累计天数 大于 第一阶段 小于第一+第二阶段 判断交易任务是否完成,完成则结算,否则关闭任务 if ($dayCount > $taskTemplateInfo['stage_day_one'] && $dayCount < $stageDayTwoCount) { - // 查询收集到的用户在商城的交易金额(前置条件:信息收集中的手机号注册商城并交易) - $phoneList = []; - foreach ($purchaseSalesInfo['planting'] as $item) { - $phoneList[] = $item['phone']; - } - foreach ($purchaseSalesInfo['supply'] as $item) { - $phoneList[] = $item['shopkeeperPhone']; - } - $param = [ - 'start_time' => strtotime(date('Y-m-d', time())), - 'end_time' => strtotime(date('Y-m-d', time())) + 86399, - 'phone' => implode(',', $phoneList) - ]; - $result = ShopRequestLogic::getUserTradeAmount($param); // todo 对接接口 - $tradeAmount = $result['data']['trade_amount']; - - $totalAmount = bcadd($tradeAmount, $townTransactionPool, 2); // 总的交易金额 = 当日交易额 + 累计交易池 - $purchaseSalesInfo = $taskTemplateInfo['extend']['purchase_sales_info']; $purchaseSalesCount = bcadd(count($purchaseSalesInfo['planting']), count($purchaseSalesInfo['supply'])); - // 目标金额 = 274 * 收集用户数 - $targetTradeAmount = bcmul($purchaseSalesCount, 274, 2); - - // 完成条件: 交易金额 >= 目标金额 - if (bccomp($totalAmount, $targetTradeAmount, 2) ==0 || bccomp($totalAmount, $targetTradeAmount, 2) ==1) { - $taskInfo['money'] = bcdiv($taskTemplateInfo['money_two'], 2, 2); - $leftTransactionPool = bcsub($totalAmount, $targetTradeAmount, 2); - (new TownShareProfit())->dealTaskSettlementMaster3($taskInfo, $townCompany, $taskSchedulePlan, $leftTransactionPool); - } else { - (new Task())->closeTask($taskSchedulePlan['task_id']); - } + // 判断交易任务是否完成 + self::judgeMasterTask3Trade($taskTemplateInfo, $townCompany, $taskSchedulePlan, $purchaseSalesInfo, $townTransactionPool, $purchaseSalesCount); } // 任务累计天数 = 第一+第二阶段 判断信息收集和交易任务是否完成,完成则结算,否则关闭任务 @@ -891,37 +864,43 @@ class TaskLogic extends BaseLogic // 任务累计天数 大于 第一+第二阶段 每日结算 判断交易任务是否完成,完成则结算,否则关闭任务 if ($dayCount >= $stageDayTwoCount) { - // 查询收集到的用户在商城的交易金额(前置条件:信息收集中的手机号注册商城并交易) - $phoneList = []; - foreach ($purchaseSalesInfo['planting'] as $item) { - $phoneList[] = $item['phone']; - } - foreach ($purchaseSalesInfo['supply'] as $item) { - $phoneList[] = $item['shopkeeperPhone']; - } - $param = [ - 'start_time' => strtotime(date('Y-m-d', time())), - 'end_time' => strtotime(date('Y-m-d', time())) + 86399, - 'phone' => implode(',', $phoneList) - ]; - $result = ShopRequestLogic::getUserTradeAmount($param); // todo 对接接口 - $tradeAmount = $result['data']['trade_amount']; - - $totalAmount = bcadd($tradeAmount, $townTransactionPool, 2); // 总的交易金额 = 当日交易额 + 累计交易池 - - // 目标金额 = 274 * 总目标数 - $targetTradeAmount = bcmul($target, 274, 2); - - // 完成条件: 交易金额 >= 目标金额 - if (bccomp($totalAmount, $targetTradeAmount, 2) ==0 || bccomp($totalAmount, $targetTradeAmount, 2) ==1) { - $taskInfo['money'] = bcdiv($taskTemplateInfo['money_two'], 2, 2); - $leftTransactionPool = bcsub($totalAmount, $targetTradeAmount, 2); - (new TownShareProfit())->dealTaskSettlementMaster3($taskInfo, $townCompany, $taskSchedulePlan, $leftTransactionPool); - } else { - (new Task())->closeTask($taskSchedulePlan['task_id']); - } + // 判断交易任务是否完成 + self::judgeMasterTask3Trade($taskTemplateInfo, $townCompany, $taskSchedulePlan, $purchaseSalesInfo, $townTransactionPool, $target); } + } + private static function judgeMasterTask3Trade($taskTemplateInfo, $townCompany, $taskSchedulePlan, $purchaseSalesInfo, $townTransactionPool, $target) + { + // 查询收集到的用户在商城的交易金额(前置条件:信息收集中的手机号注册商城并交易) + $phoneList = []; + foreach ($purchaseSalesInfo['planting'] as $item) { + $phoneList[] = $item['phone']; + } + foreach ($purchaseSalesInfo['supply'] as $item) { + $phoneList[] = $item['shopkeeperPhone']; + } + $param = [ + 'start_time' => strtotime(date('Y-m-d', time())), + 'end_time' => strtotime(date('Y-m-d', time())) + 86399, + 'phone' => implode(',', $phoneList) + ]; + $result = ShopRequestLogic::getUserTradeAmount($param); // todo 对接接口 + $tradeAmount = $result['data']['trade_amount']; + + $totalAmount = bcadd($tradeAmount, $townTransactionPool, 2); // 总的交易金额 = 当日交易额 + 累计交易池 + + + // 目标金额 = 274 * 收集用户数 + $targetTradeAmount = bcmul($target, 274, 2); + + // 完成条件: 交易金额 >= 目标金额 + if (bccomp($totalAmount, $targetTradeAmount, 2) ==0 || bccomp($totalAmount, $targetTradeAmount, 2) ==1) { + $taskInfo['money'] = bcdiv($taskTemplateInfo['money_two'], 2, 2); + $leftTransactionPool = bcsub($totalAmount, $targetTradeAmount, 2); + (new TownShareProfit())->dealTaskSettlementMaster3($taskInfo, $townCompany, $taskSchedulePlan, $leftTransactionPool); + } else { + (new Task())->closeTask($taskSchedulePlan['task_id']); + } } /**