add(count($prov_name)); foreach ($prov_name as $k => $v){ co(function () use ($wg,$v) { $generator = $this->container->get(IdGeneratorInterface::class); $params = array(); $params['prov_name'] = $v; $params['id'] = 39458; $hospital = TbHospitalMy::getList($params); foreach ($hospital as $key => $value) { dump(111); $params = array(); $params['hospital_name'] = $value['name']; $params['province'] = $value['prov_name']; $params['city'] = $value['city_name']; $res = Hospital::getOne($params); if(!empty($res)){ dump("重复-跳过-".$value['name']); $params = array(); $params['id'] = $value['id']; $res = Db::table('tb_hospital_my')->where($params)->delete(); if (!$res) { return "删除错误"; } continue; } $data = array(); $data['hospital_id'] = $generator->generate();; $data['hospital_name'] = $value['name']; $data['hospital_status'] = 1; if ($value['level'] == 0){ $data['hospital_level_name'] = "未知"; }elseif ($value['level'] == 1){ $data['hospital_level_name'] = "三甲"; }elseif ($value['level'] == 2){ $data['hospital_level_name'] = "三级"; }elseif ($value['level'] == 3){ $data['hospital_level_name'] = "二级"; }elseif ($value['level'] == 4){ $data['hospital_level_name'] = "其他"; }else{ continue; } $data['post_code'] = $value['postcode']; $data['tele_phone'] = $value['office_phone']; $data['lat'] = $value['lat']; $data['lng'] = $value['lng']; $data['desc'] = $value['info']; $data['created_at'] = date('Y-m-d H:i:s',time()); $data['updated_at'] = date('Y-m-d H:i:s',time()); // 省 $params = array(); $params['area_name'] = $value['prov_name']; $province = Area::getOne($params); if(empty($province)){ dump("省份-未知-".$value['prov_name']); continue; }else{ $data['province_id'] = $province['area_id']; $data['province'] = $province['area_name']; } // 市 $params = array(); $params['area_name'] = $value['city_name']; $params['parent_id'] = $province['area_id']; $city = Area::getOne($params); if(empty($city)){ dump("市区-未知-".$value['city_name']); continue; }else{ $data['city_id'] = $city['area_id']; $data['city'] = $city['area_name']; } $params = array(); $params['area_name'] = $value['county_name']; $params['parent_id'] = $city['area_id']; $county = Area::getOne($params); if(empty($county)){ dump("区县-未知-".$value['county_name']); continue; }else{ $data['county_id'] = $county['area_id']; $data['county'] = $county['area_name']; } $data['address'] = $value['address']; $res = Hospital::addHospital($data); if (empty($res)) { dump("添加-失败-跳过"); continue; } $params = array(); $params['id'] = $value['id']; $res = Db::table('tb_hospital_my')->where($params)->delete(); if (!$res) { return "删除错误"; } } $wg->done(); }); } // 等待协程 A 和协程 B 运行完成 $wg->wait(); return success(); } // 处方平台商品入库 public function product(){ $product_platform_id = [ "518095343843098625", "519091456971071489", "517652954976141313", "519151179795808256", "517652642211086336", "517653593286295552", "517653183070781441", "517653906999263232", "517652642227863552", "517653183100141569", "517653906969903104", ]; foreach ($product_platform_id as $value){ $params = array(); $params['product_platform_id'] = $value; $product_platform = ProductPlatform::getOne($params); if (empty($product_platform)){ continue; } $params = array(); $params['product_platform_id'] = $value; $product = Product::getOne($params); if (empty($product)){ $data = array(); $data['product_platform_id'] = $value; $data['common_name'] = $product_platform['product_name']; $data['product_price'] = $product_platform['product_price']; $data['product_type'] = $product_platform['product_type']; $data['product_platform_code'] = $product_platform['product_platform_code']; $data['product_pharmacy_code'] = $product_platform['product_pharmacy_code']; $data['product_spec'] = $product_platform['product_spec']; $data['license_number'] = $product_platform['license_number']; $data['manufacturer'] = $product_platform['manufacturer']; $data['packaging_unit'] = $product_platform['packaging_unit']; Product::addProduct($data); }else{ $params = array(); $params['product_id'] = $product['product_id']; $data = array(); $data['common_name'] = $product_platform['product_name']; $data['product_price'] = $product_platform['product_price']; $data['product_type'] = $product_platform['product_type']; $data['product_platform_code'] = $product_platform['product_platform_code']; $data['product_pharmacy_code'] = $product_platform['product_pharmacy_code']; $data['product_spec'] = $product_platform['product_spec']; $data['license_number'] = $product_platform['license_number']; $data['manufacturer'] = $product_platform['manufacturer']; $data['packaging_unit'] = $product_platform['packaging_unit']; Product::edit($params,$data); } } } }