From ab605440889c27a2e6679bfd28e53d7e1d015050 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Tue, 29 Aug 2023 23:05:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=82=A1=E9=87=91=E5=92=8C?= =?UTF-8?q?=E4=BA=A4=E6=98=93=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/logic/finance/ShareProfit.php | 11 ++++--- app/common/logic/task/TaskLogic.php | 41 +++++++++++++++++++----- app/job/TaskInformationJob.php | 29 +++++++++++------ app/task/TaskCron.php | 2 +- 4 files changed, 60 insertions(+), 23 deletions(-) diff --git a/app/common/logic/finance/ShareProfit.php b/app/common/logic/finance/ShareProfit.php index 9c977c283..bac02393f 100644 --- a/app/common/logic/finance/ShareProfit.php +++ b/app/common/logic/finance/ShareProfit.php @@ -15,11 +15,12 @@ class ShareProfit { public function first($data, $company) { - if ($company['day_count'] <= $data['proportion_one']) { - $proportion = $data['proportion_one']; - } else { - $proportion = $data['proportion_two']; - } + // if ($company['day_count'] <= $data['proportion_one']) { + // $proportion = $data['proportion_one']; + // } else { + // $proportion = $data['proportion_two']; + // } + $proportion=0; //总金额除以2等于不可提现账号金额和收益 $master_maoney = bcdiv($data['money'], 2, 2); //收益的百分之25为负责人的收益其余为成员的平分收益 diff --git a/app/common/logic/task/TaskLogic.php b/app/common/logic/task/TaskLogic.php index 4bb577daa..edaf8179a 100644 --- a/app/common/logic/task/TaskLogic.php +++ b/app/common/logic/task/TaskLogic.php @@ -121,16 +121,41 @@ class TaskLogic extends BaseLogic } //入股任务 if ($v['type'] == 35) { - $user_ids = User::where('company_id', $v['company_id'])->where('is_captain', 1)->field('id,nickname')->select(); - if(isset($v['extend']['shareholder'])){ - $v['extend']['shareholder']['money']=$v['recharge']; - $v['extend']['shareholder']['over_decimal']=$v['over_decimal']; - foreach($user_ids as $kkk=>$vvv){ - $v['extend']['shareholder']['user_list'][$kkk]=['name'=>$vvv['nickname'],'money'=>bcdiv($v['recharge'],count($user_ids),2),'time'=>$v['create_time']]; + $user_ids = User::where('company_id', $v['company_id'])->where('is_captain', 1)->field('id,nickname,brigade')->select(); + + if (isset($v['extend']['shareholder'])) { + $shareholder_user = User::where('id', $v['extend']['shareholder']['user_id'])->field('id,nickname,brigade')->find(); + + $v['extend']['shareholder']['money'] = $v['recharge']; + $v['extend']['shareholder']['over_decimal'] = $v['over_decimal']; + foreach ($user_ids as $kkk => $vvv) { + $v['extend']['shareholder']['user_list'][$kkk] = ['info'=>$shareholder_user['nickname'].'需缴纳'.$vvv['brigade'].'队,股金:'.bcdiv($v['recharge'],count($user_ids),2), 'time' => $v['create_time']]; } + $data['director_uid'] = $v['extend']['shareholder']['user_id']; + + } + $data['extend'] = json_encode($v['extend']); + } + //片区交易 + if ($v['type'] == 33) { + //基础金额*(每日基户数*天数)//且户数小于公司总户数 + $user_count = UserInformationg::where('company_id', $v['company_id'])->count(); + // + if ($datas['company_info']['day_count'] == 0) { + $user_count_two = 5 * 1; + } else { + $user_count_two = 5 * $datas['company_info']['day_count']; + } + if ($user_count_two > $user_count) { + $user_count_money = 58 * $user_count; + } else { + $user_count_money = 58 * $user_count_two; + } + if($user_count_money<$v['transaction_pool']){ + TaskTemplate::where('id', $v['id'])->update(['transaction_pool'=>bcsub($v['transaction_pool'],$user_count_money,2)]); + }else{ + TaskTemplate::where('id', $v['id'])->update(['transaction_pool'=>0]); } - $data['director_uid'] = $datas['company_info']['user_id']; - $data['extend']=json_encode($v['extend']); } $task_id = (new Task())->insertGetId($data); TaskSchedulingPlan::where('id', $TaskSchedulingPlan['id'])->update(['task_id' => $task_id, 'is_execute' => 1]); diff --git a/app/job/TaskInformationJob.php b/app/job/TaskInformationJob.php index c5ffbd966..9be49b9c8 100644 --- a/app/job/TaskInformationJob.php +++ b/app/job/TaskInformationJob.php @@ -12,6 +12,7 @@ use app\common\model\Company; use app\common\model\informationg\UserInformationg; use think\facade\App; use app\common\model\task_scheduling_plan\TaskSchedulingPlan; +use app\common\model\task_template\TaskTemplate; /** * 任务结算执行的具体逻辑 @@ -50,8 +51,13 @@ class TaskInformationJob Task::where('id', $data['task_id'])->update(['status' => 5]); return false; } - if($shang_date_total_price['arr']['total_price']>$shang_date_total_price['arr']['day_money']){ + $transaction_pool=$data['template_info']['transaction_pool'];//交易金额剩余池 + + if(bcadd($shang_date_total_price['arr']['total_price'],$transaction_pool,2)>$shang_date_total_price['arr']['day_money']){ Task::where('id', $data['task_id'])->update(['status' => 3,'extend'=>json_encode($shang_date_total_price)]); + $day_money=bcsub($shang_date_total_price['arr']['total_price'],$shang_date_total_price['arr']['day_money'],2);//当天还剩多少 + TaskTemplate::whrer('id',$data['template_info']['id'])->update(['transaction_pool'=>bcadd($transaction_pool,$day_money,2)]); + $shang_date_total_price['arr']['status']=1; } $name = $shang_date_total_price['name']; $arr['status'] = $shang_date_total_price['arr']['status']; @@ -72,17 +78,22 @@ class TaskInformationJob }elseif //入股任务 ($data['template_info']['type'] == 35){ - $task_35 = Task::where('id', $data['task_id'])->field('stage_day_one,stage_day_two,status,recharge,day_count,over_decimal')->with('director_info')->find(); + $task_35 = Task::where('id', $data['task_id'])->field('status')->with('director_info')->find(); if($task_35){ - $day= $task_35['stage_day_one'] + $task_35['stage_day_two']; - if($task_35['status']==3 && $day<=$task_35['day_count']){ + $day= $data['template_info']['stage_day_one'] + $data['template_info']['stage_day_two']; + if($task_35['status']==3 && $day<=$data['template_info']['day_count']){ $name = $task_35['director_info']['nickname']; $arr['status'] = 1; - $arr['money'] = $task_35['over_decimal']; + $arr['money'] = $$data['template_info']['over_decimal']; $arr['company_account_type'] = 2; }else{ - Log::info('入股任务 ' . $data['template_info']['title'] . '结算失败:' . json_encode($data)); - Task::where('id', $data['task_id'])->update(['status' => 5]); + if($day<=$data['template_info']['day_count']){ + $time = strtotime(date('Y-m-d')); + Task::where('id', $data['task_id'])->update(['create_time' => $time,'end_time' => $time + 86399]); + return false; + } + Task::where('id', $data['task_id'])->update(['status' =>5]); + Log::info('入股任务 ' . $data['template_info']['title'] . '结算失败,任务为超时:' . json_encode($data)); return false; } } @@ -102,8 +113,8 @@ class TaskInformationJob $arr['company_id'] = $data['scheduling']['company_id']; $arr['msg'] = '来自任务【' . $data['template_info']['title'] . '】,完成方:' . $name . ',任务结算'; - $arr['proportion_one'] = $data['template_info']['proportion_one']; - $arr['proportion_two'] = $data['template_info']['proportion_two']; + // $arr['proportion_one'] = $data['template_info']['proportion_one']; + // $arr['proportion_two'] = $data['template_info']['proportion_two']; $arr['sn'] = $data['sn']; $arr['id'] = $data['id']; } catch (\Exception $e) { diff --git a/app/task/TaskCron.php b/app/task/TaskCron.php index 1953d8c00..0e09578cd 100644 --- a/app/task/TaskCron.php +++ b/app/task/TaskCron.php @@ -49,7 +49,7 @@ class TaskCron extends Task } Company::where('id', 'in', $company_id)->inc('day_count')->update(); TaskScheduling::where('id', 'in', $plan_ids)->update(['cron_time' => time()]); - Log::error('定时任务下发执行成功' . date('Y-m-d H:i:s')); + Log::info('定时任务下发执行成功' . date('Y-m-d H:i:s')); //...具体的任务执行 }