if (!$send_result) {
            $dbConnectObj->rollback();
            $dbConnectObj->close();
            exit;
        }
        // total_price, msg is void
        $total_price = 0;
        $msg = '';
    }
    // set new store code
    $pre_store_code = $deliverData['store_code'];
}
// 5-2. Send Mail for Last Store
$all_total_price = $total_price + $deliver_charge;
$msg .= "\n=============================================================\n合計:" . number_format($total_price) . " 円\n配送料:" . number_format($deliver_charge) . " 円\n総計:" . number_format($all_total_price) . " 円";
$send_result = _sendMail($operator_mail_address, $msg);
if (!$send_result) {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    exit;
}
// 6. DB commit & close
echo "SUCCESS ALL. \n";
$dbConnectObj->commit();
$dbConnectObj->close();
// private function
function _sendMail($sendMailAddress, $msg)
{
    mb_internal_encoding('UTF-8');
    $mailto = $sendMailAddress;
    $subject = "注文確定メール";
    $product_id = $orderRecord['product_id'];
    $deliver_date = date("Y-m-d", strtotime($orderRecord['deliver_date']));
    $sqlRegPurchaseHistory = "INSERT INTO purchase_history (`order_id`, `store_code`, `operator_id`, `product_id`, `deliver_date`, `purchase_number`) VALUES ({$order_id}, {$store_code}, {$operator_id}, {$product_id}, '{$deliver_date}', {$purchase_number});";
    $resRegPurchaseHistory = $dbConnectObj->executeSql($sqlRegPurchaseHistory);
    if (!$resRegPurchaseHistory) {
        $dbConnectObj->rollback();
        $dbConnectObj->close();
        // redirect to error page
        header('location: ./error.php?ecode=SE007');
        exit;
    }
}
// あとで共通クラスにメソッドを作る
// 7. Send Order Complete Mail
$message = "本メールはシステムより自動送信されています。\nご注文ありがとうございました。\nご注文番号: {$order_id}\n\n各注文が確定するのは配達予定日の前週木曜日の午前10:00です。\nご注文内容の変更は確定日時までにお願いいたします。\n";
$send_result = _sendMail($operatorMailAddress, $message);
if ($send_result == true) {
    $dbConnectObj->commit();
    $dbConnectObj->close();
    // redirect to thanks page
    header('location: ./order_thanks.php');
    exit;
} else {
    $dbConnectObj->rollback();
    $dbConnectObj->close();
    // redirect to error page
    header('location: ./error.php?ecode=SE009');
    exit;
}
// private function
function _sendMail($sendMailAddress, $msg)
        $dbConnectObj->close();
        exit;
    }
    $price = 0;
    while ($row = mysqli_fetch_array($resGetCompanyProductPrice)) {
        $price = $row["price"];
    }
    // make message body
    if ($deliverData['store_code'] == $pre_store_code || $pre_store_code == '') {
        $sub_total_price = $price * $deliverData['purchase_number'];
        $msg .= "\n配達日:" . $deliverData['deliver_date'] . "\n配達先住所:" . $deliverData['store_address'] . "\n商品:" . $deliverData['product_name'] . "\n単価:" . $price . "\n注文数:" . $deliverData['purchase_number'] . "\n小計:" . $sub_total_price;
        $total_price += $sub_total_price;
    } else {
        // send mail
        $msg .= "\n=============================================================\n合計:" . $total_price . "\n配送料:" . $deliverData['deliver_charge'];
        $send_result = _sendMail($deliverData['operator_mail_address'], $msg);
        if (!$send_result) {
            $dbConnectObj->rollback();
            $dbConnectObj->close();
            exit;
        }
        // total_price, msg is void
        $total_price = 0;
        $msg = '';
    }
    // set new store code
    $pre_store_code = $deliverData['store_code'];
}
// private function
function _sendMail($sendMailAddress, $msg)
{