where('admin_id',0)->field('id,user_money')->select(); $yser_all_count=count($userAll); $member_maoney_user=bcdiv($master_maoney_user,$yser_all_count,2); //负责人 Db::startTrans(); try { $arr=[$company['user_id'], AccountLogEnum::UM_INC_TASK, AccountLogEnum::INC,$master_maoney_user,$data['sn'],$data['msg'].'获得收益'.$master_maoney_user.'元',['company_id'=>$data['company_id'],'proportion'=>$proportion],$data['status']]; $this->master($arr); $arr=[$company['user_id'], AccountLogEnum::UM_INC_TASKUSER, AccountLogEnum::INC,$master_maoney_user,$data['sn'],$data['msg'].'获得账户余额'.$master_maoney_user.'元',['company_id'=>$data['company_id'],'proportion'=>$proportion],$data['status']]; $this->master($arr); //成员 foreach ($userAll as $key => $value) { $arr=[$value['id'], AccountLogEnum::UM_INC_TASK, AccountLogEnum::INC,$member_maoney_user,$data['sn'],$data['msg'].'获得收益'.$member_maoney_user.'元',['company_id'=>$data['company_id'],'proportion'=>$proportion],$data['status']]; $this->member($arr); $arr=[$value['id'], AccountLogEnum::UM_INC_TASKUSER, AccountLogEnum::INC,$member_maoney_user,$data['sn'],$data['msg'].'获得账户余额'.$member_maoney_user.'元',['company_id'=>$data['company_id'],'proportion'=>$proportion],$data['status']]; $this->member($arr); } //公司 if($data['status']==1){ Company::where('id',$data['company_id'])->inc('deposit',$master_maoney)->inc('company_money',$master_maoney)->update(); TaskSchedulingPlan::where('id',$data['id'])->update(['is_pay'=>1]); } Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); Log::error('任务结算失败:'.$e->getMessage()); return false; } } /**负责人的分润 * @param $data */ private function master($data){ if($data[7]==1){ User::where('id',$data[0])->inc('user_money',$data[3])->inc('deposit',$data[3])->update(); } return AccountLogLogic::add($data[0],$data[1],$data[2],$data[3],$data[4],$data[5],$data[6],$data[7]); } /**成员分润 * @param $data */ private function member($data){ if($data[7]==1){ User::where('id',$data[0])->inc('user_money',$data[3])->inc('deposit',$data[3])->update(); } return AccountLogLogic::add($data[0],$data[1],$data[2],$data[3],$data[4],$data[5],$data[6],$data[7]); } }