質問 > 管理機能 > 注文番号を連番ではなく、注文日-時間-分-秒(ミリセコンド)に変更したい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
Adondevas |
投稿日時: 2011/6/7 16:09
対応状況: −−−
|
常連 登録日: 2011/6/7 居住地: 投稿: 52 |
注文番号を連番ではなく、注文日-時間-分-秒(ミリセコンド)に変更したい はじめまして。 2.11.1 を運用したく、色々勉強しております。
表題の件ですが、基本仕様では「1」よりの連番がふられていますが、 これを注文時の時間に変更したいと思っています。 例: 20110607-160101-1234 どのファイルをどのように変更すればできるでしょうか。 ご教示いただければ幸いです。 よろしくお願い申し上げます。 |
nkta |
投稿日時: 2011/6/7 17:17
対応状況: −−−
|
長老 登録日: 2011/5/20 居住地: 東京 投稿: 166 |
Re: 注文番号を連番ではなく、注文日-時間-分-秒(ミリセコンド)に変更したい 受注番号は「半角数字のみ」を想定しているため、「-(ハイフン)」が混ざるとなると
EC-CUBE全体のカスタマイズが必要になってくると思います。 |
Adondevas |
投稿日時: 2011/6/7 18:55
対応状況: −−−
|
常連 登録日: 2011/6/7 居住地: 投稿: 52 |
Re: 注文番号を連番ではなく、注文日-時間-分-秒(ミリセコンド)に変更したい ご返信ありがとうございます。
大規模なカスタマイズは望んでおりませんので、下記のように訂正いたします。 例: 20110607.160101.1234 or: 201106071601011234 引き続き、よろしくお願い申し上げます。 |
i8w |
投稿日時: 2011/6/7 19:56
対応状況: −−−
|
新米 登録日: 2011/4/12 居住地: 沖縄県 投稿: 7 |
Re: 注文番号を連番ではなく、注文日-時間-分-秒(ミリセコンド)に変更したい dtb_orderテーブルのorder_id列はint型で、「201106071601011234」
とするとint型の範囲を超えてしまいます。 月日時分秒だと収まりますが、最小単位が秒ですし、一年経つと さらにキーがぶつかる可能性があるのでお勧めできません。 なぜ注文番号を変更したいのでしょう? 大規模なカスタマイズを避けたいのであれば、注文番号はそのままで 別の解決策を模索した方が良い気がします。 |
nkta |
投稿日時: 2011/6/7 20:13
対応状況: −−−
|
長老 登録日: 2011/5/20 居住地: 東京 投稿: 166 |
Re: 注文番号を連番ではなく、注文日-時間-分-秒(ミリセコンド)に変更したい どこを変えるかとなると
data/class/pages/shopping/LC_Page_Shopping_Confirm.php 143行目ですが… ミリ秒まで入れるとなると、i8wさんも仰っているように、注文番号がINT型なので、桁制限をオーバーしてしまいます。 注文番号をデータとして持つのが注文テーブルだけではないので、やっぱり影響範囲が大きそうです。 (パッと思いつくのがdtb_order,dtb_order_detail,dtb_order_temp,dtb_shipping,…あと何があったっけ) |
Adondevas |
投稿日時: 2011/6/7 21:11
対応状況: −−−
|
常連 登録日: 2011/6/7 居住地: 投稿: 52 |
Re: 注文番号を連番ではなく、注文日-時間-分-秒(ミリセコンド)に変更したい みなさんご返信ありがとうございます。
わたしは店舗を運営する立場なので気になるのかもしれませんが、 このところ、ネットショップは専業・副業ともに乱立しています。 同業者であれば、その店の一注文あたりの平均単価の予測は容易です。 例えば、半年に一回、数カ月に一回、興味のある店で最も安い品を購入すれば、 その店の一ヶ月あたりの販売件数や売上を予測することができます。 これは、かなりの情報をライバル店に渡すことになります。 変換テーブルのようなものを作って、受注メールなどへの 顧客に伝える受注番号を年月日時秒などに変換して送信出来れば この問題は解決できるのですが、、、 |
patapata |
投稿日時: 2011/6/8 1:02
対応状況: −−−
|
仙人 登録日: 2010/7/7 居住地: 神奈川県 投稿: 502 |
Re: 注文番号を連番ではなく、注文日-時間-分-秒(ミリセコンド)に変更したい ・・・・えっと、別にお客に表示する注文番号を管理すればいいだけでは?
メールで表示される注文番号がインクリメントされただけのデータだと、売り上げ想像がつきますが、「表示しない」もしくは別のものにすればと私は思います。 コスト考えるとそっちの方がはるかに楽ですし |
Adondevas |
投稿日時: 2011/6/8 9:44
対応状況: −−−
|
常連 登録日: 2011/6/7 居住地: 投稿: 52 |
Re: 注文番号を連番ではなく、注文日-時間-分-秒(ミリセコンド)に変更したい 仙人さん ご返信ありがとうございます。
おっしゃる通りで、顧客が目にする注文番号と管理上の注文番号を 別に出来る方法があれば、それで目的は達成できます。 その方法はどのようにすればよいでしょうか。 よろしくお願い申し上げます。 |
nkta |
投稿日時: 2011/6/8 11:58
対応状況: −−−
|
長老 登録日: 2011/5/20 居住地: 東京 投稿: 166 |
Re: 注文番号を連番ではなく、注文日-時間-分-秒(ミリセコンド)に変更したい もしくは、受注番号を生成する方法を
・桁制限に収まる範囲で、ランダムに ・ただし重複がないように と変更してもよさそうな気がします。 という事で書いてみました。 受注データが増えるほどパフォーマンスが低下する方法ですが 10万や20万程度の受注件数なら影響は少ないと思います。多分。 data/class/pages/shopping/LC_Page_Shopping_Confirm.php 143行目を以下のように変更
で、以下の関数をLC_Page_Shopping_Confirmクラスのどこかに追加
|
red |
投稿日時: 2011/6/8 12:08
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: 注文番号を連番ではなく、注文日-時間-分-秒(ミリセコンド)に変更したい 受注が同時に大量に来た場合、この方式だとかぶる可能性が出るので駄目です。。
受注tableをロックすれば重複する可能性は下がりますが、パフォーマンスの低下が著しいです |
(1) 2 3 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |