CpSubController.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace App\Http\Controllers\Manage\Cp;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Controllers\Manage\Cp\Transformers\CpSubTransformer;
  5. use App\Modules\Cp\Models\CpSub;
  6. use Illuminate\Http\Request;
  7. use DB;
  8. use Excel;
  9. class CpSubController extends Controller
  10. {
  11. public $msg;
  12. public function sub_import_view(){
  13. \Log::info('sub_import_view');
  14. $msg = '';
  15. return view('manage.web.cp.sub_import',compact('msg'));
  16. }
  17. /**
  18. * 书籍数据导入
  19. */
  20. public function subs_import(Request $request)
  21. {
  22. ini_set('memory_limit', '1024M');
  23. $condition = $request->all();
  24. $msg = '';
  25. if($request->file('file')){
  26. Excel::load($request->file('file'), function($reader) {
  27. //获取excel的第几张表
  28. $reader = $reader->getSheet(0);
  29. //获取表中的数据
  30. $results = $reader->toArray();
  31. die($results);
  32. $import_subs = array();
  33. foreach($results as $result){
  34. $import_sub = array();
  35. $import_sub['cp_user_id'] = $result[0];
  36. $import_sub['month'] = $result[1];
  37. $import_sub['bid'] = $result[2];
  38. $import_sub['num'] = $result[3];
  39. $import_sub['book_name'] = mysql_escape_string($result[4]);
  40. $import_subs[] = $import_sub;
  41. }
  42. $this->import_subs($import_subs,false);
  43. });
  44. }
  45. else{
  46. \Log::info('subs_import_null');
  47. }
  48. return response()->success($this->msg);
  49. }
  50. function import_subs($subs,$need_first_one=false){
  51. $datas = array();
  52. foreach($subs as $key=>$sub){
  53. if($key > 0 || $need_first_one){
  54. $sub = trim($sub);
  55. if(isset($sub['cp_user_id']) && !empty($sub['cp_user_id'])){
  56. $origin_data = DB::table('cp_subs')->where(['cp_user_id'=>$sub['cp_user_id'],'month'=>$sub['month'],'bid'=>$sub['bid']])->first();
  57. if(empty($origin_data)){
  58. $data = array();
  59. $data['cp_user_id'] = $sub['cp_user_id'];
  60. $data['month'] = $sub['month'];
  61. $data['bid'] = $sub['bid'];
  62. $data['num'] = $sub['num'];
  63. $data['book_name'] = mysql_escape_string($sub['book_name']);
  64. $data['created_at'] = date('Y-m-d H:i:s');
  65. $data['updated_at'] = date('Y-m-d H:i:s');
  66. $datas[] = $data;
  67. }else{
  68. \Log::info('subs_import_exist_cu_user_id:'.$sub['cp_user_id'].' month:'.$sub['month'].' bid:'.$sub['bid']);
  69. $this->msg .= $sub.' 已存在<br>';
  70. }
  71. }else{
  72. \Log::info('subs_import_error_cu_user_id:'.$sub['cp_user_id'].' month:'.$sub['month'].' bid:'.$sub['bid']);
  73. $this->msg .= empty($sub)?'':$sub.' 格式有问题<br>';
  74. }
  75. }
  76. }
  77. if(!empty($datas)){
  78. CpSub::insert($datas);
  79. }
  80. // v('last_data');
  81. // v($datas);
  82. $this->msg = empty($this->msg)?'导入成功':$this->msg.',剩下导入成功';
  83. // v('$msg');v($this->msg);
  84. }
  85. }