where('company_id',$params['company_id'])->where('type',$params['type'])->field('id,types,type')->find(); if($find&&$params['type']==$find['type']){ self::setError('已经有同一种任务类型了'); return false; } if($params['type']==33){ $count=UserInformationg::where('company_id',$params['company_id'])->where('status',1)->count(); if($count<300){ self::setError('用户档案数量300不足,无法创建任务模板'); return false; } } $moeny=TaskTemplate::where('company_id', $params['company_id'])->sum('money'); if($moeny+$params['money']>200){ self::setError('任务模板一阶段合计金额不能大于任务调度金额'); return false; } $money_two=TaskTemplate::where('company_id', $params['company_id'])->sum('money_two'); if($money_two+$params['money']>200){ self::setError('任务模板二阶段合计金额不能大于任务调度金额'); return false; } $money_three=TaskTemplate::where('company_id', $params['company_id'])->sum('money_three'); if($money_three+$params['money']>200){ self::setError('任务模板长期合计金额不能大于任务调度金额'); return false; } if($params['type']==32){ $object_id=CompanyProperty::where('company_id',$params['company_id'])->value('object_id'); if(!$object_id){ self::setError('该公司没有三轮车,请先租赁三轮车'); return false; } } if($params['types']!=33){ $params['money_three']=0; } TaskTemplate::create([ 'title' => $params['title'], 'admin_id' => $params['admin_id'], 'company_id' => $params['company_id'], 'task_scheduling' => $params['task_scheduling']??0, 'money' => $params['money'], 'money_two' => $params['money_two'], 'money_three' => $params['money_three'], 'type' => $params['type'], 'types' => $params['types'], 'status' => $params['status'], 'content' => $params['content'], 'extend'=>json_encode($params['extend']), 'stage_day_one' => $params['stage_day_one']??0, 'proportion_one' => $params['proportion_one']??0, 'stage_day_two' => $params['stage_day_two']??0, 'proportion_two' => $params['proportion_two']??0, 'recharge' => $params['recharge']??0, ]); 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/06 17:30 */ public static function edit(array $params): bool { Db::startTrans(); try { $find=TaskTemplate::where('task_scheduling', $params['task_scheduling'])->where('company_id',$params['company_id'])->where('type',$params['type'])->field('id,types,type')->find(); if($find && $find['id']!=$params['id']&&$params['type']==$find['type']){ self::setError('已经有同一种任务类型了'); return false; } if($params['type']==33){ $count=UserInformationg::where('company_id',$params['company_id'])->where('status',1)->count(); if($count<300){ self::setError('用户档案数量300不足,无法创建任务模板'); return false; } } $moeny=TaskTemplate::where('company_id', $params['company_id'])->sum('money'); if($moeny+$params['money']>200){ self::setError('任务模板一阶段合计金额不能大于任务调度金额'); return false; } $money_two=TaskTemplate::where('company_id', $params['company_id'])->sum('money_two'); if($money_two+$params['money']>200){ self::setError('任务模板二阶段合计金额不能大于任务调度金额'); return false; } $money_three=TaskTemplate::where('company_id', $params['company_id'])->sum('money_three'); if($money_three+$params['money']>200){ self::setError('任务模板长期合计金额不能大于任务调度金额'); return false; } if($params['type']==32){ $object_id=CompanyProperty::where('company_id',$params['company_id'])->value('object_id'); if(!$object_id){ self::setError('该公司没有三轮车,请先租赁三轮车'); return false; } } if($params['types']!=33){ $params['money_three']=0; } TaskTemplate::where('id', $params['id'])->update([ 'title' => $params['title'], 'admin_id' => $params['admin_id'], 'money' => $params['money'], 'money_two' => $params['money_two'], 'money_three' => $params['money_three'], 'type' => $params['type'], 'types' => $params['types'], 'status' => $params['status'], 'content' => $params['content'], 'extend'=>json_encode($params['extend']), 'stage_day_one' => $params['stage_day_one']??0, 'proportion_one' => $params['proportion_one']??0, 'stage_day_two' => $params['stage_day_two']??0, 'proportion_two' => $params['proportion_two']??0, 'recharge' => $params['recharge']??0, ]); 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/06 17:30 */ public static function delete(array $params): bool { return TaskTemplate::destroy($params['id']); } /** * @notes 获取任务模板详情 * @param $params * @return array * @author likeadmin * @date 2023/08/06 17:30 */ public static function detail($params): array { return TaskTemplate::findOrEmpty($params['id'])->toArray(); } }