更新股金和交易任务

This commit is contained in:
mkm 2023-08-29 23:05:08 +08:00
parent bc1f23d337
commit ab60544088
4 changed files with 60 additions and 23 deletions

View File

@ -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为负责人的收益其余为成员的平分收益

View File

@ -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]);

View File

@ -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) {

View File

@ -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'));
//...具体的任务执行
}