diff --git a/app/common/logic/task/TaskLogic.php b/app/common/logic/task/TaskLogic.php index 6292aa637..aa414164e 100644 --- a/app/common/logic/task/TaskLogic.php +++ b/app/common/logic/task/TaskLogic.php @@ -1546,12 +1546,13 @@ class TaskLogic extends BaseLogic $taskInfo = Task::where(['id' => $taskSchedulePlan['task_id']])->find(); // 商城商户入驻申请id 与商户已关联 $shopMerchantSettleinLogList= ShopMerchantSettleinLog::where(['town_company_id'=>$townCompany['id']])->select()->toArray(); + // 遍历农科公司区域下的商户,对每个商户进行判定 foreach ($shopMerchantSettleinLogList as $item) { // 第一阶段 从入驻时间累计到第一阶段周期天数 为结算日期 只在截止日当天才结算 $startTime = strtotime(date('Y-m-d', strtotime($item['create_time']))); // 入驻当日 00:00:00 - $endTime = strtotime("{$templateInfo['stage_day_one']} day", $startTime); // $templateInfo['stage_day_one']天后的 00:00:00 + $endTime = strtotime("+{$templateInfo['stage_day_one']} day", $startTime); // $templateInfo['stage_day_one']天后的 00:00:00 if (date('Y-m-d', $endTime) == date('Y-m-d', time())){ // 任务判定 self::judgeTaskMarketingDirector5($templateInfo, $item, $taskSchedulePlan, $startTime, $endTime, 1, $townCompany, $taskInfo); @@ -1560,7 +1561,7 @@ class TaskLogic extends BaseLogic // 第二阶段 从入驻时间累计到第二阶段周期天数 为结算日期 只在截止日当天才结算 $startTime1 = $endTime; // 第一阶段 截止日 00:00:00 $stageDayTwoCount = bcadd($templateInfo['stage_day_one'], $templateInfo['stage_day_two']); - $endTime1 = strtotime("{$stageDayTwoCount} day", $startTime); + $endTime1 = strtotime("+{$stageDayTwoCount} day", $startTime); if (date('Y-m-d', $endTime) == date('Y-m-d', time())){ self::judgeTaskMarketingDirector5($templateInfo, $item, $taskSchedulePlan, $startTime1, $endTime1, 2, $townCompany, $taskInfo); } @@ -1568,7 +1569,7 @@ class TaskLogic extends BaseLogic // 第三阶段 从入驻时间累计到第三阶段周期天数 为结算日期 只在截止日当天才结算 $startTime2 = $endTime1; // 第二阶段 截止日 00:00:00 $stageDayThreeCount = bcadd(bcadd($templateInfo['stage_day_one'], $templateInfo['stage_day_two']), $templateInfo['stage_day_three']); - $endTime2 = strtotime("{$stageDayThreeCount} day", $startTime); + $endTime2 = strtotime("+{$stageDayThreeCount} day", $startTime); if (date('Y-m-d', $endTime) == date('Y-m-d', time())){ self::judgeTaskMarketingDirector5($templateInfo, $item, $taskSchedulePlan, $startTime2, $endTime2, 3, $townCompany, $taskInfo); } @@ -1611,11 +1612,13 @@ class TaskLogic extends BaseLogic 'type'=>300 ]; $result1 = ShopRequestLogic::getTradeAmount($param); - if ($result1['status'] != 200) { + if ($result1['status'] == 200) { + $tradeAmount = $result1['data']['procure_amount']; + } else { Log::info(['4.市场部长-协助供应链商户销售任务-查询商城接口失败', json_encode($result1)]); - return false; + $tradeAmount = 0; } - $tradeAmount = $result1['data']['procure_amount']; + if ($tradeAmount > 0) { // 采购金额 实际完成率 @@ -1627,6 +1630,7 @@ class TaskLogic extends BaseLogic $taskMoney = 0; // 全额完成可获得的总金额 $totalMoney = bcmul(30, bcdiv($templateInfo['money_three'], $templateInfo['extend']['target'], 2), 2); + // 已完成 计算结算金额 if ($step == 1) { $totalMoney = bcmul($templateInfo['stage_day_one'], bcdiv($templateInfo['money'], $templateInfo['extend']['target'], 2), 2); @@ -1644,6 +1648,7 @@ class TaskLogic extends BaseLogic // 计算结算金额 周期天数*(money/目标数)*实际完成率*对应发放比例 $taskMoney= self::countTaskMarketingDirector4TaskMoney($totalMoney, $rate); } + $taskInfo['money'] = $taskMoney; Log::info(['5.市场部长-供应链商户完成商品销售任务-$taskSchedulePlan', json_encode($taskSchedulePlan)]); (new TownShareProfit())->dealTaskSettlementMarketingDirector5($taskInfo, $townCompany, $taskSchedulePlan);