CZRTransfer.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: TangKe
  5. * Date: 2019/6/9
  6. * Time: 10:17
  7. */
  8. namespace App\Console\Commands\Transfer;
  9. use App\Models\Feature;
  10. use App\Models\FeatureSort;
  11. use App\Models\Innovator;
  12. use App\Models\InnovatorCategory;
  13. use App\Models\Policy;
  14. use App\Models\PolicyCategory;
  15. use App\Models\PolicyProperty;
  16. use App\Models\Treat;
  17. use App\Transfer\CompanyProfile;
  18. use Illuminate\Console\Command;
  19. use App\Transfer\Ad;
  20. use App\Transfer\AdCategory;
  21. use App\Models\SubsiteAd;
  22. use App\Models\Ad as newAd;
  23. use App\Models\AdCategory as newAdCate;
  24. class CZRTransfer extends Command
  25. {
  26. protected $signature = 'aix:transfer-crz';
  27. protected $description = 'add the transfer-crz data';
  28. /**
  29. * ArticleCommand constructor.
  30. */
  31. public function __construct()
  32. {
  33. parent::__construct();
  34. }
  35. public function handle() {
  36. // qs_policy_category 政策分类
  37. // qs_policy_property 政策层级
  38. // qs_aix_treat 待遇
  39. // qs_policy 政策
  40. // qs_innovator_category 创业帮手分类
  41. // qs_innovator 创业帮手
  42. // qs_feature 人才展示
  43. // qs_feature_sort 人才排序
  44. //强制删除相关数据
  45. PolicyCategory::truncate();
  46. PolicyProperty::truncate();
  47. Treat::truncate();
  48. Policy::truncate();
  49. InnovatorCategory::truncate();
  50. Innovator::truncate();
  51. Feature::truncate();
  52. FeatureSort::truncate();
  53. //--------------------------------------------------------------------------------------------------------------------------------------------------------
  54. $this->info("开始转移 政策分类 数据...");
  55. $total = \App\Transfer\PolicyCategory::count();
  56. $bar=$this->output->createProgressBar($total);
  57. \App\Transfer\PolicyCategory::chunk(10, function ($categorys) use ($bar) {
  58. $categorysData = [];
  59. foreach ($categorys as $key => $val) {
  60. $categorysData[$key]['id'] = $val->id;
  61. $categorysData[$key]['parent_id'] = $val->parentid;
  62. $categorysData[$key]['categoryname'] = $val->categoryname;
  63. $categorysData[$key]['category_order'] = $val->category_order;
  64. $categorysData[$key]['title'] = $val->title;
  65. $categorysData[$key]['description'] = $val->description;
  66. $categorysData[$key]['keywords'] = $val->keywords;
  67. $categorysData[$key]['admin_set'] = $val->admin_set;
  68. $categorysData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  69. $categorysData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  70. }
  71. if ($categorysData) {
  72. PolicyCategory::insert($categorysData);
  73. }
  74. $bar->advance(10);
  75. });
  76. $bar->finish();
  77. $this->line(" 完成!");
  78. $this->info("转移 政策分类 数据成功.");
  79. //----------------------------------------------------------------------------------------------------------------------------------------------
  80. $this->info("开始转移 政策层次 数据...");
  81. $total = \App\Transfer\PolicyProperty::count();
  82. $bar=$this->output->createProgressBar($total);
  83. \App\Transfer\PolicyProperty::chunk(10, function ($propertys) use ($bar) {
  84. $propertysData = [];
  85. foreach ($propertys as $key => $val) {
  86. $propertysData[$key]['id'] = $val->id;
  87. $propertysData[$key]['categoryname'] = $val->categoryname;
  88. $propertysData[$key]['category_order'] = $val->category_order;
  89. $propertysData[$key]['admin_set'] = $val->admin_set;
  90. $propertysData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  91. $propertysData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  92. }
  93. if ($propertysData) {
  94. PolicyProperty::insert($propertysData);
  95. }
  96. $bar->advance(10);
  97. });
  98. $bar->finish();
  99. $this->line(" 完成!");
  100. $this->info("转移 政策层次 数据成功.");
  101. //-------------------------------------------------------------------------------------------------------------------------------------------------
  102. $this->info("开始转移 待遇 数据...");
  103. $total = \App\Transfer\Treat::count();
  104. $bar=$this->output->createProgressBar($total);
  105. \App\Transfer\Treat::chunk(10, function ($treats) use ($bar) {
  106. $treatsData = [];
  107. foreach ($treats as $key => $val) {
  108. $treatsData[$key]['id'] = $val->id;
  109. $treatsData[$key]['property_id'] = $val->property_id;
  110. $treatsData[$key]['c_id'] = $val->c_id;
  111. $treatsData[$key]['title'] = $val->title;
  112. $treatsData[$key]['pic'] = $val->pic;
  113. $treatsData[$key]['intro'] = $val->intro;
  114. $treatsData[$key]['content'] = htmlspecialchars_decode($val->content);
  115. $treatsData[$key]['sort'] = $val->sort;
  116. $treatsData[$key]['addtime'] = $val->addtime;
  117. $treatsData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  118. $treatsData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  119. }
  120. if ($treatsData) {
  121. Treat::insert($treatsData);
  122. }
  123. $bar->advance(10);
  124. });
  125. $bar->finish();
  126. $this->line(" 完成!");
  127. $this->info("转移 待遇 数据成功.");
  128. //-------------------------------------------------------------------------------------------------------------------------------------------------
  129. $this->info("开始转移 政策 数据...");
  130. $total = \App\Transfer\Policy::count();
  131. $bar=$this->output->createProgressBar($total);
  132. \App\Transfer\Policy::chunk(10, function ($policys) use ($bar) {
  133. $policysData = [];
  134. foreach ($policys as $key => $val) {
  135. $is_url = $val->is_url;
  136. if ($val->is_url == 'http://') {
  137. $is_url = '';
  138. }
  139. $policysData[$key]['id'] = $val->id;
  140. $policysData[$key]['type_id'] = $val->type_id;
  141. $policysData[$key]['parentid'] = $val->parentid;
  142. $policysData[$key]['title'] = $val->title;
  143. $content = htmlspecialchars_decode($val->content);
  144. $match_str = '/data/upload';
  145. if (strpos($content, $match_str) >= 0) {
  146. $content = str_replace($match_str, '/storage/old', $content);
  147. }
  148. $policysData[$key]['content']=$content;
  149. $policysData[$key]['tit_color'] = $val->tit_color ? $val->tit_color : '#000000';
  150. $policysData[$key]['tit_b'] = $val->tit_b;
  151. $policysData[$key]['small_img'] =!empty( $val->Small_img) ? 'old/images/' . $val->Small_img : '';
  152. $policysData[$key]['author'] = $val->author;
  153. $policysData[$key]['source'] = $val->source;
  154. $policysData[$key]['focos'] = $val->focos;
  155. $policysData[$key]['is_display'] = $val->is_display;
  156. $policysData[$key]['is_url'] = $is_url;
  157. $policysData[$key]['seo_keywords'] = $val->seo_keywords;
  158. $policysData[$key]['seo_description'] = $val->seo_description;
  159. $policysData[$key]['click'] = $val->click;
  160. $policysData[$key]['addtime'] = $val->addtime;
  161. $policysData[$key]['article_order'] = $val->article_order;
  162. $policysData[$key]['level_id'] = $val->level_id;
  163. $policysData[$key]['level_name'] = $val->level_name;
  164. $policysData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  165. $policysData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  166. }
  167. if ($policysData) {
  168. Policy::insert($policysData);
  169. }
  170. $bar->advance(10);
  171. });
  172. $bar->finish();
  173. $this->line(" 完成!");
  174. $this->info("转移 政策 数据成功.");
  175. //-------------------------------------------------------------------------------------------------------------------------------------------------
  176. $this->info("开始转移 创业帮手分类 数据...");
  177. $total = \App\Transfer\InnovatorCategory::count();
  178. $bar=$this->output->createProgressBar($total);
  179. \App\Transfer\InnovatorCategory::chunk(10, function ($innovatorCategorys) use ($bar) {
  180. $innovatorCategorysData = [];
  181. foreach ($innovatorCategorys as $key => $val) {
  182. $innovatorCategorysData[$key]['id'] = $val->id;
  183. $innovatorCategorysData[$key]['parentid'] = $val->parentid;
  184. $innovatorCategorysData[$key]['categoryname'] = $val->categoryname;
  185. $innovatorCategorysData[$key]['category_order'] = $val->category_order;
  186. $innovatorCategorysData[$key]['title'] = $val->title;
  187. $innovatorCategorysData[$key]['description'] = $val->description;
  188. $innovatorCategorysData[$key]['keywords'] = $val->keywords;
  189. $innovatorCategorysData[$key]['admin_set'] = $val->admin_set;
  190. $innovatorCategorysData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  191. $innovatorCategorysData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  192. }
  193. if ($innovatorCategorysData) {
  194. InnovatorCategory::insert($innovatorCategorysData);
  195. }
  196. $bar->advance(10);
  197. });
  198. $bar->finish();
  199. $this->line(" 完成!");
  200. $this->info("转移 创业帮手分类 数据成功.");
  201. //-------------------------------------------------------------------------------------------------------------------------------------------------
  202. $this->info("开始转移 创业帮手 数据...");
  203. $total = \App\Transfer\Innovator::count();
  204. $bar=$this->output->createProgressBar($total);
  205. \App\Transfer\Innovator::chunk(10, function ($innovators) use ($bar) {
  206. $innovatorsData = [];
  207. foreach ($innovators as $key => $val) {
  208. $is_url = $val->is_url;
  209. if ($val->is_url == 'http://') {
  210. $is_url = '';
  211. }
  212. $innovatorsData[$key]['id'] = $val->id;
  213. $innovatorsData[$key]['parentid'] = $val->parentid;
  214. $innovatorsData[$key]['type_id'] = $val->type_id;
  215. $innovatorsData[$key]['type_name'] = $val->type_name;
  216. $innovatorsData[$key]['name'] = $val->name;
  217. $innovatorsData[$key]['photo_img'] = !empty($val->photo_img) ? 'old/innovator/' . $val->photo_img : '' ;
  218. $innovatorsData[$key]['company_name'] = $val->company_name;
  219. $innovatorsData[$key]['duty_name'] = $val->duty_name;
  220. $innovatorsData[$key]['trade_id'] = $val->trade_id;
  221. $innovatorsData[$key]['trade_cn'] = $val->trade_cn;
  222. $innovatorsData[$key]['points'] = $val->points;
  223. $innovatorsData[$key]['points'] = $val->points;
  224. $innovatorsData[$key]['content'] = htmlspecialchars_decode($val->content);
  225. $innovatorsData[$key]['display_order'] = $val->display_order;
  226. $innovatorsData[$key]['mobile'] = $val->mobile;
  227. $innovatorsData[$key]['mobile_display'] = $val->mobile_display;
  228. $innovatorsData[$key]['email'] = $val->email;
  229. $innovatorsData[$key]['email_display'] = $val->email_display;
  230. $innovatorsData[$key]['is_display'] = $val->is_display;
  231. $innovatorsData[$key]['is_url'] = $is_url;
  232. $innovatorsData[$key]['addtime'] = $val->addtime;
  233. $innovatorsData[$key]['keywords'] = $val->keywords;
  234. $innovatorsData[$key]['description'] = $val->description;
  235. $innovatorsData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  236. $innovatorsData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  237. }
  238. if ($innovatorsData) {
  239. Innovator::insert($innovatorsData);
  240. }
  241. $bar->advance(10);
  242. });
  243. $bar->finish();
  244. $this->line(" 完成!");
  245. $this->info("转移 创业帮手 数据成功.");
  246. //-------------------------------------------------------------------------------------------------------------------------------------------------
  247. $this->info("开始转移 人才排序 数据...");
  248. $total = \App\Transfer\FeatureSort::count();
  249. $bar=$this->output->createProgressBar($total);
  250. \App\Transfer\FeatureSort::chunk(10, function ($featureSorts) use ($bar) {
  251. $featureSortsData = [];
  252. foreach ($featureSorts as $key => $val) {
  253. $featureSortsData[$key]['id'] = $val->id;
  254. $featureSortsData[$key]['parent_id'] = $val->parentid;
  255. $featureSortsData[$key]['categoryname'] = $val->categoryname;
  256. $featureSortsData[$key]['category_order'] = $val->category_order;
  257. $featureSortsData[$key]['title'] = $val->title;
  258. $featureSortsData[$key]['description'] = $val->description;
  259. $featureSortsData[$key]['keywords'] = $val->keywords;
  260. $featureSortsData[$key]['admin_set'] = $val->admin_set;
  261. $featureSortsData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  262. $featureSortsData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  263. }
  264. if ($featureSortsData) {
  265. FeatureSort::insert($featureSortsData);
  266. }
  267. $bar->advance(10);
  268. });
  269. $bar->finish();
  270. $this->line(" 完成!");
  271. $this->info("转移 人才排序 数据成功.");
  272. //-------------------------------------------------------------------------------------------------------------------------------------------------
  273. $this->info("开始转移 人才展示 数据...");
  274. $total = \App\Transfer\Feature::count();
  275. $bar=$this->output->createProgressBar($total);
  276. \App\Transfer\Feature::chunk(10, function ($features) use ($bar) {
  277. $featuresData = [];
  278. foreach ($features as $key => $val) {
  279. $is_url = $val->is_url;
  280. if ($val->is_url == 'http://') {
  281. $is_url = '';
  282. }
  283. $featuresData[$key]['id'] = $val->id;
  284. $featuresData[$key]['parentid'] = $val->parentid;
  285. $featuresData[$key]['name'] = $val->name;
  286. $featuresData[$key]['district'] = $val->district;
  287. $featuresData[$key]['personal'] = $val->personal;
  288. $content = htmlspecialchars_decode($val->content);
  289. $match_str = '/data/upload';
  290. if (strpos($content, $match_str) >= 0) {
  291. $content = str_replace($match_str, '/storage/old', $content);
  292. }
  293. $featuresData[$key]['content']=$content;
  294. $featuresData[$key]['title'] = $val->title;
  295. $featuresData[$key]['photo'] = !empty($val->photo) ? 'old/photo/' . $val->photo : '' ;
  296. $featuresData[$key]['occupation'] = $val->occupation;
  297. $featuresData[$key]['summary'] = $val->summary;
  298. $featuresData[$key]['addtime'] = $val->addtime;
  299. $featuresData[$key]['read'] = $val->read;
  300. $featuresData[$key]['is_url'] = $is_url;
  301. $featuresData[$key]['is_display'] = $val->is_display;
  302. $featuresData[$key]['seo_keywords'] = $val->seo_keywords;
  303. $featuresData[$key]['seo_description'] = $val->seo_description;
  304. $featuresData[$key]['article_order'] = $val->article_order;
  305. $featuresData[$key]['type_id'] =$val-> type_id;
  306. $featuresData[$key]['rc_show'] = $val->rc_show;
  307. $featuresData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  308. $featuresData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  309. }
  310. if ($featuresData) {
  311. Feature::insert($featuresData);
  312. }
  313. $bar->advance(10);
  314. });
  315. $bar->finish();
  316. $this->line(" 完成!");
  317. $this->info("转移 人才展示 数据成功.");
  318. }
  319. }