db = Dever::db('agent/test:old'); } # 获取已审核的条件 private function get_yes_where() { //issuingstate=1 已发放权益 return 'restatus = 0 and status = 1 and prestatus = 1 and isagent = 1'; } # 获取审核失败的条件 private function get_no_where() { //issuingstate=1 已发放权益 return 'restatus = 1 and isagent = 1'; } # 获取待审核的条件 private function get_where() { //issuingstate=1 已发放权益 return 'restatus = 0 and status = 0 and isagent = 1 and contractstatus = 1'; } # 获取sql public function get_sql_api() { $table['已审核'] = 'select count(*) as num,mobile from ims_ewei_shop_member where '.$this->get_yes_where().' group by mobile order by num desc'; $table['审核失败'] = 'select count(*) as num,mobile from ims_ewei_shop_member where '.$this->get_no_where().' group by mobile order by num desc'; $table['待审核'] = 'select count(*) as num,mobile from ims_ewei_shop_member where '.$this->get_where().' group by mobile order by num desc'; echo Dever::table($table);die; } public function get_api() { Dever::config('base')->hook = true; $host = 'https://cryl.yijiuguanfang.com/attachment/'; $state = 1; while($state) { $state = $this->get_data($host, $state); } # 导入关联表 //$this->getRelation(); # 导入地区价格 //$this->getAreaPrice(); # 导入余额 不导入了 //$this->getYue(); return 'ok'; } public function get_data($host, $index = 0) { # 获取已审核通过、权益已发放的用户 $index = $index - 1; $limit = 1000; $data = $this->db->fetchAll('select * from ims_ewei_shop_member where isagent = 1 order by id asc limit ' . $index . ', ' . $limit); if (!$data) { return false; } foreach ($data as $k => $v) { # 创建订单 $order = Dever::db('agent/order')->find(array('id' => $v['id'], 'clear' => true)); if (!$order) { echo $v['id']; echo "\r\n"; $data = array(); $data['id'] = $v['id']; $data['mobile'] = $v['mobile']; $data['name'] = $v['realname']; $data['avatar'] = $v['avatar']; $data['username'] = $v['nickname']; $data['mid'] = $v['id']; $data['parent_mid'] = $v['agentid']; $data['admin_desc'] = $v['content']; $data['parent_code'] = Dever::load("invite/api.code", $data['parent_mid']); $data['role'] = $this->getRole($v['agentlevel']); if ($v['datavalue']) { $data['area'] = Dever::load('area/api')->up($v['province'], $v['city'], $v['area'], $v['street'], $v['datavalue'], $v['streetvalue']); } else { $data['area'] = Dever::load('area/api')->upByName($v['province'], $v['city'], $v['area'], $v['street'], $v['streetvalue']); } if ($v['entertype'] == 1) { $data['type'] = 1; } else { $data['type'] = 2; } $data['price'] = $v['paymoney']; $data['f_price'] = $data['price']; $role = Dever::db('setting/role')->find($data['role']); if ($role['type'] == 1) { //$data['f_price'] = $role['price']; } elseif ($role['type'] == 2) { /* $data['f_price'] = Dever::load('area/api')->getPrice($role['area'], $data['area']); if ($data['f_price'] <= 0) { $data['f_price'] = $data['price']; } */ # 区域要进行占用 if ($data['area']) { Dever::load('area/api')->upStatus($data['area'], 2); $area_data = array('mid' => $v['id'], 'order_id' => $v['id'], 'role' => $data['role'], 'area' => $data['area']); $area_data['type'] = 4; $area_data['price'] = $data['f_price']; $area_data['cdate'] = $v['agentapplytime']; Dever::db('agent/member_area')->insert($area_data); } } $data['agent_cash'] = $data['f_price']; $data['sign'] = $v['contractsign'] ? $host . $v['contractsign'] : ''; $data['idcard'] = $v['idnumber']; $data['idcard_front'] = $data['idcard_back'] = ''; if ($v['identity']) { $identity = Dever::json_decode($v['identity']); if (isset($identity[0])) { $data['idcard_front'] = $host . $identity[0]; } if (isset($identity[1])) { $data['idcard_back'] = $host . $identity[1]; } } $data['company_name'] = $v['company']; $data['address'] = $v['province'] . $v['city'] . $v['area'] . $v['street']; $data['pay_type'] = 2; if ($v['receipt']) { $receipt = Dever::json_decode($v['receipt']); $data['pay_pic'] = array(); foreach ($receipt as $v1) { $data['pay_pic'][] = $host . $v1; } $data['pay_pic'] = implode(',', $data['pay_pic']); } $data['status'] = $this->getStatus($v); $data['audit_desc'] = $v['refuse']; if ($v['issuingstate'] == 1) { $data['goods_status'] = 3; } else { $data['goods_status'] = 1; } $data['pay_status'] = 2; $data['import'] = $v['olduid'] > 0 ? 3 : 2; $data['order_num'] = Dever::load('agent/lib/order')->getOrderId(); $data['cdate'] = $v['agentapplytime']; if ($data['status'] == 4) { $data['fdate'] = $v['agenttime']; } $data['order_type'] = 1; $data['company_pic'] = ''; $order = Dever::db('agent/order')->find(array('id' => $v['id'], 'clear' => true)); if (!$order) { $order_id = Dever::db('agent/order')->insert($data); } else { $order_id = $order['id']; } if ($order_id) { if (!$v['preagenttime']) { $v['preagenttime'] = $v['agenttime']; } if ($data['status'] == 2) { $this->addProcess($order_id, 1, $v['preagenttime'], $data); } elseif ($data['status'] == 3) { $this->addProcess($order_id, 1, $v['preagenttime'], $data); $this->addProcess($order_id, 2, $v['agenttime'], $data); } elseif ($data['status'] == 4) { $this->addProcess($order_id, 1, $v['preagenttime'], $data); $this->addProcess($order_id, 2, $v['agenttime'], $data); $this->addProcess($order_id, 3, $v['agenttime'], $data); } # 生成合同 if ($data['sign']) { $this->addAgreement($data); } $member = Dever::db('agent/member')->find($v['id']); if ($data['status'] == 4) { $data['status'] = 2; } elseif ($data['status'] == 5) { $data['status'] = 1; $data['state'] = 2; } else { $data['status'] = 1; } if ($data['status'] == 2) { $mc_member = $this->db->fetch('select * from ims_mc_members where uid = ' . $v['uid']); $data['rdate'] = $v['agenttime']; $data['cash'] = ($mc_member && $mc_member['credit2']) ? $mc_member['credit2'] : $v['credit2']; $data['group_sell'] = $v['allcommission']; if (!$member) { Dever::db('agent/member')->insert($data); } else { $data['where_id'] = $member['id']; Dever::db('agent/member')->update($data); } if ($data['parent_mid']) { Dever::load('invite/api')->setRelation($data['mid'], $data['parent_mid']); # 为上级增加增加业绩 Dever::load('bill/lib/sell')->up($data['parent_mid'], 1, $data['f_price'], $data['role'], $order_id, '直推业绩', 1, $data['cdate']); Dever::load('bill/lib/sell')->up($data['parent_mid'], 2, $data['f_price'], $data['role'], $order_id, '团队业绩', 1, $data['cdate']); } } echo 1; echo "\r\n"; } } } $index = $index + 1; return $index + $limit; } # 验证直推代理人数是否正确 agentdownnum # 导入区域价格 private function getAreaPrice() { $data = $this->db->fetchAll('select * from ims_ewei_shop_wang_city_other where deleted=0 and hide=0'); if ($data) { foreach ($data as $k => $v) { $province = Dever::db('area/province')->one(array('name' => $v['province'])); if ($province && $v['city']) { $city = Dever::db('area/city')->one(array('name' => $v['city'], 'province_id' => $province['id'])); if ($city && $v['district']) { $county = Dever::db('area/county')->one(array('name' => $v['district'], 'city_id' => $city['id'])); if ($county && $v['identity'] == 3) { # 区县 Dever::db('area/county')->update(array('where_id' => $county['id'], 'price' => $v['money'])); } elseif ($county && $v['street'] && $v['identity'] == 4) { # 街道 if (strstr($v['street'], '燕郊')) { Dever::db('area/town')->update(array('where_id' => 131082450, 'price' => $v['money'])); Dever::db('area/town')->update(array('where_id' => 131082109, 'price' => $v['money'])); } else { $town = Dever::db('area/town')->one(array('name' => $v['street'], 'county_id' => $county['id'])); if ($town) { Dever::db('area/town')->update(array('where_id' => $town['id'], 'price' => $v['money'])); } } } } } } } } # 导入余额日志[不包括提现] private function getYue() { $data = $this->db->fetchAll('select * from mc_credits_record where credittype = "credit2" order by id asc'); if ($data) { foreach ($data as $k => $v) { if ($v['credittype'] == 'credit2') { # 直推佣金 $type = 1; } elseif ($v['credittype'] == 'credit3') { # 市场培训费 $type = 2; } else { continue; } $remark = $v['remark']; if (strstr($remark, '提现')) { continue; } $info = Dever::db('bill/cash')->one(array('id' => $v['id'], 'clear' => true)); if (!$info) { $update['id'] = $v['id']; $update['type'] = $type; if ($v['uid'] > 0) { $member = $this->db->fetch('select * from ims_ewei_shop_member where uid = ' . $v['uid'] . ' and isagent = 1 and status = 1 and prestatus = 1'); if ($member) { $update['mid'] = $member['id']; } } elseif ($remark) { $temp = explode('OPENID: ', $remark); $temp = explode(' 剩余', $temp[1]); if (isset($temp[0]) && $temp[0]) { $member = $this->db->fetch('select * from ims_ewei_shop_member where openid = "' . $temp[0] . '" and isagent = 1 and status = 1 and prestatus = 1'); if ($member) { $update['mid'] = $member['id']; } } } if (isset($update['mid']) && $update['mid'] > 0) { if (strstr($remark, '消费')) { $type = 12; } $update['cash'] = $v['num']; $update['yue'] = $v['presentcredit']; $update['status'] = 2; $update['audit'] = 2; $update['cdate'] = $update['operdate'] = $v['createtime']; $update['order_num'] = Dever::load('bill/lib/cash')->getOrderId(); Dever::db('bill/cash')->insert($update); } } } } } # 获取提现 private function getTixian() { $data = $this->db->fetchAll('select * from ims_ewei_shop_member_log where type > 0'); if ($data) { foreach ($data as $k => $v) { $v['id'] = 50000 + $v['id']; $info = Dever::db('bill/cash')->one(array('id' => $v['id'], 'clear' => true)); if (!$info) { $update['id'] = $v['id']; $update['type'] = 11; if ($v['uid'] > 0) { $member = $this->db->fetch('select * from ims_ewei_shop_member where uid = ' . $v['uid'] . ' and isagent = 1 and status = 1 and prestatus = 1'); if ($member) { $update['mid'] = $member['id']; } } elseif ($remark) { $member = $this->db->fetch('select * from ims_ewei_shop_member where openid = "' . $v['openid'] . '" and isagent = 1 and status = 1 and prestatus = 1'); if ($member) { $update['mid'] = $member['id']; } } if (isset($update['mid']) && $update['mid'] > 0) { $update['cash'] = $v['num']; $update['yue'] = $v['presentcredit']; $status = 1; $fstatus = -1; if ($v['status'] == 0 && $v['check'] == 0) { # 待审核 $status = 1; } elseif ($v['status'] != -1 && $v['check'] == 1) { # 已审核 $status = 2; } elseif ($v['status'] == 0 && $v['check'] == 1) { # 待发放 $status = 2; $fstatus = 1; } elseif ($v['status'] == 1 && $v['check'] == 1) { # 已发放 $status = 2; $fstatus = 2; } elseif ($v['check'] == -1) { # 已拒绝 $status = 3; } $update['status'] = $status; $update['audit'] = $status; $update['cdate'] = $v['createtime']; $update['operdate'] = $v['checktime']; $update['order_num'] = Dever::load('bill/lib/cash')->getOrderId(); $id = Dever::db('bill/cash')->insert($update); if ($id) { $tixian['order_num'] = Dever::load('bill/lib/tixian')->getOrderId(); $tixian['id'] = $v['id']; $tixian['cash_id'] = $v['id']; $tixian['mid'] = $update['mid']; $tixian['ycash'] = $v['money']; $tixian['cash'] = $v['realmoney']; $tixian['yue'] = $v['deductionmoney']; $tixian['name'] = $v['realname']; $tixian['bank'] = $this->upBank($v['bankname']); $tixian['bankname'] = $v['bankopen']; $tixian['card'] = $v['bankcard']; $tixian['status'] = $fstatus; Dever::db('bill/tixian')->insert($tixian); } } } } } } # 导入关联表 private function getRelation() { $data = $this->db->fetchAll('select * from ims_ewei_shop_commission_relation'); if ($data) { foreach ($data as $k => $v) { $where['uid'] = $v['pid']; $where['to_uid'] = $v['id']; $where['level'] = $v['level']; $info = Dever::db('invite/relation')->one($where); if (!$info) { Dever::db('invite/relation')->insert($where); } } } } # 生成合同 private function addAgreement($data) { Dever::load('agent/lib/agreement')->up($data); } # 更新进度 private function addProcess($order_id, $status, $time, $data) { $where['order_id'] = $order_id; $where['status'] = $status; $info = Dever::db('agent/order_process')->find($where); if (!$info) { if ($status == 3) { $where['type'] = '1,2,3,5'; } $where['cdate'] = $time; Dever::db('agent/order_process')->insert($where); } } # 状态对应 private function getStatus($data) { # 完成权益发放issuingstate、财务审核status、初审prestatus的认为订单有效 if ($data['issuingstate'] == 1 && $data['status'] == 1 && $data['prestatus'] == 1) { return 4; } elseif ($data['status'] == 1 && $data['prestatus'] == 1) { return 4; } elseif ($data['prestatus'] == 1) { return 2; } elseif ($data['restatus'] == 1) { # 审核失败 return 5; } elseif ($data['trainersign'] && $data['contractsign']) { return 1; } else { return -2; } } # 代理商角色对应 private function getRole($role) { # key是历史数据 value是最新数据 $config = array ( # 创服 5 => 5, # 创客 4 => 6, # 逍客 8 => 7, # 城市 1 => 2, # 区县 2 => 3, # 街道 3 => 4, # 炒菜机分享会员 6 => 8, # 热敏炉分享会员 7 => 9, ); if (isset($config[$role]) && $config[$role]) { return $config[$role]; } return 1; } }