| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- <?php
- /**
- * @package 商户端
- * @Author: ljj
- * @Date: 2021/1/5
- */
- namespace app\controller\merchant\system;
- use app\validate\merchant\AgentDivvyValidate;
- use FormBuilder\Factory\Elm;
- use think\App;
- use crmeb\basic\BaseController;
- use think\facade\Db;
- use think\facade\Route;
- class AgentDivvy extends BaseController
- {
- protected $userInfo;
- /**
- * ProductCategory constructor.
- * @param App $app
- */
- public function __construct(App $app)
- {
- parent::__construct($app);
- // $this->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;
- }
- }
|