userTemp(); break; case 'recycle': return $this->recycleProduct(); break; case 'user': return $this->userRelevantData(); break; case 'store': return $this->storeData(); break; case 'category': return $this->categoryData(); break; case 'order': return $this->orderData(); break; case 'kefu': return $this->kefuData(); break; case 'wechat': return $this->wechatData(); break; case 'attachment': return $this->attachmentData(); break; case 'wechatuser': return $this->wechatuserData(); break; case 'article': return $this->articledata(); break; case 'system': return $this->systemdata(); break; default: return $this->fail('参数有误'); } } /** * 清除用户生成的临时附件 * @param int $type * @throws \Exception */ public function userTemp() { SystemAttachment::where('module_type', 2)->delete(); return $this->success('清除数据成功!'); } //清除回收站商品 public function recycleProduct() { StoreProduct::where('is_del', 1)->delete(); return $this->success('清除数据成功!'); } //清除用户数据 public function userRelevantData() { self::clearData('user_recharge', 1); self::clearData('user_address', 1); self::clearData('user_bill', 1); self::clearData('user_enter', 1); self::clearData('user_extract', 1); self::clearData('user_notice', 1); self::clearData('user_notice_see', 1); self::clearData('wechat_qrcode', 1); self::clearData('wechat_message', 1); self::clearData('store_visit', 1); self::clearData('store_coupon_user', 1); self::clearData('store_coupon_issue_user', 1); self::clearData('store_bargain_user', 1); self::clearData('store_bargain_user_help', 1); self::clearData('store_product_reply', 1); self::clearData('store_product_cate', 1); self::clearData('routine_qrcode', 1); self::clearData('routine_form_id', 1); self::clearData('user_sign', 1); self::clearData('user_task_finish', 1); self::clearData('user_level', 1); self::clearData('user_token', 1); self::clearData('user_group', 1); self::clearData('user_visit', 1); $this->delDirAndFile('./public/uploads/store/comment'); self::clearData('store_product_relation', 1); return $this->success('清除数据成功!'); } //清除商城数据 public function storeData() { self::clearData('store_coupon', 1); self::clearData('store_coupon_issue', 1); self::clearData('store_bargain', 1); self::clearData('store_combination', 1); self::clearData('store_product_attr', 1); self::clearData('store_product_cate', 1); self::clearData('store_product_attr_result', 1); self::clearData('store_product_attr_value', 1); self::clearData('store_product_description', 1); self::clearData('store_product_rule', 1); self::clearData('store_seckill', 1); self::clearData('store_product', 1); self::clearData('store_visit', 1); return $this->success('清除数据成功!'); } //清除商品分类 public function categoryData() { self::clearData('store_category', 1); return $this->success('清除数据成功!'); } //清除订单数据 public function orderData() { self::clearData('store_order', 1); self::clearData('store_order_cart_info', 1); self::clearData('store_order_status', 1); self::clearData('store_pink', 1); self::clearData('store_cart', 1); self::clearData('store_order_status', 1); return $this->success('清除数据成功!'); } //清除客服数据 public function kefuData() { self::clearData('store_service', 1); $this->delDirAndFile('./public/uploads/store/service'); self::clearData('store_service_log', 1); return $this->success('清除数据成功!'); } //清除微信管理数据 public function wechatData() { self::clearData('wechat_media', 1); self::clearData('wechat_reply', 1); self::clearData('cache', 1); $this->delDirAndFile('./public/uploads/wechat'); return $this->success('清除数据成功!'); } //清除所有附件 public function attachmentData() { self::clearData('system_attachment', 1); self::clearData('system_attachment_category', 1); $this->delDirAndFile('./public/uploads/'); return $this->success('清除上传文件成功!'); } //清除微信用户 public function wechatuserData() { self::clearData('wechat_user', 1); self::clearData('user', 1); return $this->success('清除数据成功!'); } //清除内容分类 public function articledata() { self::clearData('article_category', 1); self::clearData('article', 1); self::clearData('article_content', 1); return $this->success('清除数据成功!'); } //清除系统记录 public function systemdata() { self::clearData('system_notice_admin', 1); self::clearData('system_log', 1); return $this->success('清除数据成功!'); } //清除制定表数据 public function clearData($table_name, $status) { $table_name = config('database.connections.' . config('database.default'))['prefix'] . $table_name; if ($status) { @db::execute('TRUNCATE TABLE ' . $table_name); } else { @db::execute('DELETE FROM' . $table_name); } } //递归删除文件 function delDirAndFile($dirName, $subdir = true) { if ($handle = @opendir("$dirName")) { while (false !== ($item = readdir($handle))) { if ($item != "." && $item != "..") { if (is_dir("$dirName/$item")) $this->delDirAndFile("$dirName/$item", false); else @unlink("$dirName/$item"); } } closedir($handle); if (!$subdir) @rmdir($dirName); } } /** * 替换域名方法 * @return mixed */ public function replaceSiteUrl() { list($url) = UtilService::postMore([ ['url',''] ], $this->request, true); if (!$url) return $this->fail('请输入需要更换的域名'); if (!verify_domain($url)) return $this->fail('域名不合法'); $siteUrl = sys_config('site_url'); $siteUrlJosn = str_replace('http://', 'http:\\/\\/', $siteUrl); $valueJosn = str_replace('http://', 'http:\\/\\/', $url); $prefix = Config::get('database.connections.' . Config::get('database.default') . '.prefix'); $sql = [ "UPDATE `{$prefix}system_attachment` SET `att_dir` = replace(att_dir ,'{$siteUrl}','{$url}'),`satt_dir` = replace(satt_dir ,'{$siteUrl}','{$url}')", "UPDATE `{$prefix}store_product` SET `image` = replace(image ,'{$siteUrl}','{$url}'),`slider_image` = replace(slider_image ,'{$siteUrl}','{$url}')", "UPDATE `{$prefix}store_product_attr_value` SET `image` = replace(image ,'{$siteUrl}','{$url}')", "UPDATE `{$prefix}store_seckill` SET `image` = replace(image ,'{$siteUrl}','{$url}'),`images` = replace(images,'{$siteUrl}','{$url}')", "UPDATE `{$prefix}store_combination` SET `image` = replace(image ,'{$siteUrl}','{$url}'),`images` = replace(images,'{$siteUrl}','{$url}')", "UPDATE `{$prefix}store_bargain` SET `image` = replace(image ,'{$siteUrl}','{$url}'),`images` = replace(images,'{$siteUrl}','{$url}')", "UPDATE `{$prefix}system_config` SET `value` = replace(value ,'{$siteUrlJosn}','{$valueJosn}')", "UPDATE `{$prefix}article_category` SET `image` = replace(`image` ,'{$siteUrl}','{$url}')", "UPDATE `{$prefix}article` SET `image_input` = replace(`image_input` ,'{$siteUrl}','{$url}')", "UPDATE `{$prefix}article_content` SET `content` = replace(`content` ,'{$siteUrl}','{$url}')", "UPDATE `{$prefix}store_category` SET `pic` = replace(`pic` ,'{$siteUrl}','{$url}')", "UPDATE `{$prefix}system_group_data` SET `value` = replace(value ,'{$siteUrlJosn}','{$valueJosn}')", "UPDATE `{$prefix}store_product_description` SET `description`= replace(description,'{$siteUrl}','{$url}')" ]; try { foreach ($sql as $item) { db::execute($item); } } catch (\Throwable $e) { return $this->fail('替换失败,失败原因:' . $e->getMessage()); } return $this->success('替换成功!'); } }