$params['title'], 'template_id' => $params['template_id'], 'company_id' => $params['company_id'], // 'admin_id' => $params['admin_id'], 'start_time' => strtotime($params['start_time']), 'end_time' => strtotime($params['end_time']), 'director_uid' => $params['director_uid'], 'type' => $params['type'], 'status' => $params['status'], 'content' => $params['content'], 'extend' => json_encode($params['extend']) ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * 定时添加任务 */ public static function CronAdd(array $v, $datas): bool { try { $time = strtotime(date('Y-m-d')); $TaskSchedulingPlan_data = [ 'create_user_id' => 0, 'company_id' => $v['company_id'], 'template_id' => $v['id'], 'scheduling_id' => $v['task_scheduling'], 'start_time' => $time, 'end_time' => $time + 86399, 'sn' => User::createUserSn(), 'status' => 1 ]; $TaskSchedulingPlan = TaskSchedulingPlan::create($TaskSchedulingPlan_data); $arr = [ 'template_id' => $v['id'], 'scheduling_plan_id' => $TaskSchedulingPlan['id'], 'company_id' => $v['company_id'], 'title' => $v['title'], 'money' => $v['money'], 'type' => $v['type'], 'content' => $v['content'], 'start_time' => $time, 'end_time' => $time + 86399, 'create_time' => time(), 'update_time' => time(), ]; $data = $arr; $data['money'] = self::task_money($v, $datas); $data['extend'] = json_encode($v['extend']); //信息更新 if ($v['type'] == 31) { $finds = TaskTemplate::where('id', $v['id'])->field('information_count,information_day_count')->find(); $update = 0; if ($finds['information_count'] > $finds['information_day_count']) { $day_count = $finds['information_count'] - $finds['information_day_count']; if ($day_count >= 5) { $update = 5; } else { $update = $day_count; } } $data["extend"] = json_encode(['informationg' => ['count' => 5, 'update' => $update]]); TaskTemplate::where('id', $v['id'])->inc('information_day_count', 5)->update(); } if ($v['type'] == 32) { $data['director_uid'] = $datas['company_info']['user_id']; } //入股任务 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']]; } } $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]); TaskTemplate::where('id', $v['id'])->inc('day_count')->update(); return true; } catch (\Exception $e) { Log::error('定时任务添加失败', [$e->getMessage()]); return false; } } //任务金额 private static function task_money($v, $datas) { if ($v['types'] == 1 || $v['types'] == 3) { if ($datas['company_info'] && $datas['company_info']['day_count'] <= $v['stage_day_one']) { return $v['money']; } else { return $v['money_two']; } } elseif ($v['types'] == 2) { if ($datas['company_info']['day_count'] <= $v['stage_day_one']) { return $v['money']; } elseif ($datas['company_info']['day_count'] <= $v['stage_day_two']) { return $v['money_two']; } else { return $v['money_three']; } } else { if ($datas['company_info']['day_count'] <= $v['stage_day_one']) { $a = $v['money']; } else { $a = $v['money_two']; } if ($datas['company_info'] && $datas['company_info']['day_count'] >= $v['stage_day_two']) { TaskTemplate::where('id', $v['id'])->update(['status' => 0]); } return $a; } } /** * @notes 更新任务状态 * @param array $params * @return bool * @author likeadmin * @date 2023/08/05 13:39 */ public static function edit(array $params): bool { Db::startTrans(); try { Task::where('id', $params['id'])->update(['status' => 3, 'update_time' => time()]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 删除任务 * @param array $params * @return bool * @author likeadmin * @date 2023/08/05 13:39 */ public static function delete(array $params): bool { return Task::destroy($params['id']); } /** * @notes 获取任务详情 * @param $params * @return array * @author likeadmin * @date 2023/08/05 13:39 */ public static function detail($params): array { $task = Task::findOrEmpty($params['id'])->toArray(); if ($task) { if (isset($task['extend']['informationg'])) { $task['extend']['informationg'] = UserInformationg::where('id', $task['extend']['informationg'])->field('name,phone,sex,age,update_time') ->find()->toArray(); } } return $task; } }