request->isGet()){ return $this->fetchData(); } $this->rmData( $this->postData()); return $this->renderSuccess('操作成功'); } /** * 获取数据 */ public function fetchData() { $dataList = $this->getItems(); return $this->renderSuccess('', compact('dataList')); } /** * 数据缓存项目 */ private function getItems() { $app_id = $this->store['app']['app_id']; return [ 'product' => [ 'list' => [ [ 'type' => 'database', 'key' => 'product', 'name' => '商品' ], [ 'type' => 'database', 'key' => 'category', 'name' => '商品分类' ], [ 'type' => 'database', 'key' => 'comment', 'name' => '商品评价' ], [ 'type' => 'database', 'key' => 'order', 'name' => '商品订单' ], ], 'type' => 'datatype', 'key' => 'product', 'name' => '商品数据' ], 'user' => [ 'list' => [ [ 'type' => 'database', 'key' => 'user', 'name' => '会员' ], // [ // 'type' => 'database', // 'key' => 'user_grade', // 'name' => '会员等级' // ], [ 'type' => 'database', 'key' => 'user_tag', 'name' => '会员标签' ] ], 'type' => 'datatype', 'key' => 'user', 'name' => '会员数据' ], 'store' => [ 'list' => [ [ 'type' => 'database', 'key' => 'store', 'name' => '门店' ], [ 'type' => 'database', 'key' => 'store_clerk', 'name' => '店员' ], [ 'type' => 'database', 'key' => 'store_order', 'name' => '门店核销记录' ] ], 'type' => 'datatype', 'key' => 'store', 'name' => '门店数据' ], 'point' => [ 'list' => [ [ 'type' => 'database', 'key' => 'point_product', 'name' => '积分商品' ], ], 'type' => 'datatype', 'key' => 'point', 'name' => '积分商城' ], 'agent' => [ 'list' => [ [ 'type' => 'database', 'key' => 'agent_user', 'name' => '分销商' ], [ 'type' => 'database', 'key' => 'agent_order', 'name' => '分销订单' ], [ 'type' => 'database', 'key' => 'agent_referee', 'name' => '推荐关系' ], [ 'type' => 'database', 'key' => 'agent_cash', 'name' => '提现申请' ], [ 'type' => 'database', 'key' => 'agent_capital', 'name' => '佣金明细' ], ], 'type' => 'datatype', 'key' => 'agent', 'name' => '分销' ], 'team' => [ 'list' => [ [ 'type' => 'database', 'key' => 'team_user', 'name' => '队长' ], [ 'type' => 'database', 'key' => 'team_order', 'name' => '分红订单' ], [ 'type' => 'database', 'key' => 'team_referee', 'name' => '团队关系' ], [ 'type' => 'database', 'key' => 'team_cash', 'name' => '提现申请' ], [ 'type' => 'database', 'key' => 'team_capital', 'name' => '分红明细' ], ], 'type' => 'datatype', 'key' => 'team', 'name' => '团队分红' ], 'shareholder' => [ 'list' => [ [ 'type' => 'database', 'key' => 'shareholder_user', 'name' => '股东' ], [ 'type' => 'database', 'key' => 'shareholder_order', 'name' => '分红订单' ], [ 'type' => 'database', 'key' => 'shareholder_cash', 'name' => '提现申请' ], [ 'type' => 'database', 'key' => 'shareholder_capital', 'name' => '分红明细' ], ], 'type' => 'datatype', 'key' => 'shareholder', 'name' => '股东分红' ], ]; } /** * 删除数据 */ private function rmData($keys) { $app_id = $this->store['app']['app_id']; $dataList = $this->getItems(); foreach ($dataList as $list) { foreach ($list['list'] as $item) { if(in_array($item['key'], $keys)) { Db::name($item['key'])->where('app_id', '=', $app_id)->delete(true); } } } return true; } /** * 删除目录下所有文件 */ private function deltree($dirPath) { if (is_array($dirPath)) { foreach ($dirPath as $path) $this->deleteFolder($path); } else { return $this->deleteFolder($dirPath); } return true; } /** * 递归删除指定目录下所有文件 */ private function deleteFolder($path) { if (!is_dir($path)) return false; // 扫描一个文件夹内的所有文件夹和文件 foreach (scandir($path) as $val) { // 排除目录中的.和.. if (!in_array($val, ['.', '..'])) { // 如果是目录则递归子目录,继续操作 if (is_dir($path . $val)) { // 子目录中操作删除文件夹和文件 $this->deleteFolder($path . $val . '/'); // 目录清空后删除空文件夹 rmdir($path . $val . '/'); } else { // 如果是文件直接删除 unlink($path . $val); } } } return true; } }