setDescription('Ca证书申请'); } public function handle() { $this->line('开始'); // 获取全部医生 $params = array(); $params['status'] = 1; $params['idcard_status'] = 1; $params['iden_auth_status'] = 1; $user_doctors = UserDoctor::getList($params); if (empty($user_doctors)){ $this->line('结束,无医生需处理'); return; } // 获取医院数据 $params = array(); $params['is_system'] = 1; $params['type'] = 2; $user_ca_cert = UserCaCert::getOne($params); if (empty($user_ca_cert)){ $CaOnline = new CaOnline(); // 申请医院证书 $data = array(); $data['user_id'] = "5345345461"; $data['mobile'] = "18601047315"; $data['org_name'] = "成都金牛欣欣相照互联网医院有限公司"; $data['org_number'] = "91510106MABTJY4K9R"; $result = $CaOnline->getCloudCert($data,'Organizational'); $data = array(); $data['is_system'] = 1; $data['type'] = 2; $data['cert_base64'] = $result['certBase64']; $data['cert_chain_p7'] = $result['certP7']; $data['cert_serial_number'] = $result['certSerialnumber']; $data['ca_pin'] = "5345345461"; $doctor_pharmacist_cert = UserCaCert::addUserCaCert($data); if (empty($doctor_pharmacist_cert)){ $this->line('错误:医院证书错误'); return; } } foreach ($user_doctors as $user_doctor){ try { // 获取医生ca证书数据 $params = array(); $params['user_id'] = $user_doctor['user_id']; $user_ca_cert = UserCaCert::getOne($params); if (!empty($user_ca_cert)){ continue; } // 获取用户数据 $params = array(); $params['user_id'] = $user_doctor['user_id']; $user = User::getOne($params); if (empty($user)){ continue; } $params = array(); $params['user_id'] = $user_doctor['user_id']; $user_doctor_info = UserDoctorInfo::getOne($params); if (empty($user_doctor_info)){ continue; } $CaOnline = new CaOnline(); $data = array(); $data['user_id'] = $user_doctor['user_id']; $data['mobile'] = $user['mobile']; $data['card_name'] = $user_doctor_info['card_name']; $data['card_num'] = $user_doctor_info['card_num']; $data['orgDept'] = $user_doctor['department_custom_name']; $result = $CaOnline->getCloudCert($data); $data = array(); $data['user_id'] = $user_doctor['user_id']; $data['type'] = 2; $data['cert_base64'] = $result['certBase64']; $data['cert_chain_p7'] = $result['certP7']; $data['cert_serial_number'] = $result['certSerialnumber']; $data['ca_pin'] = $user_doctor['user_id']; $doctor_pharmacist_cert = UserCaCert::addUserCaCert($data); if (empty($doctor_pharmacist_cert)){ $this->line('错误'); return; } $this->line('成功'); }catch (\Exception $e){ $this->line('错误:' . $e->getMessage()); continue; } } // 获取药师数据 $params = array(); $params['status'] = 1; $params['is_online'] = 1; $user_pharmacist = UserPharmacist::getOne($params); if (empty($user_pharmacist)){ $this->line('结束,无药师需处理'); return; } // 获取医生ca证书数据 $params = array(); $params['user_id'] = $user_pharmacist['user_id']; $user_ca_cert = UserCaCert::getOne($params); if (!empty($user_ca_cert)){ $this->line('结束,无药师需处理'); return; } // 获取用户数据 $params = array(); $params['user_id'] = $user_pharmacist['user_id']; $user = User::getOne($params); if (empty($user)){ $this->line('结束,药师用户数据错误'); return; } $params = array(); $params['user_id'] = $user_pharmacist['user_id']; $user_pharmacist_info = UserPharmacistInfo::getOne($params); if (empty($user_pharmacist_info)){ $this->line('结束,无药师需处理'); return; } $CaOnline = new CaOnline(); $data = array(); $data['user_id'] = $user_pharmacist_info['user_id']; $data['mobile'] = $user['mobile']; $data['card_name'] = $user_pharmacist_info['card_name']; $data['card_num'] = $user_pharmacist_info['card_num']; $result = $CaOnline->getCloudCert($data); $data = array(); $data['user_id'] = $user_pharmacist_info['user_id']; $data['type'] = 2; $data['cert_base64'] = $result['certBase64']; $data['cert_chain_p7'] = $result['certP7']; $data['cert_serial_number'] = $result['certSerialnumber']; $data['ca_pin'] = $user_pharmacist_info['user_id']; $doctor_pharmacist_cert = UserCaCert::addUserCaCert($data); if (empty($doctor_pharmacist_cert)){ $this->line('错误'); return; } $this->line('全部结束'); } }