meta = $meta; } //列表 public function index($request){ $perPage = isset($request['per_page']) ? $request['per_page'] : 20; $where = []; if(isset($request['patch_num']) && $request['patch_num']){ $where[] = ['patch_num','like',"%".$request['patch_num']]; } return $this->meta->where($where)->orderBy('id', 'desc')->paginate($perPage); } //详情 public function view($request){ $info = Serialize::where('serialize',$request['patch_num'])->first(); return $this->meta->where([['id','=',$info['meta_id']],['status','=',1]])->first(); } //创建 public function create($request){ $category = $this->meta->where(['patch_num'=>$request['patch_num']])->first(); if($category){ return Response::create([ 'message' => '该批次已存在', 'status_code' => 500 ]); } if(count($request['farm'])>10){ return Response::create([ 'message' => '农场图片不能超过10张', 'status_code' => 500 ]); } $data = [ 'patch_num' => $request['patch_num'], 'produce_date' => $request['produce_date'], 'variety' => $request['variety'], 'variety_img' => $request['variety_img'], 'age' => $request['age'], 'food' => $request['food'], 'food_img' => $request['food_img'], 'water' => $request['water'], 'water_img' => $request['water_img'], 'logistical' => $request['logistical']??'', 'farm' => \GuzzleHttp\json_encode($request['farm']), 'report' => $request['report'], ]; DB::beginTransaction(); try{ $meta = $this->meta->create($data); $info = Serialize::where('meta_id',0)->orderBy('id','asc')->first(); if(empty($info)){ DB::rollBack(); return Response::create([ 'message' => '新增元数据失败,请重试', 'error' => '序列号已使用完成,请继续生成', 'status_code' => 500 ]); } $info->meta_id = $meta->id; $info->save(); DB::commit(); Storage::put('chsy/qrcodes/'.$meta['patch_num'].'.png',QrCode::size(200)->generate("http://uptoyo.com/".$info['serialize'])); return Response::create(); }catch (QueryException $exception){ DB::rollBack(); Log::debug('新增元数据失败:'.$exception->getMessage()); return Response::create([ 'message' => '新增元数据失败,请重试', 'error' => $exception->getMessage(), 'status_code' => 500 ]); } } //修改 public function update($request){ $category = $this->meta->where('id', $request['id'])->first(); if(isset($request['is_suggest']) && $request['is_suggest'] !== null){ $category->is_suggest = $request['is_suggest']; } $res = $category->save(); if($res){ return Response::create(); } } }