<?php namespace Agent\Lib; use Dever; class Member { public function getOne($id, $table = 'agent/member') { if ($id < 0) { return '无'; } $member = Dever::db($table)->find($id); if ($member) { $member['role'] = Dever::db('setting/role')->find($member['role']); $string = $member['name'] . '<br />' . $member['mobile'] . '<br />' . $member['role']['name']; if (isset($member['level_id']) && $member['level_id'] && $member['level_id'] > 0) { $member['level'] = Dever::db('setting/level')->find($member['level_id']); $string .= '('.$member['level']['name'].')'; } return $string; } else { return ''; } } public function getInfoString($member) { $member = $this->getInfo($member); $info = '代理商信息:'.$member['name'].' '.$member['mobile'].' ' . $member['role']['name']; if ($member && isset($member['level']) && $member['level']) { $info .= '('.$member['level']['name'].')'; } return $info; } public function getInfo($member) { Dever::setInput('getInfo', 1); if (is_numeric($member)) { $member = Dever::db('agent/member')->find($member); } $member['area_string'] = Dever::load("area/api.string", $member['area'], '/', true, ''); $member['role'] = Dever::db('setting/role')->find($member['role']); $member['level'] = Dever::db('setting/level')->find($member['level_id']); $member['shop'] = array(); if ($member['shop_id'] && $member['shop_id'] > 0) { $member['shop'] = Dever::db('shop/info')->getOne($member['shop_id']); } $data = Dever::load('passport/reg')->getSign($member['id']); if ($data['signature']) { $member['signature'] = $data['signature']; } $member['birthday'] = date('Y-m-d', $member['birthday']); return $member; } /** * 检测邀请码 * * @return mixed */ public function checkCode() { $code = Dever::input('code'); if (!$code) { Dever::alert('请输入邀请码'); } $uid = Dever::load('invite/api')->getUid($code); if (!$uid) { Dever::alert('邀请码错误'); } $user = Dever::db('agent/member')->find($uid); if (!$user) { Dever::alert('邀请码错误'); } if ($user['status'] == 2) { return $user; } Dever::alert('邀请人状态不正常'); } /** * 验证手机号 * @return mixed */ public function checkMobile($mobile) { $rule = Dever::rule('mobile'); if (!$mobile) { Dever::alert('手机号不能为空'); } if (!preg_match($rule, $mobile)) { Dever::alert('手机号码格式错误'); } return $mobile; } /** * 验证验证码 * @return mixed */ public function checkMcode($mobile) { $code = Dever::input('mcode'); if (!$code) { Dever::alert('请输入验证码'); } $code = Dever::load('passport/reg')->mcode($mobile, $code, 1); if (!$code) { Dever::alert('验证码输入错误'); } } /** * 更新余额和业绩 * @return mixed */ public function up($member, $order_id, $role, $type, $mid, $cash, $sell, $level_id = false, $desc = '', $group_num = 0) { $data['where_id'] = $mid; if ($cash) { Dever::load('bill/lib/cash')->up($mid, $type, $cash, $role, $order_id, $desc, 2); $data['cash'] = $cash; } Dever::load('bill/lib/sell')->up($mid, $type, $sell, $role, $order_id, $desc); $data['upcol'] = $sell; if ($level_id) { $data['level_id'] = $level_id; } //$method = 'upGroupSell'; if ($type == 1) { $method = 'upSell'; } else { $method = 'upGroupSell'; } $data['clear'] = true; Dever::db('agent/member')->$method($data); if ($level_id) { Dever::load('agent/lib/level_log')->up($mid, $order_id, $member['level_id'], $level_id, $sell, $member['sell'] + $sell, $group_num); } } /** * 查看详情 * @return mixed */ public function show() { $mid = Dever::input('mid'); $member = Dever::db('agent/member')->one($mid); $config_type = Dever::db('agent/member')->config['config_type']; $config_status = Dever::db('agent/member')->config['config_status']; $result['代理商信息'] = $this->getShowInfo($member); if ($member['parent_mid'] && $member['parent_mid'] > 0) { $parent = Dever::db('agent/member')->one($member['parent_mid']); $result['邀请人信息'] = $this->getShowInfo($parent); } $idcard_pic = '<a href="'.$member['idcard_front'].'" target="_blank"><img src="'.$member['idcard_front'].'" width="100" /></a>'; if ($member['idcard_back']) { $idcard_pic .= ' <a href="'.$member['idcard_back'].'" target="_blank"><img src="'.$member['idcard_back'].'" width="100" /></a>'; } $member_name = $member['name']; $member_number = $member['idcard']; $result['认证信息'] = array ( 'type' => 'info', 'content' => array ( array ( array('类型', $config_type[$member['type']]), array('姓名', $member_name), array('身份证号', $member_number), ), ), ); if ($member['type'] == 2) { $company_pic = '<a href="'.$member['company_pic'].'" target="_blank"><img src="'.$member['company_pic'].'" width="100" /></a>'; $member_name = $member['company_name']; $member_number = $member['company_number']; $result['认证信息']['content'][] = array ( array('企业名称', $member_name), array('营业执照', $member_number), array('营业执照照片', $company_pic), ); } $result['认证信息']['content'][] = array ( array('身份证照片', $idcard_pic), ); $button = array(); $button[0]['btn'][] = array ( 'type' => 'edit', 'link' => Dever::url('project/database/update?project=agent&table=member&where_id='.$member['id'].'&status=1&col=name,mobile,password,email,shop_id,area,role,level_id', 'manage'), 'name' => '修改基础资料', ); $button[0]['btn'][] = array ( 'type' => 'edit', 'link' => Dever::url('project/database/update?project=agent&table=member&where_id='.$member['id'].'&status=1&col=type,idcard,idcard_front,idcard_back,company_name,company_pic,company_number', 'manage'), 'name' => '修改认证资料', ); /* $button[] = array ( 'type' => 'edit', 'link' => Dever::url('project/database/update?project=agent&table=member&where_id='.$member['id'].'&status=1&col=shop_id', 'manage'), 'name' => '修改归属门店', ); */ $url = ''; if ($member['status'] == 5) { $button[0]['btn'][] = array ( 'type' => 'action', 'link' => Dever::url('lib/member.setStatus?id=' . $member['id'] . '&value=2', 'agent'), 'name' => '恢复账号', ); } elseif ($member['status'] == 2) { $button[0]['btn'][] = array ( 'type' => 'action', 'link' => Dever::url('lib/member.setStatus?id=' . $member['id'] . '&value=5', 'agent'), 'name' => '禁用账号', ); } $button[0]['btn'][] = array ( 'type' => 'link', 'link' => Dever::url('project/database/list?project=agent&table=order&search_option_mid='.$member['id'].'', 'manage'), 'name' => '代理订单', ); $button[0]['btn'][] = array ( 'type' => 'link', 'link' => Dever::url('project/database/list?project=agent&table=order&search_option_parent_mid='.$member['id'].'', 'manage'), 'name' => '直推代理订单', ); $button[0]['btn'][] = array ( 'type' => 'link', 'link' => Dever::url('project/database/list?project=agent&table=member_level_log&search_option_mid='.$member['id'].'', 'manage'), 'name' => '升级日志', ); $button[1]['btn'][] = array ( 'type' => 'edit', 'link' => Dever::url('project/database/update?project=bill&table=push_cash&search_option_mid='.$member['id'], 'manage'), 'name' => '发放资金', ); $button[1]['btn'][] = array ( 'type' => 'edit', 'link' => Dever::url('project/database/update?project=bill&table=push_sell&search_option_mid='.$member['id'], 'manage'), 'name' => '发放业绩', ); $button[1]['btn'][] = array ( 'type' => 'link', 'link' => Dever::url('project/database/list?project=bill&table=cash&search_option_mid='.$member['id'].'', 'manage'), 'name' => '资金账户', ); $button[1]['btn'][] = array ( 'type' => 'link', 'link' => Dever::url('project/database/list?project=bill&table=sell&search_option_mid='.$member['id'].'', 'manage'), 'name' => '业绩流水', ); $button[1]['btn'][] = array ( 'type' => 'link', 'link' => Dever::url('project/database/list?project=agent&table=member_goods&search_option_mid='.$member['id'].'', 'manage'), 'name' => '代理商权益', ); $button[1]['btn'][] = array ( 'type' => 'link', 'link' => Dever::url('project/database/list?project=agent&table=dh_order&search_option_mid='.$member['id'].'', 'manage'), 'name' => '权益订单', ); $button[2]['btn'][] = array ( 'type' => 'link', 'link' => Dever::url('project/database/list?project=agent&table=member_agreement&search_option_mid='.$member['id'].'', 'manage'), 'name' => '代理商合同', ); $button[2]['btn'][] = array ( 'type' => 'link', 'link' => Dever::url('project/database/list?project=agent&table=member&search_option_parent_mid='.$member['id'].'', 'manage'), 'name' => '查看直推团队', ); /* $button[2]['btn'][] = array ( 'type' => 'edit', 'link' => Dever::url('lib/member.setStatus?id=' . $member['id'] . '&value=5', 'agent'), 'name' => '查看邀请关系', ); */ $furl = ''; $button[2]['btn'][] = array ( 'type' => 'edit', 'link' => Dever::url('project/database/update?project=agent&table=member_parent&mid='.$member['id'], 'manage'), 'name' => '设置直推上级', ); $head_btn[] = array ( 'type' => 'link', 'link' => Dever::url('project/database/list?project=agent&table=member', 'manage'), 'name' => '返回上一页', ); $head = array ( 'name' => '基本信息', 'btn' => $head_btn, ); $foot = $button; $html = Dever::show($head, $result, $foot); return $html; } private function getShowInfo($member) { $role = Dever::db('setting/role')->one($member['role']); $level = Dever::db('setting/level')->one($member['level_id']); $area = Dever::load("area/api.string", $member['area'], '-', true, ''); $code = Dever::load("invite/api.code", $member['id']); if ($member['shop_id']) { $shop = Dever::db('shop/info')->one($member['shop_id']); } else { $shop['id'] = -1; $shop['name'] = '无'; } $result = array(); if ($level) { $role['name'] .= '(' . $level['name'] . ')'; } if (!$member['cash']) { $member['cash'] = 0; } if (!$member['sell']) { $member['sell'] = 0; } if (!$member['group_sell']) { $member['group_sell'] = 0; } $result = array ( 'type' => 'info', 'content' => array ( array ( array('代理商姓名', $member['name']), array('手机号', $member['mobile']), array('邀请码', $code), ), array ( array('代理角色', $role['name']), array('代理区域', $area), array('所属店铺', $shop['name']), ), array ( array('资金余额', '<span style="color:blue">¥' . $member['cash'] . '元</span>'), array('直推业绩', '<span style="color:blue">¥' . $member['sell'] . '元</span>'), array('团队业绩', '<span style="color:blue">¥' . $member['group_sell'] . '元</span>'), ), ), ); return $result; } public function setStatus_api() { $where['where_id'] = Dever::input('id'); $where['status'] = Dever::input('value'); Dever::db('agent/member')->update($where); return 'reload'; } public function create($data) { $insert['mobile'] = $data['mobile']; $info = Dever::db('agent/member')->find(array('mobile' => $data['mobile'])); if (!$info) { $insert['role'] = 1; $insert['level_id'] = -1; $insert['name'] = $data['name']; $insert['idcard'] = $data['idcard']; $insert['idcard_front'] = $data['idcard_front']; $insert['idcard_back'] = $data['idcard_back']; $insert['company_name'] = $data['company_name']; $insert['company_pic'] = $data['company_pic']; $insert['company_number'] = $data['company_number']; $insert['parent_mid'] = $data['parent_mid']; $insert['source_id'] = $data['source_id']; $insert['type'] = $data['type']; $mid = Dever::db('agent/member')->insert($insert); if ($mid && $data['parent_mid'] && $data['parent_mid'] > 0) { Dever::load('invite/api')->setRelation($mid, $data['parent_mid']); } return $mid; } else { return $info['id']; } } #认证时间 public function set_rdate($id){ $info=Dever::db('agent/member')->one(array('id'=>$id,'state'=>1)); if($info['cdate']){ $data['注册时间']=date('Y-m-d H:i',$info['cdate']); }else{ $data['注册时间']='-'; } if($info['status']==2){ if($info['rdate']){ $data['认证完成时间']=date('Y-m-d H:i',$info['rdate']); }else{ $data['认证完成时间']='-'; } }else{ $data['认证完成时间']='-'; } // $html = Dever::table($data); return '注册时间:'.$data['注册时间'].'<br/>认证完成时间:'.$data['认证完成时间']; } #更改收件人信息 public function set_mobile($id){ $info=Dever::db('agent/dh_order')->one(array('id'=>$id,'state'=>1)); $data=array(); if($info['name']=='兑换商品'){ $address=Dever::db('agent/member_address')->one(array('id'=>$info['address_id'],'state'=>1)); $data['联系人']=$address['contact']; $data['联系电话']=$address['mobile']; $res=Dever::load('agent/address')->getOne($address['mid'],$address['id']); $data['详细地址']=$res['address_info'].$address['house_number']; // $data['门牌号']=$address['house_number']; return $data['联系人'].'<br/>'.$data['联系电话'].'<br/>'.$data['详细地址']; }else{ return ''; } // $html=Dever::table($data); // return $html; } public function daili($id){ $info=Dever::db('agent/member')->one(array('id'=>$id,'state'=>1)); $member['role'] = Dever::db('setting/role')->find($info['role']); $data['姓名']='<a href='.Dever::url('project/database/list&project=bill&table=sell&menu=bill&search_option_state=1&function=&method=search&search_api_mid='.$info['mobile'].'&search_fulltext_order_num=&search_option_start_cdate=&search_option_end_cdate=&excel=2&page_type=2', 'manage').'>'.$info['name'].'</a>'; $data['电话']=$info['mobile']; $data['角色']=$member['role']['name']; if (isset($info['level_id']) && $info['level_id'] && $info['level_id'] > 0) { $info['level'] = Dever::db('setting/level')->find($info['level_id']); $data['角色'] .= '('.$info['level']['name'].')'; } $html=Dever::table($data); return $html; } #上级信息 public function sdaili($id){ $res=Dever::db('agent/member')->one(array('id'=>$id,'state'=>1)); if($res['parent_mid']>0){ $info=Dever::db('agent/member')->one(array('id'=>$res['parent_mid'],'state'=>1)); $member['role'] = Dever::db('setting/role')->find($info['role']); $data['姓名']='<a href='.Dever::url('project/database/list&project=bill&table=sell&menu=bill&search_option_state=1&function=&method=search&search_api_mid='.$info['mobile'].'&search_fulltext_order_num=&search_option_start_cdate=&search_option_end_cdate=&excel=2&page_type=2', 'manage').'>'.$info['name'].'</a>'; $data['电话']=$info['mobile']; $data['角色']=$member['role']['name']; if (isset($info['level_id']) && $info['level_id'] && $info['level_id'] > 0) { $info['level'] = Dever::db('setting/level')->find($info['level_id']); $data['角色'] .= '('.$info['level']['name'].')'; } $data['团队业绩']=$info['group_sell']; }elseif($res['source_id']){ $source=Dever::db('setting/source')->one(array('id'=>$res['source_id'],'state'=>1)); $data['来源']=$source['name']; }else{ return '无'; } $html=Dever::table($data); return $html; } }