This commit is contained in:
chenbo 2023-10-24 14:26:19 +08:00
parent f7dc74b3fc
commit 02f1b63096

View File

@ -657,58 +657,63 @@ class TaskLogic extends BaseLogic
*/ */
private static function marketingManagerTaskSettlement($taskSchedulePlan) private static function marketingManagerTaskSettlement($taskSchedulePlan)
{ {
$taskTemplateInfo = $taskSchedulePlan['template_info']; try {
// 任务类型用的数据字典主键id将id和value作映射避免测试和正式环境数据字典数据不一致时出问题 $taskTemplateInfo = $taskSchedulePlan['template_info'];
$townTaskTypeList = DictData::where(['type_value' => 'town_task_type_marketing_director', 'status' => 1])->column('value', 'id'); // 任务类型用的数据字典主键id将id和value作映射避免测试和正式环境数据字典数据不一致时出问题
switch ($townTaskTypeList[$taskTemplateInfo['type']]){ $townTaskTypeList = DictData::where(['type_value' => 'town_task_type_marketing_director', 'status' => 1])->column('value', 'id');
// 协助总负责人开展工作 switch ($townTaskTypeList[$taskTemplateInfo['type']]){
case 'town_task_type_marketing_director_1': // 协助总负责人开展工作
self::dealTaskMarketingDirector1($taskSchedulePlan); case 'town_task_type_marketing_director_1':
break; self::dealTaskMarketingDirector1($taskSchedulePlan);
// 招驻供应链商户 break;
case 'town_task_type_marketing_director_2': // 招驻供应链商户
self::dealTaskMarketingDirector2($taskSchedulePlan); case 'town_task_type_marketing_director_2':
break; self::dealTaskMarketingDirector2($taskSchedulePlan);
// 协助供应链商户上架商品和库存更新 break;
case 'town_task_type_marketing_director_3': // 协助供应链商户上架商品和库存更新
self::dealTaskMarketingDirector3($taskSchedulePlan); case 'town_task_type_marketing_director_3':
break; self::dealTaskMarketingDirector3($taskSchedulePlan);
// 督促供应链商户完成采购 break;
case 'town_task_type_marketing_director_4': // 督促供应链商户完成采购
self::dealTaskMarketingDirector4($taskSchedulePlan); case 'town_task_type_marketing_director_4':
break; self::dealTaskMarketingDirector4($taskSchedulePlan);
// 督促供应链商户完成销售 break;
case 'town_task_type_marketing_director_5': // 督促供应链商户完成销售
self::dealTaskMarketingDirector5($taskSchedulePlan); case 'town_task_type_marketing_director_5':
break; self::dealTaskMarketingDirector5($taskSchedulePlan);
// 招驻一般商户 break;
case 'town_task_type_marketing_director_6': // 招驻一般商户
self::dealTaskMarketingDirector6($taskSchedulePlan); case 'town_task_type_marketing_director_6':
break; self::dealTaskMarketingDirector6($taskSchedulePlan);
// 协助一般商户上架商品和库存更新 break;
case 'town_task_type_marketing_director_7': // 协助一般商户上架商品和库存更新
self::dealTaskMarketingDirector7($taskSchedulePlan); case 'town_task_type_marketing_director_7':
break; self::dealTaskMarketingDirector7($taskSchedulePlan);
// 督促一般商户完成采购 break;
case 'town_task_type_marketing_director_8': // 督促一般商户完成采购
self::dealTaskMarketingDirector8($taskSchedulePlan); case 'town_task_type_marketing_director_8':
break; self::dealTaskMarketingDirector8($taskSchedulePlan);
// 督促一般商户完成销售 break;
case 'town_task_type_marketing_director_9': // 督促一般商户完成销售
self::dealTaskMarketingDirector9($taskSchedulePlan); case 'town_task_type_marketing_director_9':
break; self::dealTaskMarketingDirector9($taskSchedulePlan);
// 数字农贸宣传、加工业务建设和招商任务 break;
case 'town_task_type_marketing_director_10': // 数字农贸宣传、加工业务建设和招商任务
// 该任务的判定都需要上传资料,后台审批任务是否完成. 因此每天自动结算时,任务状态不为完成的,都做关闭任务处理 case 'town_task_type_marketing_director_10':
$task = Task::where(['id'=>$taskSchedulePlan['task_id']])->find(); // 该任务的判定都需要上传资料,后台审批任务是否完成. 因此每天自动结算时,任务状态不为完成的,都做关闭任务处理
if ($task['status'] != 3) { $task = Task::where(['id'=>$taskSchedulePlan['task_id']])->find();
(new Task())->closeTask($taskSchedulePlan['task_id']); if ($task['status'] != 3) {
} (new Task())->closeTask($taskSchedulePlan['task_id']);
}
// self::dealTaskMarketingDirector10($taskSchedulePlan); // self::dealTaskMarketingDirector10($taskSchedulePlan);
break; break;
default: default:
return true; return true;
}
} catch (Exception $e) {
Log::error(['镇农科任务结算失败',$e->getFile(), $e->getLine(), $e->getMessage()]);
} }
} }
/** /**
@ -779,11 +784,11 @@ class TaskLogic extends BaseLogic
$param['end_time'] = time(); $param['end_time'] = time();
$param['responsible_area'] = $townCompany['responsible_area']; $param['responsible_area'] = $townCompany['responsible_area'];
$result = ShopRequestLogic::getSupplyChainMerchantCount($param); $result = ShopRequestLogic::getSupplyChainMerchantCount($param);
if (!$result) { if ($result['status'] != 200) {
Log::error('查询供应链商户统计接口失败'.ShopRequestLogic::getError()); Log::error('查询供应链商户统计接口失败'.ShopRequestLogic::getError());
return false; return false;
} }
$count = $result['count']; // todo 从$result取值 $count = $result['data']['count'];
// 完成数小于3关闭任务不做结算 // 完成数小于3关闭任务不做结算
if ($count < 3){ if ($count < 3){
@ -830,9 +835,13 @@ class TaskLogic extends BaseLogic
'mer_intention_id' => $merIntentionId, 'mer_intention_id' => $merIntentionId,
]; ];
$result = ShopRequestLogic::getProductListing($param); $result = ShopRequestLogic::getProductListing($param);
Log::info(['4.市场部长-供应链商户完成商品上架和库存更新任务-查询商城接口结果', json_encode($result)]); if ($result['status'] != 200) {
// 达到目标数 完成则结算 todo 返回字段要对接 Log::info(['4.市场部长-供应链商户完成商品上架和库存更新任务-查询商城接口结果', json_encode($result)]);
if ($result['count'] >= $templateInfo['extend']['target']){ return false;
}
$count = $result['data']['count'];
// 达到目标数 完成则结算
if ($count >= $templateInfo['extend']['target']){
// 结算金额 任务金额/目标数 * 天数 // 结算金额 任务金额/目标数 * 天数
$taskInfo['money'] = bcmul($templateInfo['stage_day_one'], bcdiv($templateInfo['money'], $templateInfo['extend']['target'])); $taskInfo['money'] = bcmul($templateInfo['stage_day_one'], bcdiv($templateInfo['money'], $templateInfo['extend']['target']));
Log::info(['5.市场部长-供应链商户完成商品上架任务-$taskSchedulePlan', json_encode($taskSchedulePlan)]); Log::info(['5.市场部长-供应链商户完成商品上架任务-$taskSchedulePlan', json_encode($taskSchedulePlan)]);
@ -852,8 +861,11 @@ class TaskLogic extends BaseLogic
'end_time' => $endTime, 'end_time' => $endTime,
'mer_intention_id' => $merIntentionId, 'mer_intention_id' => $merIntentionId,
]; ];
$result1 = ShopRequestLogic::getStockUpdate($param); // todo 返回字段要对接 $result1 = ShopRequestLogic::getStockUpdate($param);
Log::info(['4.市场部长-供应链商户完成库存更新任务-查询商城接口结果', json_encode($result)]); if ($result['status'] != 200) {
Log::info(['4.市场部长-供应链商户完成库存更新任务-查询商城接口结果', json_encode($result)]);
return false;
}
if ($result1['is_done'] == 1){ if ($result1['is_done'] == 1){
// 结算金额 任务金额/目标数 * 天数 // 结算金额 任务金额/目标数 * 天数
$taskInfo['money'] = bcmul($templateInfo['stage_day_two'], bcdiv($templateInfo['money_two'], $templateInfo['extend']['target'])); $taskInfo['money'] = bcmul($templateInfo['stage_day_two'], bcdiv($templateInfo['money_two'], $templateInfo['extend']['target']));