//********************************************************************** // 快楽市場.co.jp バスケットシステム // // Title: 受注情報確認処理処理 // FileName: OrderVerify.java // Creator: Shinichi Aizawa // CreateDate: 2000/04/14 //********************************************************************** import java.util.*; import java.text.*; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.servlet.ServletException; // 商品オーダ確認ページ処理クラス public class OrderVerify extends BaseServlet2 { // "GET"メソッド処理 protected void doGetHandler(HttpServletResponse response, PrintWriter pw, HttpSession session, Param param, Order order) throws ServletException, IOException, SQLException { Header(pw, "受注情報入力", "", "bgcolor='#FFFFCC'"); Body(pw, order); Footer(pw); } // 本体部html出力処理 private void Body(PrintWriter pw, Order order) throws ServletException, IOException, SQLException { MyUtil myutil = new MyUtil(); DecimalFormat fmt = new DecimalFormat("#,###,###"); Order.Juchu juchu = order.juchu; pw.println("

▼" + order.user.Shimei + "様 受注確認▼

"); pw.println("


"); pw.println("

"); pw.println("
"); pw.println(""); int count = order.GetMeisaiNum(); for (int i = 0; i < count; i++) { Order.Meisai meisai = order.GetMeisai(i); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); } pw.println(""); pw.println(""); pw.println(""); pw.println("
" + meisai.ShouhinNo + "" + meisai.ShouhinName + "" + meisai.Kosuu + meisai.Tani + ""); pw.println("
" + fmt.format(meisai.Shoukei) + "円
"); pw.println("
"); pw.println("
合計金額(税込) " + fmt.format(order.juchu.Total) + "円
"); pw.println("
"); pw.println("
"); pw.println(""); pw.println("上記の合計金額の他に送料(700円)をご用意ください。
"); pw.println("宅配代金引換をご希望の方は送料の他に手数料(400円)を頂きます。
"); pw.println("ただし、15,000円以上お買い上げの場合、送料、手数料は無料とさせていただきます。
"); pw.println("また、HAB写真集に関しては、送料・手数料は、無料となります。お客様が、HAB写真集
"); pw.println("と他の商品を同時に、購入した場合も送料・手数料は、頂きません。無料となります。"); pw.println("

"); pw.println("
"); pw.println("
"); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println(""); pw.println("
郵便番号" + juchu.Zip + "
住所" + juchu.Address + "
お届け先建物" + juchu.Tatemono + "
お届け先電話番号" + juchu.TelNo + "
お支払い方法" + myutil.GetShiharaiName(juchu.Shiharai) + "
"); pw.println("
"); pw.println(""); pw.println("
"); pw.println(""); pw.println(""); pw.println("
"); pw.println("
"); pw.println("
"); } // "POST"メソッド処理 protected void doPostHandler(HttpServletResponse response, PrintWriter pw, HttpSession session, Param param, Order order) throws ServletException, IOException, SQLException { // クリックされたボタンによる振り分け if (param.GetParam("ok") != null) { // 「送信」ボタンがクリックされたら受注情報をデータベースに保存とメールの送信 if (StoreDB(order)) SendOrderMail(order); response.sendRedirect("thankyou"); } else if (param.GetParam("cancel") != null) { // 「やめる」ボタンがクリックされたらトップページに戻る response.sendRedirect(TopPage); } } // 受注情報保存処理 private boolean StoreDB(Order order) throws ServletException, IOException, SQLException { Contrxxxaster cm = new Contrxxxaster(); DecimalFormat mf = new DecimalFormat("000"); boolean result = false; // データベース接続 DataBase db = new DataBase(); db.Transaction(); Statement st = db.createStatement(); try { // 受注情報保存 Order.Juchu juchu = order.juchu; juchu.JuchuCode = cm.GetNewJuchuCode(); juchu.JuchuDate = new java.util.Date(); juchu.UserCode = order.user.UserCode; juchu.Over18Flag = order.user.Over18Flag; String sql = "insert into F_JUCHU values (" + "'" + juchu.JuchuCode + "'," + "'" + juchu.JuchuDate + "'," + "'" + juchu.UserCode + "'," + juchu.Over18Flag + "," + "'" + juchu.Zip + "'," + "'" + juchu.Address + "'," + "'" + juchu.Tatemono + "'," + "'" + juchu.TelNo + "'," + "'" + juchu.Total + "'," + "'" + juchu.Shiharai + "')"; st.executeUpdate(sql); // 受注明細保存 int count = order.GetMeisaiNum(); for (int i = 0; i < count; i++) { Order.Meisai meisai = order.GetMeisai(i); meisai.MeisaiCode = mf.format(i + 1); sql = "insert into F_JUCHUMEISAI values (" + "'" + juchu.JuchuCode + "'," + "'" + meisai.MeisaiCode + "'," + "'" + meisai.ShouhinNo + "'," + "'" + meisai.ShouhinName + "'," + meisai.HanbaiKakaku + "," + meisai.Kosuu + "," + meisai.Shoukei + ")"; st.executeUpdate(sql); } // 正常ならコミット db.Commit(); result = true; } catch (SQLException e) { // エラーならロールバック db.Rollback(); } st.close(); return result; } // メール送信処理 private void SendOrderMail(Order order) throws ServletException, IOException, SQLException { Order.User user = order.user; Contrxxxaster.MailInfo mailinfo = new Contrxxxaster().GetMailInfo(); SendMail mail = new SendMail(); // 担当者あてメール送信 if (!user.UserID.equals("aizawa")) mail.send(mailinfo.MailServer, mailinfo.ToAddress, mailinfo.CcAddress, mailinfo.FromAddress, "[Kairaku-DB]商品受注確認", MailBodyTantosha(order)); // 購入ユーザあてメール送信 mail.send(mailinfo.MailServer, user.EMail, null, mailinfo.FromAddress, "[OnLineShop]ご注文ありがとうございました", MailBodyUser(order)); } // 担当者あてメール本文作成 private String MailBodyTantosha(Order order) throws ServletException, IOException, SQLException { DecimalFormat decfmt = new DecimalFormat("#,###,###"); SimpleDateFormat datefmt = new SimpleDateFormat("yyyy年MM月dd日"); MyUtil myutil = new MyUtil(); Order.Juchu juchu = order.juchu; Order.User user = order.user; String text = "■■■■ 快楽市場データベース ■■■■\n" + "\n" + "以下の会員から商品のご注文がありましたので\n" + "注文内容を転送致します。\n" + "\n" + "[注文情報]\n" + "--------------------------------------------------------\n"; int count = order.GetMeisaiNum(); for (int i = 0; i < count; i++) { Order.Meisai meisai = order.GetMeisai(i); text += meisai.ShouhinNo + " " + meisai.ShouhinName + " " + meisai.Kosuu + meisai.Tani + " " + decfmt.format(meisai.Shoukei) + "円\n"; } text += "--------------------------------------------------------\n" + "合計 " + decfmt.format(juchu.Total) + "円\n" + "\n" + "[お届け先情報]\n" + " 受注日:" + datefmt.format(juchu.JuchuDate) + "\n" + " 氏名:" + user.Shimei + "\n" + " 郵便番号:" + juchu.Zip + "\n" + " 住所:" + juchu.Address + "\n" + " 建物名:" + juchu.Tatemono + "\n" + " 電話番号:" + juchu.TelNo + "\n" + " 支払方法:" + myutil.GetShiharaiName(juchu.Shiharai) + "\n" + "\n" + "[ユーザー情報]\n" + " ユーザーID:" + user.UserID + "\n" + " パスワード:" + user.Password + "\n" + " 登録日:" + datefmt.format(user.Touroku) + "\n" + " ふりがな:" + user.Furigana + "\n" + " 氏名:" + user.Shimei + "\n" + " 性別:" + user.Seibetsu + "\n" + " 生年月日:" + user.SeiNen + "年" + user.SeiTsuki + "月" + user.Sexxx + "日" + "\n" + " 年齢:" + user.Nenrei + "\n" + " 18歳以上確認:" + user.Over18Flag + "\n" + " 18歳以上確認日:" + myutil.DateToString(user.Over18Date) + "\n" + " 職業:" + myutil.GetShokugyouName(user.Shokugyou) + "\n" + " 郵便番号:" + user.Zip + "\n" + " 住所:" + user.Address + "\n" + " 建物名:" + user.Tatemono + "\n" + " 電話番号:" + user.TelNo + "\n" + " FAX番号:" + user.FaxNo + "\n" + " メールアドレス:" + user.EMail + "\n" + " メーリングリスト登録:" + user.MailingList + "\n" + " URL:" + user.Url + "\n" + "\n" + "mailed by JapanLinkServer\n" + "inquire to mc@japanlink.ne.jp\n"; return text; } // 登録ユーザあてメール本文作成 private String MailBodyUser(Order order) throws ServletException, IOException, SQLException { DecimalFormat decfmt = new DecimalFormat("#,###,###"); MyUtil myutil = new MyUtil(); Order.Juchu juchu = order.juchu; Order.User user = order.user; String text = user.Shimei + " 様\n\n"; text += "■■■ 快楽市場 ご注文内容 ■■■\n"; text += "--------------------------------------------------------\n"; int count = order.GetMeisaiNum(); for (int i = 0; i < count; i++) { Order.Meisai meisai = order.GetMeisai(i); text += meisai.ShouhinNo + " " + meisai.ShouhinName + " " + meisai.Kosuu + meisai.Tani + " " + decfmt.format(meisai.Shoukei) + "円\n"; } text += "--------------------------------------------------------\n"; text += "合計 " + decfmt.format(juchu.Total) + "円\n\n"; text += "受注番号:" + juchu.JuchuCode + "\n" + "お届け先郵便番号:" + juchu.Zip + "\n" + "お届け先住所:" + juchu.Address + "\n" + "お届け先建物:" + juchu.Tatemono + "\n" + "お届け先電話番号:" + juchu.TelNo + "1\n" + "お支払方法:" + myutil.GetShiharaiName(juchu.Shiharai) + "\n" + "\n" + ShiharaiGuide(juchu.Shiharai) + "\n" + "********************************************** \n" + "●初めての方へ(18歳以上年齢確認がまだの方)● \n" + "\n" + "18歳以上の年齢を確認できる物を、快楽市場までFAX、またはご送付してください。\n" + "\n" + "[送付先・連絡先]\n" + "162-0814 東京都新宿区新小川町3-10SEビル4F 快楽市場事務局\n" + "TEL03-5229-7512 FAX03-5229-7513\n" + "\n" + "18歳以上の確認が出来次第、メールにて連絡致します。\n" + "それまで料金のお振り込みはしないで下さい。\n" + "年齢確認ができるまで、商品の発送はできません。\n" + "**********************************************\n" + "\n" + "ご注文ありがとうございました。\n"; return text; } private String ShiharaiGuide(String ShiharaiCode) { String guide = null; if (ShiharaiCode.equals("01")) { // 郵便為替 guide = "下記の口座へ(商品合計代金+送料700円)を御入金ください。\n" + "ただし、購入代金の合計が15,000円以上の場合、送料、代引手数料は無料とさせて\n" + "いただきます。\n" + "又、HAB写真集に関しては、送料は、無料となります。\n" + "お客様が、HAB写真集と他の商品を 同時に、購入した場合も送料は、頂きません。\n" + "商品合計代金のみをご入金下さい。\n" + "入金確認後、商品を発送いたします。\n" + "           新宿新小川町郵便局  00160-3-189753\n" + "           口座名   快楽市場\n"; } else if (ShiharaiCode.equals("02")) { // 銀行振込 guide = "下記の口座へ(商品合計代金+送料700円)を御入金ください。\n" + "ただし、購入代金の合計が15,000円以上の場合、送料、代引手数料は無料とさせて\n" + "いただきます。\n" + "又、HAB写真集に関しては、送料は、無料となります。\n" + "お客様が、HAB写真集と他の商品を 同時に、購入した場合も送料・手数料は、頂き\n" + "ません。商品合計代金のみをご入金下さい。\n" + "入金確認後、商品を発送いたします。\n" + "            住友銀行 飯田橋支店 (普)775751\n" + "            口座名   フリーダムエフ快楽市場\n"; } else if (ShiharaiCode.equals("03")) { // 料金代引 guide = "商品を発送いたします。\n" + "\n" + "お届け商品と引き換えに代金(商品合計代金+送料700円+手数料400円)をお支払い\n" + "ください。\n" + "ただし、購入代金の合計が15,000円以上の場合、送料、代引手数料は無料とさせて\n" + "いただきます。\n" + "又、HAB写真集に関しては、送料・手数料は、無料となります。\n" + "お客様が、HAB写真集と他の商品を 同時に、購入した場合も送料・手数料は、頂き\n" + "ません。 商品合計代金のみをご入金下さい。\n"; } else if (ShiharaiCode.equals("04")) { // 現金書留 guide = "入金確認後、商品を発送いたします。\n" + "\n" + "お届け商品と引き換えに代金(商品合計代金+送料700円)をお支払いください。\n" + "ただし、購入代金の合計が15,000円以上の場合、送料、代引手数料は無料とさせて\n" + "いただきます。\n" + "又、HAB写真集に関しては、送料は、無料となります。お客様が、\n" + "HAB写真集と他の商品を 同時に、購入した場合も送料・手数料は、頂きません。\n" + "商品合計代金のみをご入金下さい。\n"; } return guide; } }