CategoryTransfer.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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\Transfer\Category;
  10. use App\Transfer\CategoryGroup;
  11. use App\Transfer\CategoryDistrict;
  12. use App\Transfer\CategoryJobs as categoryJob;
  13. use App\Transfer\CategoryMajor;
  14. use Illuminate\Console\Command;
  15. use App\Models\Category as categorys;
  16. use App\Models\CategoryGroups;
  17. use App\Models\CategoryDistrict as categoryDistricts;
  18. use App\Models\CategoryJobs;
  19. Use App\Models\CategoryMajor as categoryMajors;
  20. class CategoryTransfer extends Command
  21. {
  22. protected $signature = 'aix:transfer-category';
  23. protected $description = 'add the transfer-category data';
  24. /**
  25. * ArticleCommand constructor.
  26. */
  27. public function __construct()
  28. {
  29. parent::__construct();
  30. }
  31. public function handle()
  32. {
  33. //强制数据
  34. categorys::truncate();
  35. CategoryGroups::truncate();
  36. categoryDistricts::truncate();
  37. CategoryJobs::truncate();
  38. categoryMajors::truncate();
  39. // 导入分类
  40. $this->info("开始转移 categoryGroup 数据...");
  41. $total = CategoryGroup::count();
  42. $bar = $this->output->createProgressBar($total);
  43. CategoryGroup::orderBy('g_id', 'asc')->chunk(10, function ($categoryGroups) use ($bar) {
  44. $insertData = [];
  45. foreach ($categoryGroups as $key => $val) {
  46. $insertData[$key]['id'] = $val->g_id;
  47. $insertData[$key]['name'] = $val->g_name;
  48. $insertData[$key]['alias'] = str_replace("QS_", "AIX_", $val->g_alias);
  49. $insertData[$key]['sys'] = $val->g_sys;
  50. $insertData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  51. $insertData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  52. }
  53. if ($insertData) {
  54. CategoryGroups::insert($insertData);
  55. }
  56. $bar->advance(10);
  57. });
  58. $bar->finish();
  59. $this->line(" 完成!");
  60. $this->info("转移 categoryGroup 数据成功.");
  61. $this->info("开始转移 categorys 数据...");
  62. $total = Category::count();
  63. $bar = $this->output->createProgressBar($total);
  64. Category::orderBy('c_id', 'asc')->chunk(10, function ($categorys) use ($bar) {
  65. $insertData = [];
  66. foreach ($categorys as $key => $val) {
  67. $insertData[$key]['id'] = $val->c_id;
  68. $insertData[$key]['alias'] = str_replace("QS_", "AIX_", $val->c_alias);
  69. $insertData[$key]['demand'] = $val->c_name;
  70. $insertData[$key]['category_name'] = CategoryGroup::where('g_alias', $val->c_alias)->value('g_name');
  71. $insertData[$key]['order'] = $val->c_order;
  72. $insertData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  73. $insertData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  74. }
  75. if ($insertData) {
  76. categorys::insert($insertData);
  77. }
  78. $bar->advance(10);
  79. });
  80. $bar->finish();
  81. $this->line(" 完成!");
  82. $this->info("转移 categorys 数据成功.");
  83. $this->info("开始转移 categoryDistrict 数据...");
  84. $total = CategoryDistrict::count();
  85. $bar = $this->output->createProgressBar($total);
  86. CategoryDistrict::orderBy('id', 'asc')->chunk(10, function ($categoryDistricts) use ($bar) {
  87. $insertData = [];
  88. foreach ($categoryDistricts as $key => $val) {
  89. $insertData[$key]['id'] = $val->id;
  90. $insertData[$key]['parent_id'] = $val->parentid;
  91. $insertData[$key]['name'] = $val->categoryname;
  92. $insertData[$key]['order'] = $val->category_order;
  93. $insertData[$key]['spell'] = $val->spell;
  94. $insertData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  95. $insertData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  96. }
  97. if ($insertData) {
  98. categoryDistricts::insert($insertData);
  99. }
  100. $bar->advance(10);
  101. });
  102. $bar->finish();
  103. $this->line(" 完成!");
  104. $this->info("转移 categoryDistrict 数据成功.");
  105. $this->info("开始转移 categoryJob 数据...");
  106. $total = categoryJob::count();
  107. $bar = $this->output->createProgressBar($total);
  108. categoryJob::orderBy('id', 'asc')->chunk(10, function ($categoryJobs) use ($bar) {
  109. $insertData = [];
  110. foreach ($categoryJobs as $key => $val) {
  111. $insertData[$key]['id'] = $val->id;
  112. $insertData[$key]['parent_id'] = $val->parentid;
  113. $insertData[$key]['name'] = $val->categoryname;
  114. $insertData[$key]['order'] = $val->category_order;
  115. $insertData[$key]['spell'] = $val->spell;
  116. $insertData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  117. $insertData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  118. }
  119. if ($insertData) {
  120. CategoryJobs::insert($insertData);
  121. }
  122. $bar->advance(10);
  123. });
  124. $bar->finish();
  125. $this->line(" 完成!");
  126. $this->info("转移 categoryJob 数据成功.");
  127. $this->info("开始转移 categoryMajor 数据...");
  128. $total = CategoryMajor::count();
  129. $bar = $this->output->createProgressBar($total);
  130. CategoryMajor::orderBy('id', 'asc')->chunk(10, function ($categoryMajors) use ($bar) {
  131. $insertData = [];
  132. foreach ($categoryMajors as $key => $val) {
  133. $insertData[$key]['id'] = $val->id;
  134. $insertData[$key]['parent_id'] = $val->parentid;
  135. $insertData[$key]['name'] = $val->categoryname;
  136. $insertData[$key]['order'] = $val->category_order;
  137. $insertData[$key]['created_at'] = date('Y-m-d H:i:s', time());
  138. $insertData[$key]['updated_at'] = date('Y-m-d H:i:s', time());
  139. }
  140. if ($insertData) {
  141. categoryMajors::insert($insertData);
  142. }
  143. $bar->advance(10);
  144. });
  145. $bar->finish();
  146. $this->line(" 完成!");
  147. $this->info("转移 categoryMajor 数据成功.");
  148. }
  149. }