public function insert_records() { $periods = Period::all(); $accounts = RegisterAccount::all(); $peirod_num = $periods->count(); $account_num = $accounts->count(); for ($i = 0; $i < 2000; ++$i) { $record = new RegisterRecord(); $account = $accounts[rand(0, $account_num - 1)]; $period = $periods[rand(0, $peirod_num - 1)]; $dt = rand(0, 99) < 90 ? $this->get_random_datetime() : date('Y-m-d H:i:s'); $record->created_at = $dt; $record->start = date('Y-m-d H:i:s', strtotime($dt) + 3600); if (rand(0, 1)) { $record->return_date = $this->get_random_date(); } $record->status = rand(0, 1); $record->fee = 1.0; if (rand(0, 1)) { $record->advice = "abcd1234"; } $record->account_id = $account->id; $record->user_id = $account->user_id; $record->period_id = $period->id; $record->doctor_id = $period->schedule->doctor_id; $period->current += 1; $period->save(); $record->save(); $message = new Message(); $message->from_uid = $record->user_id; $message->to_uid = $record->doctor->user->id; $message->content = $record->user->real_name . '挂号'; $message->timestamp = strtotime($dt); $message->status = 3; $message->save(); } }
public static function create_record($pay_record, $message) { try { DB::beginTransaction(); $pay_record->time_end = $message['time_end']; $pay_record->result_code = $message['result_code']; $pay_record->open_id = $message['openid']; $pay_record->transaction_id = $message['transaction_id']; // 查询相应时间段 $attach_parse = json_decode($pay_record->attach, true); $account_id = $attach_parse['account_id']; $period_id = $attach_parse['period_id']; $period = Period::find($period_id); // 判断 result_code if ($message['result_code'] == 'FAIL') { $pay_record->error_code = $message['err_code']; $pay_record->error_message = $message['err_code_des']; $pay_record->status = 'FAIL'; } else { // 创建挂号记录 $schedule = $period->schedule; $doctor = $schedule->doctor; $period->current += 1; $period->save(); $new_record = new RegisterRecord(); $new_record['status'] = 0; $new_record['fee'] = $doctor->register_fee; // $new_record['start'] = date( 'Y-m-d H:i:s' ); $new_record['period_id'] = $period->id; $new_record['doctor_id'] = $doctor->id; $new_record['account_id'] = $account_id; $new_record['user_id'] = $pay_record->user_id; $new_record->save(); $message = new Message(); $message->from_uid = $user_id; $message->to_uid = $doctor->user->id; $message->content = $account->user->real_name . '挂号'; $message->timestamp = time(); $message->status = 3; $message->save(); $pay_record->record_id = $new_record->id; $pay_record->status = 'SUCCESS'; } $pay_record->save(); DB::commit(); } catch (Exception $e) { Log::info('Error in create record: ' . $e->getMessage()); DB::rollback(); return false; } return ture; }