Browse Source

debug

master
xiaodong 2 weeks ago
parent
commit
39db756dbf
  1. 215
      app/controller/backend/WebsiteController.php
  2. 5
      app/controller/frontend/FormController.php
  3. 11
      app/controller/frontend/SearchController.php

215
app/controller/backend/WebsiteController.php

@ -3,14 +3,18 @@ declare (strict_types = 1);
namespace app\controller\backend; namespace app\controller\backend;
use app\exception\ModelEmptyException;
use app\exception\ModelException;
use app\model\Admin; use app\model\Admin;
use app\model\Route; use app\model\Route;
use app\model\Website; use app\model\Website;
use app\model\WebsiteLang; use app\model\WebsiteLang;
use app\model\WebsiteSetting; use app\model\WebsiteSetting;
use app\service\CacheService; use app\service\CacheService;
use app\service\ContentService;
use app\service\SitemapService; use app\service\SitemapService;
use app\service\WebsiteLangService; use app\service\WebsiteLangService;
use app\validate\ContentValidate;
use app\validate\WebsiteValidate; use app\validate\WebsiteValidate;
use app\service\WebsiteService; use app\service\WebsiteService;
use think\facade\Db; use think\facade\Db;
@ -279,9 +283,212 @@ class WebsiteController extends BaseController
*/ */
public function sitemap(SitemapService $sitemapService): \think\response\Json public function sitemap(SitemapService $sitemapService): \think\response\Json
{ {
$siteId = (int)$this->request->param('website_id');
$sellerId = $this->admin['seller_id'];
$res = $sitemapService -> makeSitemap($siteId,$sellerId);
return json($res);
// $siteId = (int)$this->request->param('website_id');
// $sellerId = $this->admin['seller_id'];
// $res = $sitemapService -> makeSitemap($siteId,$sellerId);
// return json($res);
$this->dealDataToNew();
return json(['msg'=>'ok']);
} }
// 数据处理, 新站导入老站的新闻信息
public function dealDataToNew()
{
$reqParam = request()->param();
$from_cate_id = $reqParam['from_cate_id'];
$to_cate_id = $reqParam['to_cate_id'];
// if($from_cate_id == -1 && $to_cate_id == -1){
// // 迁移数据 交易及市场日历(calendar)
// $res = $this->dealDataToNewCalendar($reqParam);
// return $res;
// }
// var_dump($reqParam);
// exit();
// 直接定义目标数据库连接参数
$otherDbConfig = [
'type' => 'mysql',
'hostname' => '127.0.0.1', // 目标IP
'database' => 'ruineng-tmp-tmp', // 数据库名
'username' => 'root',
'password' => 'root',
'hostport' => '3306',
'charset' => 'utf8mb4',
'prefix' => '',
'debug' => true,
];
// 动态注册到 connections 中
$dbConfig = config('database');
$dbConfig['connections']['temp_remote_conn'] = $otherDbConfig;
config($dbConfig, 'database');
// 验证分类
$fromCateInfo = Db::connect('temp_remote_conn')
->table('zlkj_arctype')
// ->where('state', 1)
->where('id', $from_cate_id)
->findOrEmpty();
if(empty($fromCateInfo)){
var_dump('$fromCateInfo 不存在');
exit();
}
$toCateInfo = Db::table('hc_category')
->where('id', $to_cate_id)->findOrEmpty();
if(empty($toCateInfo)){
var_dump('$toCateInfo 不存在');
exit();
}
if($fromCateInfo['typename'] != $toCateInfo['title']){
var_dump('分类名称不对应');
exit();
}
// 通过连接名使用
$listTmp = Db::connect('temp_remote_conn')
->table('zlkj_archives')
// ->where('state', 1)
->where('typeid', $from_cate_id)
// ->limit(3)
->select();
if(empty($listTmp)){
var_dump('数据为空!');
exit;
}
$listArr = $listTmp->toArray();
// var_dump($listTmp->toArray());
// exit();
if(empty($listArr)){
var_dump('数据为空!');
exit;
}
$opNum = 0;
$remoteConnTmp = Db::connect('temp_remote_conn');
foreach ($listArr as $k=>$oneOrigin){
$aid = $oneOrigin['aid'] ?? 0;
if(empty($aid)){
var_dump('数据异常!---$aid='.$oneOrigin['aid']);
exit;
}
// 查询关联表TODO...
$remoteContentOne = $remoteConnTmp->table('zlkj_article_content')
// ->where('state', 1)
->where('aid', $aid)
// ->limit(3)
->findOrEmpty();
if(empty($remoteContentOne)){
var_dump('数据异常--$remoteContent!---$aid='.$oneOrigin['aid']);
exit;
}
// dd($remoteContentOne);
$param = [];
// 手动拼接参数 $param
// module_id=1: 系统文章模型
// module_id=2: 客户模型
// module_id=3: 普通文章模型
// module_id=4: demo1案例模型
$param['module_id'] = 3; // 普通文章模型
$param['category_id'][0] = $to_cate_id; // 分类ID
$param['lang'] = 'zh';
$param['main_content']['sub_title'] = '';
$param['main_content']['more_file'] = '';
$param['sub_content']['title'] = $oneOrigin['title'];
$param['sub_content']['sub_title'] = '';
$param['sub_content']['detail_tpl'] = '';
$param['sub_content']['description'] = $remoteContentOne['desc'] ?? '';
$param['sub_content']['thumbnail'] = 0; // 缩略图
$param['sub_content']['cover'] = '';
$param['sub_content']['hits'] = $oneOrigin['click']; // 浏览量
$param['sub_content']['author'] = '';
$param['sub_content']['status'] = '1';
$param['sub_content']['url'] = '';
$param['sub_content']['is_top'] = '';
$param['sub_content']['is_recommend'] = '';
$param['sub_content']['sort'] = '';
$param['sub_content']['seo_title'] = '';
$param['sub_content']['seo_keyword'] = '';
$param['sub_content']['seo_description'] = $oneOrigin['seo_description'] ?? '';
$param['sub_content']['tag'] = ''; // 标签
$param['sub_content']['publish_time'] = '';
$param['sub_content']['content'] = $remoteContentOne['content'] ?? ''; // 富文本内容
$param['sub_content']['category_id'] = $to_cate_id; // 分类ID
$param['sub_content']['sub_category_ids'] = ''; //
if(!empty($remoteContentOne['img'])){
$fullName = basename($remoteContentOne['img']); // 16a67b...png
$ext = explode('.', $fullName);
$extension = end($ext); // 结果:png
$filename = substr($fullName, 0, strrpos($fullName, '.'));
// 将图片资源插入数据库
$fileData = [
'seller_id'=>1,
'name'=>$filename,
'attachment_cate_id'=>0,
'url'=>$remoteContentOne['img'],
'mime_type'=>$extension,
];
$fileID = Db::table('hc_attachment')
->insertGetId($fileData);
$param['sub_content']['thumbnail'] = $fileID; // 缩略图
}
if(!empty($oneOrigin['add_time'])){
$param['sub_content']['publish_time'] = date('Y-m-d H:i:s',$oneOrigin['add_time']);
}
try{
validate(ContentValidate::class)->scene('save')->check($param);
}catch (ValidateException $e){
return jsonReturn(422, $e->getError());
}
$param['admin'] = $this->admin;
unset($param['main_content']['id']);//添加接口以防冲突不需要id
unset($param['sub_content']['id']);//添加接口以防冲突不需要id
if(empty($param['sub_content']['publish_time'])){
$param['sub_content']['publish_time'] = date('Y-m-d H:i:s',time());
}
if(!isset($param['main_content'])){
$param['main_content'] = [];
}
// var_dump($param);
// exit();
$contentService = new ContentService();
try {
$res = $contentService->saveContent($param);
// var_dump($res);
// exit();
// 更改创建时间 ================= START
$newSubContentID = $res['id'] ?? '0';
if($newSubContentID <= 0){
var_dump('ID为空, 新增失败');
exit();
}
if(!empty($oneOrigin['add_time'])){
Db::table('hc_sub_content')
->where('id', $newSubContentID)
->update(['status'=>1,'create_time' => $oneOrigin['add_time']]);
Db::table('hc_article')
->where('sub_id', $newSubContentID)
->update(['create_time' => $oneOrigin['add_time']]);
}
// 更改创建时间 ================= END
} catch (ModelEmptyException | ModelException $e) {
return jsonReturn(-3,$e->getMessage());
}
$opNum ++;
}
var_dump('操作的条数为: ', $opNum);
exit;
}
} }

5
app/controller/frontend/FormController.php

@ -2,12 +2,17 @@
namespace app\controller\frontend; namespace app\controller\frontend;
use app\exception\ModelEmptyException;
use app\exception\ModelException;
use app\model\Attachment; use app\model\Attachment;
use app\model\customModel\Down; use app\model\customModel\Down;
use app\model\DiyForm; use app\model\DiyForm;
use app\model\SubContent; use app\model\SubContent;
use app\model\SysSetting; use app\model\SysSetting;
use app\service\ContentService;
use app\service\upload\Upload; use app\service\upload\Upload;
use app\validate\ContentValidate;
use think\exception\ValidateException;
use think\facade\Db; use think\facade\Db;
class FormController extends BaseController class FormController extends BaseController

11
app/controller/frontend/SearchController.php

@ -4,10 +4,16 @@
namespace app\controller\frontend; namespace app\controller\frontend;
use app\exception\ModelEmptyException;
use app\exception\ModelException;
use app\model\Category; use app\model\Category;
use app\model\CategorySubContent; use app\model\CategorySubContent;
use app\model\SubContent; use app\model\SubContent;
use app\model\SysSetting; use app\model\SysSetting;
use app\service\ContentService;
use app\validate\ContentValidate;
use think\exception\ValidateException;
use think\facade\Db;
class SearchController extends BaseController class SearchController extends BaseController
{ {
@ -45,9 +51,10 @@ class SearchController extends BaseController
// 获取可以查询的栏目 // 获取可以查询的栏目
$category = new Category(); $category = new Category();
// $categories = $category -> getAllCustomArrayData(['is_search' => 1],'id desc','id')['data'];
$categories = $category -> getAllCustomArrayData(['is_search' => 1],'id desc','id')['data'];
// status: 1 正常 2 禁用 // status: 1 正常 2 禁用
$categories = $category -> getAllCustomArrayData(['status' => 1],'id desc','id')['data'];
// $categories = $category -> getAllCustomArrayData(['status' => 1],'id desc','id')['data'];
$cateIds = array_column($categories,'id'); $cateIds = array_column($categories,'id');
$cateSub = new CategorySubContent(); $cateSub = new CategorySubContent();

Loading…
Cancel
Save