userInfo =$this->request->isLogin() ? $this->request->userInfo():null; } public function lst() { [$page, $limit] = $this->getPage(); $mer_id=$this->request->merId(); $where['mer_id']=$mer_id; $state = $this->request->param('state','-1'); if($state==1){ $where['state']=1; } $list=Db::name('enterprise_agent_divvy')->where($where)->order('prize asc,id asc')->page($page, $limit)->select()->each(function ($v){ $v['gdp']=set_price_rtrim($v['gdp']).' %'; $v['jz']='满 '.set_price_rtrim($v['jz']).' 倍退出'; $v['prize']=set_price_rtrim($v['prize']); return $v; }); $data['list']=$list; $data['total']=Db::name('enterprise_agent_divvy')->count(); return app('json')->success($data); } public function createForm(){ $data['state']=1; $merId=$this->request->merId(); $form= Elm::createForm(Route::buildUrl('agentDivvyCreate')->build(), [ Elm::input('name', '级别')->required(), Elm::number('gdp', '分红池占比(日销售额百分比)')->required(), Elm::number('jz', '退出机制(满多少倍退出)')->required(), Elm::frameImage('img', '身份标识图标', '/' . config('admin.' . ($merId ? 'merchant' : 'admin') . '_prefix') . '/setting/uploadPicture?field=img&type=1')->width('896px')->height('480px')->props(['footer' => false])->modal(['modal' => false, 'custom-class' => 'suibian-modal']), Elm::number('prize', '代理费用(万)')->required(), // Elm::textarea('content', '权益说明')->required()->className(''), Elm::switches('state', '状态')->inactiveValue(0)->activeValue(1)->inactiveText('关闭')->activeText('开启'), ]); $form->setTitle( '添加代理级别' )->formData($data); return app('json')->success(formToData($form)); } public function updateForm($id){ $data=Db::name('enterprise_agent_divvy')->find($id); if(!$data){ return app('json')->fail('数据不存在'); } $data['state']=(int)$data['state']; $merId=$this->request->merId(); $form= Elm::createForm(Route::buildUrl('agentDivvyUpdate', compact('id'))->build(), [ Elm::input('name', '级别')->required(), Elm::number('gdp', '分红池占比(日销售额百分比)')->required(), Elm::number('jz', '退出机制(满多少倍退出)')->required(), Elm::frameImage('img', '身份标识图标', '/' . config('admin.' . ($merId ? 'merchant' : 'admin') . '_prefix') . '/setting/uploadPicture?field=img&type=1')->width('896px')->height('480px')->props(['footer' => false])->modal(['modal' => false, 'custom-class' => 'suibian-modal']), Elm::number('prize', '代理费用(万)')->required(), // Elm::textarea('content', '权益说明')->required()->className(''), Elm::switches('state', '状态')->inactiveValue(0)->activeValue(1)->inactiveText('关闭')->activeText('开启'), ]); $form->setTitle('修改代理级别')->formData($data); $list=formToData($form); $list['data']=$data; return app('json')->success($list); } public function create(AgentDivvyValidate $validate) { $data = $this->checkParam($validate); $data['mer_id']=$this->request->merId(); // 使用 filter_var 函数验证是否为非负数 if (filter_var($data['gdp'], FILTER_VALIDATE_FLOAT) !== false && $data['gdp'] >= 0) { // 参数合法,且为非负数 } else { return app('json')->fail('分红池占比(日销售额百分比)不能是负数'); // 参数不合法,或者为负数 } if (filter_var($data['jz'], FILTER_VALIDATE_FLOAT) !== false && $data['jz'] >= 0) { // 参数合法,且为非负数 } else { return app('json')->fail('退出机制(满多少倍退出)不能是负数'); // 参数不合法,或者为负数 } if (filter_var($data['prize'], FILTER_VALIDATE_FLOAT) !== false && $data['prize'] >= 0) { // 参数合法,且为非负数 } else { return app('json')->fail('代理费用(万)不能是负数'); // 参数不合法,或者为负数 } if($data['state']==1){ $member_settings=merchantConfig($this->request->merId(), 'member_settings'); $merId = $this->request->merId(); $where['mer_id']=$merId; $where['state']=1; $yeji=Db::name('enterprise_performance_divvy')->where($where)->sum('gdp'); $daili=Db::name('enterprise_agent_divvy')->where($where)->sum('gdp'); // 推荐奖比例+养老金比例+业绩分红总比例+代理商分红总比例≤100 $bili1=$member_settings['tjj'] + $member_settings['ylj']+$yeji+$daili+$data['gdp']; if($bili1>100){ return app('json')->fail('推荐奖比例+养老金比例+业绩分红总比例+代理商分红总比例≤100'); } // 运营中心比例+推荐代理商收益≤100-(推荐奖比例+养老金比例+业绩分红总比例+代理商分红总比例) $bili2=$member_settings['yy_one']+$member_settings['dls']; if($member_settings['yy_kg']!=1){ $bili2=$member_settings['dls']; } if($bili2<=(100-$bili1)){ }else{ return app('json')->fail('运营中心比例+推荐代理商收益≤100-(推荐奖比例+养老金比例+业绩分红总比例+代理商分红总比例)'); } } Db::name('enterprise_agent_divvy')->insertGetId($data); return app('json')->success('添加成功'); } public function update($id, AgentDivvyValidate $validate) { $data = $this->checkParam($validate); // 使用 filter_var 函数验证是否为非负数 if (filter_var($data['gdp'], FILTER_VALIDATE_FLOAT) !== false && $data['gdp'] >= 0) { // 参数合法,且为非负数 } else { return app('json')->fail('分红池占比(日销售额百分比)不能是负数'); // 参数不合法,或者为负数 } if (filter_var($data['jz'], FILTER_VALIDATE_FLOAT) !== false && $data['jz'] >= 0) { // 参数合法,且为非负数 } else { return app('json')->fail('退出机制(满多少倍退出)不能是负数'); // 参数不合法,或者为负数 } if (filter_var($data['prize'], FILTER_VALIDATE_FLOAT) !== false && $data['prize'] >= 0) { // 参数合法,且为非负数 } else { return app('json')->fail('代理费用(万)不能是负数'); // 参数不合法,或者为负数 } if($data['state']==1){ $member_settings=merchantConfig($this->request->merId(), 'member_settings'); $merId = $this->request->merId(); $where['mer_id']=$merId; $where['state']=1; $yeji=Db::name('enterprise_performance_divvy')->where($where)->sum('gdp'); $daili=Db::name('enterprise_agent_divvy')->where($where)->sum('gdp'); $oldgdp=Db::name('enterprise_agent_divvy')->where('id',$id)->where('state',1)->value('gdp'); // 推荐奖比例+养老金比例+业绩分红总比例+代理商分红总比例≤100 $bili1=$member_settings['tjj'] + $member_settings['ylj']+$yeji+$daili+$data['gdp']-$oldgdp; if($bili1>100){ return app('json')->fail('推荐奖比例+养老金比例+业绩分红总比例+代理商分红总比例≤100'); } // 运营中心比例+推荐代理商收益≤100-(推荐奖比例+养老金比例+业绩分红总比例+代理商分红总比例) $bili2=$member_settings['yy_one']+$member_settings['dls']; if($member_settings['yy_kg']!=1){ $bili2=$member_settings['dls']; } if($bili2<=(100-$bili1)){ }else{ return app('json')->fail('运营中心比例+推荐代理商收益≤100-(推荐奖比例+养老金比例+业绩分红总比例+代理商分红总比例)'); } } Db::name('enterprise_agent_divvy')->where('id',$id)->update($data); return app('json')->success('编辑成功'); } private function checkParam(AgentDivvyValidate $validate) { $data = $this->request->params(['name', 'gdp', 'jz', 'prize', 'img', 'state']); $validate->check($data); return $data; } }