isPost()){ $upload_file = BASE_UPLOAD_PATH . DIRECTORY_SEPARATOR . ATTACH_COMMON; if (!empty($_FILES['inviter_back']['name'])) { $res=ds_upload_pic(ATTACH_COMMON,'inviter_back', 'inviter_back.png'); if($res['code']){ $file_name=$res['data']['file_name']; $upload['inviter_back'] = $file_name; }else{ $this->error($res['msg']); } } if (!empty($upload['inviter_back'])) { $update_array['inviter_back'] = $upload['inviter_back']; } $update_array['inviter_ratio_1']=floatval(input('post.inviter_ratio_1')); $update_array['inviter_ratio_2']=floatval(input('post.inviter_ratio_2')); $update_array['inviter_ratio_3']=floatval(input('post.inviter_ratio_3')); $update_array['inviter_open']=intval(input('post.inviter_open')); $update_array['inviter_level']=intval(input('post.inviter_level')); $update_array['inviter_show']=floatval(input('post.inviter_show')); $update_array['inviter_return']=floatval(input('post.inviter_return')); $update_array['inviter_view']=floatval(input('post.inviter_view')); $update_array['inviter_condition']=floatval(input('post.inviter_condition')); $update_array['inviter_condition_amount']=floatval(input('post.inviter_condition_amount')); if($update_array['inviter_return']){ if(($update_array['inviter_ratio_1']*2+$update_array['inviter_ratio_2']+$update_array['inviter_ratio_3'])>100){ $this->error(lang('inviter_ratio_error')); } }else{ if(($update_array['inviter_ratio_1']+$update_array['inviter_ratio_2']+$update_array['inviter_ratio_3'])>100){ $this->error(lang('inviter_ratio_error')); } } $result = $config_model->editConfig($update_array); if ($result) { $this->log(lang('ds_inviter_set'),1); $this->success(lang('ds_common_op_succ'), 'Inviter/setting'); }else{ $this->log(lang('ds_inviter_set'),0); } } else { $list_setting = rkcache('config', true); View::assign('list_setting', $list_setting); $this->setAdminCurItem('index'); return View::fetch('index'); } } public function goods(){ $goods_model=model('goods'); $condition = array(); $condition[]=array('inviter_open','=',1); if ((input('param.goods_name'))) { $condition[]=array('goods_name','like', '%' . input('param.goods_name') . '%'); } $goods_list = $goods_model->getGoodsCommonList($condition, '*', 10); View::assign('goods_list', $goods_list); View::assign('show_page', $goods_model->page_info->render()); $this->setAdminCurItem('goods'); return View::fetch('goods'); } public function order(){ $search_field_value = input('param.search_field_value'); $search_field_name = input('param.search_field_name'); $condition = array(); if ($search_field_value != '') { switch ($search_field_name) { case 'orderinviter_member_name': $condition[] = array('orderinviter_member_name','=',$search_field_value); break; case 'orderinviter_order_sn': $condition[] = array('orderinviter_order_sn','=',$search_field_value); break; case 'orderinviter_store_name': $condition[] = array('orderinviter_store_name','=',$search_field_value); break; } } $orderinviter_list=Db::name('orderinviter')->where($condition)->order('orderinviter_addtime desc')->paginate(['list_rows'=>10,'query' => request()->param()],false); $order_list=$orderinviter_list->items(); foreach($order_list as $key => $val){ $order_list[$key]['orderinviter_valid_text']=lang('orderinviter_valid_array')[$val['orderinviter_valid']]; } View::assign('orderinviter_list', $order_list); View::assign('show_page', $orderinviter_list->render()); View::assign('search_field_name', trim($search_field_name)); View::assign('search_field_value', trim($search_field_value)); View::assign('filtered', $condition ? 1 : 0); //是否有查询条件 $this->setAdminCurItem('order'); return View::fetch(); } public function member(){ $inviter_model=model('inviter'); $search_field_value = input('search_field_value'); $search_field_name = input('search_field_name'); $condition = array(); if ($search_field_value != '') { switch ($search_field_name) { case 'member_name': $condition[]=array('member_name','like', '%' . trim($search_field_value) . '%'); break; case 'member_email': $condition[]=array('member_email','like', '%' . trim($search_field_value) . '%'); break; case 'member_mobile': $condition[]=array('member_mobile','like', '%' . trim($search_field_value) . '%'); break; case 'member_truename': $condition[]=array('member_truename','like', '%' . trim($search_field_value) . '%'); break; } } $member_list = $inviter_model->getInviterList($condition, 10,'','i.*,m.inviter_id as inviter_parent_id,m.member_id,m.member_ww,m.member_qq,m.member_addtime,m.member_name,m.member_avatar,m.member_email,m.member_mobile,m.member_truename'); $inviterclass_model=model('inviterclass'); foreach($member_list as $key => $item){ $member_list[$key]['inviter_parent_name']=''; $member_list[$key]['inviter_class']=''; $member_list[$key]['inviter_class']=$inviterclass_model->getInviterclass($item['inviter_total_amount']); if($item['inviter_parent_id']){ $member_list[$key]['inviter_parent_name'] = Db::name('member')->where('member_id='.$item['inviter_parent_id'])->value('member_name'); } } View::assign('member_list', $member_list); View::assign('show_page', $inviter_model->page_info->render()); View::assign('search_field_name', trim($search_field_name)); View::assign('search_field_value', trim($search_field_value)); View::assign('filtered', $condition ? 1 : 0); //是否有查询条件 $this->setAdminCurItem('member'); return View::fetch('member'); } public function memberclass(){ $memberclass_list=Db::name('inviterclass')->order('inviterclass_amount asc')->select()->toArray(); View::assign('memberclass_list',$memberclass_list); $this->setAdminCurItem('memberclass'); return View::fetch('memberclass'); } public function member_adjust(){ $member_id=intval(input('param.member_id')); if(!$member_id){ $this->error(lang('param_error')); } $inviter_model=model('inviter'); $inviter_info=$inviter_model->getInviterInfo(array('m.member_id'=>$member_id),'m.member_id,m.inviter_id as inviter_parent_id,i.inviter_1_quantity,i.inviter_2_quantity,i.inviter_3_quantity'); if(!$inviter_info){ $this->error(lang('inviter_member_empty')); } if (request()->isPost()) { $member_name=trim(input('param.member_name')); if($member_name){ $inviter=$inviter_model->getInviterInfo(array('m.member_name'=>$member_name),'m.member_id'); $inviter_id=$inviter['member_id']; if(!$inviter_id){ $this->error(lang('inviter_member_empty')); } //上级不能是自己 if($inviter_id==$member_id){ $this->error(lang('inviter_parent_error')); } //上级不能是自己下级中(3级内)的成员 if(Db::name('member')->where('inviter_id='.$member_id.' AND member_id='.$inviter_id)->value('member_id')){ $this->error(lang('inviter_parent_error2')); } $subQuery=Db::name('member')->field('member_id')->where('inviter_id='.$member_id)->buildSql(); if(Db::name('member')->where('member_id='.$inviter_id.' AND inviter_id IN'.$subQuery)->value('member_id')){ $this->error(lang('inviter_parent_error2')); } $subQuery=Db::name('member')->field('member_id')->where('inviter_id IN'.$subQuery)->buildSql(); if(Db::name('member')->where('member_id='.$inviter_id.' AND inviter_id IN'.$subQuery)->value('member_id')){ $this->error(lang('inviter_parent_error2')); } }else{ $inviter_id=0; } Db::name('member')->where('member_id='.$member_id)->update(array( 'inviter_id'=>$inviter_id )); //给旧的父级减去下线成员 if($inviter_info['inviter_parent_id']){ Db::name('inviter')->where('inviter_id='.$inviter_info['inviter_parent_id'].' AND inviter_1_quantity>=1')->dec('inviter_1_quantity')->update(); Db::name('inviter')->where('inviter_id='.$inviter_info['inviter_parent_id'].' AND inviter_2_quantity>='.$inviter_info['inviter_1_quantity'])->dec('inviter_2_quantity',$inviter_info['inviter_1_quantity'])->update(); Db::name('inviter')->where('inviter_id='.$inviter_info['inviter_parent_id'].' AND inviter_3_quantity>='.$inviter_info['inviter_2_quantity'])->dec('inviter_3_quantity',$inviter_info['inviter_2_quantity'])->update(); //父级的父级 $temp=$inviter_model->getInviterInfo(array('m.member_id'=>$inviter_info['inviter_parent_id']),'m.inviter_id as inviter_parent_id'); if($temp['inviter_parent_id']){ Db::name('inviter')->where('inviter_id='.$temp['inviter_parent_id'].' AND inviter_2_quantity>=1')->dec('inviter_2_quantity')->update(); Db::name('inviter')->where('inviter_id='.$temp['inviter_parent_id'].' AND inviter_3_quantity>='.$inviter_info['inviter_1_quantity'])->dec('inviter_3_quantity',$inviter_info['inviter_1_quantity'])->update(); //父级的父级的父级 $temp=$inviter_model->getInviterInfo(array('m.member_id'=>$temp['inviter_parent_id']),'m.inviter_id as inviter_parent_id'); if($temp['inviter_parent_id']){ Db::name('inviter')->where('inviter_id='.$temp['inviter_parent_id'].' AND inviter_3_quantity>=1')->dec('inviter_3_quantity')->update(); } } } //给新的父级增加下线成员 if($inviter_id){ Db::name('inviter')->where('inviter_id='.$inviter_id)->inc('inviter_1_quantity')->update(); Db::name('inviter')->where('inviter_id='.$inviter_id)->inc('inviter_2_quantity',$inviter_info['inviter_1_quantity'])->update(); Db::name('inviter')->where('inviter_id='.$inviter_id)->inc('inviter_3_quantity',$inviter_info['inviter_2_quantity'])->update(); //父级的父级 $temp=$inviter_model->getInviterInfo(array('m.member_id'=>$inviter_id),'m.inviter_id as inviter_parent_id'); if($temp['inviter_parent_id']){ Db::name('inviter')->where('inviter_id='.$temp['inviter_parent_id'])->inc('inviter_2_quantity')->update(); Db::name('inviter')->where('inviter_id='.$temp['inviter_parent_id'])->inc('inviter_3_quantity',$inviter_info['inviter_1_quantity'])->update(); //父级的父级的父级 $temp=$inviter_model->getInviterInfo(array('m.member_id'=>$temp['inviter_parent_id']),'m.inviter_id as inviter_parent_id'); if($temp['inviter_parent_id']){ Db::name('inviter')->where('inviter_id='.$temp['inviter_parent_id'])->inc('inviter_3_quantity')->update(); } } } $this->log(lang('adjust_superior') . '[ID:' . $member_id . ']', 1); dsLayerOpenSuccess(lang('ds_common_op_succ')); }else{ return View::fetch(); } } /** * 添加标签 */ public function memberclass_add(){ if (request()->isPost()) { $data=array( 'inviterclass_name'=>trim(input('post.inviterclass_name')), 'inviterclass_amount'=>abs(floatval(input('post.inviterclass_amount'))), ); if(!$data['inviterclass_name']){ $this->error(lang('param_error')); } Db::name('inviterclass')->insert($data); dsLayerOpenSuccess(lang('ds_common_op_succ')); }else{ return View::fetch('memberclass_form'); } } /** * 编辑标签 */ public function memberclass_edit() { $id=intval(input('param.id')); if(!$id){ $this->error(lang('param_error')); } $inviterclass_info=Db::name('inviterclass')->where('inviterclass_id',$id)->find(); if(!$inviterclass_info){ $this->error(lang('inviterclass_empty')); } // 实例化模型 if (request()->isPost()) { $data=array( 'inviterclass_name'=>trim(input('post.inviterclass_name')), 'inviterclass_amount'=>abs(floatval(input('post.inviterclass_amount'))), ); if(!$data['inviterclass_name']){ $this->error(lang('param_error')); } Db::name('inviterclass')->where('inviterclass_id',$id)->update($data); dsLayerOpenSuccess(lang('ds_common_op_succ')); } else { View::assign('inviterclass_info', $inviterclass_info); return View::fetch('memberclass_form'); } } /** * 删除标签 */ public function memberclass_del() { $inviterclass_id = input('param.id'); $inviterclass_id_array = ds_delete_param($inviterclass_id); if ($inviterclass_id_array == FALSE) { ds_json_encode('10001', lang('param_error')); } $result=Db::name('inviterclass')->where(array(array('inviterclass_id','in',$inviterclass_id_array)))->delete(); if ($result) { ds_json_encode('10000', lang('ds_common_del_succ')); } else { ds_json_encode('10001', lang('ds_common_del_fail')); } } public function memberstate(){ $member_id=input('param.member_id'); $member_id_array = ds_delete_param($member_id); $member_state=input('param.member_state'); if(!$member_id_array || !in_array($member_state, array(1,2))){ ds_json_encode('10001', lang('param_error')); } $inviter_model=model('inviter'); $inviter_info=$inviter_model->getInviterInfo(array(array('i.inviter_id','in',$member_id_array))); if(!$inviter_info){ ds_json_encode('10001', lang('inviter_member_empty')); } $inviter_model->editInviter(array(array('inviter_id','in',$member_id_array)),array('inviter_state'=>$member_state)); $this->log(($member_state==1?lang('ds_enable'):lang('ds_disable')) . '[ID:' . implode(',', $member_id_array) . ']', 1); ds_json_encode('10000', ($member_state==1?lang('ds_enable'):lang('ds_disable')).lang('ds_succ')); } public function memberinfo(){ $member_id=input('param.member_id'); if(!$member_id){ ds_json_encode('10001', lang('param_error')); } $inviter_model=model('inviter'); $inviter_info=$inviter_model->getInviterInfo(array('i.inviter_id'=>$member_id),'i.*,m.inviter_id as inviter_parent_id,m.member_id,m.member_ww,m.member_qq,m.member_addtime,m.member_name,m.member_avatar,m.member_email,m.member_mobile,m.member_truename'); if(!$inviter_info){ ds_json_encode('10001', lang('inviter_member_empty')); } $inviter_info['inviter_parent_name']=''; if($inviter_info['inviter_parent_id']){ $inviter_info['inviter_parent_name']= Db::name('member')->where('member_id='.$inviter_info['inviter_parent_id'])->value('member_name'); } $inviterclass_model=model('inviterclass'); $inviter_info['inviter_class']=$inviterclass_model->getInviterclass($inviter_info['inviter_total_amount']); View::assign('inviter_info',$inviter_info); $this->setAdminCurItem('member'); return View::fetch('memberinfo'); } public function memberlist(){ $member_id=intval(input('param.member_id')); $type=input('param.type'); if(!$member_id || !in_array($type, array(1,2,3))){ return; } $inviter_model=model('inviter'); if($type==1){ $res=Db::name('member')->alias('m')->join('inviter i', 'i.inviter_id=m.member_id','LEFT')->field('i.*,m.inviter_id as inviter_parent_id,m.member_id,m.member_ww,m.member_qq,m.member_addtime,m.member_name,m.member_avatar,m.member_email,m.member_mobile,m.member_truename')->where('m.inviter_id='.$member_id)->order('inviter_applytime desc')->paginate(['list_rows'=>10,'query' => request()->param()],false); $page_info=$res; $member_list=$res->items(); }elseif($type==2){ $subQuery=Db::name('member')->alias('m')->join('inviter i', 'i.inviter_id=m.member_id','LEFT')->field('m.member_id')->where('m.inviter_id='.$member_id)->order('inviter_applytime desc')->buildSql(); $res=Db::name('member')->alias('m')->join('inviter i', 'i.inviter_id=m.member_id','LEFT')->field('i.*,m.inviter_id as inviter_parent_id,m.member_id,m.member_ww,m.member_qq,m.member_addtime,m.member_name,m.member_avatar,m.member_email,m.member_mobile,m.member_truename')->where('m.inviter_id IN'.$subQuery)->order('inviter_applytime desc')->paginate(['list_rows'=>10,'query' => request()->param()],false); $page_info=$res; $member_list=$res->items(); }elseif($type==3){ $subQuery=Db::name('member')->alias('m')->join('inviter i', 'i.inviter_id=m.member_id','LEFT')->field('m.member_id')->where('m.inviter_id='.$member_id)->order('inviter_applytime desc')->buildSql(); $subQuery=Db::name('member')->alias('m')->join('inviter i', 'i.inviter_id=m.member_id','LEFT')->field('m.member_id')->where('m.inviter_id IN'.$subQuery)->order('inviter_applytime desc')->buildSql(); $res=Db::name('member')->alias('m')->join('inviter i', 'i.inviter_id=m.member_id','LEFT')->field('i.*,m.inviter_id as inviter_parent_id,m.member_id,m.member_ww,m.member_qq,m.member_addtime,m.member_name,m.member_avatar,m.member_email,m.member_mobile,m.member_truename')->where('m.inviter_id IN'.$subQuery)->order('inviter_applytime desc')->paginate(['list_rows'=>10,'query' => request()->param()],false); $page_info=$res; $member_list=$res->items(); } $inviterclass_model=model('inviterclass'); foreach($member_list as $key => $item){ $member_list[$key]['inviter_parent_name']=''; $member_list[$key]['inviter_class']=''; $member_list[$key]['inviter_class']=$inviterclass_model->getInviterclass(floatval($item['inviter_total_amount'])); if($item['inviter_parent_id']){ $member_list[$key]['inviter_parent_name'] = Db::name('member')->where('member_id='.$item['inviter_parent_id'])->value('member_name'); } } View::assign('member_list',$member_list); View::assign('show_page', $page_info->render()); echo View::fetch('memberlist'); } /** * 获取卖家栏目列表,针对控制器下的栏目 */ protected function getAdminItemList() { $menu_array = array( array( 'name' => 'index', 'text' => lang('inviter_setting'), 'url' => (string)url('Inviter/setting') ), array( 'name' => 'goods', 'text' => lang('inviter_goods'), 'url' => (string)url('Inviter/goods') ), array( 'name' => 'member', 'text' => lang('inviter_member'), 'url' => (string)url('Inviter/member') ), array( 'name' => 'memberclass', 'text' => lang('inviter_memberclass'), 'url' => (string)url('Inviter/memberclass') ), array( 'name' => 'order', 'text' => lang('inviter_order'), 'url' => (string)url('Inviter/order') ), ); return $menu_array; } }