[電子商取引]私の商品規格の設計構想


この部分のデザインには必ず商品、商品、規格、規格値表があります.
まず、4つのテーブル間の関係を設計します.
商品と商品は一対多の関係にある.
仕様と仕様値は一対多の関係です.
この2つの関係については、関係がはっきりしていますが、実は私が最初に設計したのはこうです.
商品と商品は一対多の関係にある.
仕様と仕様値は一対多の関係です.
商品と規格は多対多の関係です.
商品と規格の間の中間表と規格値は多対多の関係である.
品物と規格値は多対多の関係である.
5つの関係は、見ていても頭が痛くなりますが、これは簡単な場合です.例えば、お客様が商品の公開を要求したとき、規格値の名前は手動で変更できます.そのとき、私たちの「商品と規格の間の中間表と規格値は多対多の関係です」は、それらの中間表を変更します(中間表の新規名称フィールド).
本当に切っても切れず、理不尽で、文字列を使って関係を保つことにしたと思います(「関係を保つ」は「味方が必要とする相手のデータを保存する」と言ったほうが合理的かもしれません).
元の規格と規格値表を商品表と直接関連付けない(規格が規格であることを想像すると、商品のリリース時にオプションとして存在するだけで、商品は規格だけで自分を改善する必要があり、商品が完備した後の規格の生と滅(データベースから削除)は私には関係なく、合理的で正常な感じがします)ではなく、json文字列を使ってユーザーが望む規格データを保存し、貨物表も同様、仕様値に関連付けず、json文字列の使用を選択します.
これで最初に言ったような関係は二つしかありません.以下、商品と品物についてお話しします.
我々の商品規格はproductSpecsのjson:[{id:0,name:色,solr:0,specValue:[{id:0,name:青,pic:blue.jpg},{id:1,name:赤,pic:red.jpg}},{id:1,name:1,name:1,specValues:[{id:2,name:10],{id:3,name:20]}]
我々の商品1規格値はgoodsKeysのjson:[{id:0},{id:2}],商品2規格値はこのようなjson:[{id:0},{id:3}]であると仮定する.
ユーザーがショッピングモールのホームページをブラウズして1つの商品をクリックして商品の詳細を見る時、バックグラウンドは対応する商品のデータを調べて詳細ページに展示して、その他のデータは言わないで、規格の選択肢のあの塊を言って、例えば選択肢は以下の表のようです:

 
 
  


サイズ
 
 
 
10
20
次のように言う前に、どの品物にもロック(goodsKeys)があり、ユーザーがロックを解除するのを待っていて、ロックを解除する鍵は商品のところにあることを想像することができます.
上の時計についてどうやって現れたのですか?JavaScriptコードでケースを書いてみましょう
//var productSpecs= [{id:0,name:  ,solr:0,specValues:[{id:0,name:  ,pic:blue.jpg},{id:1,name:  ,pic:red.jpg}]},{id:1,name:  ,solr:1,specValues:[{id:2,name:10},{id:3,name:20}]}]
/*for(var i=0;i*/

上のコードは私がデータを取る部分だけを书いたのは、このエディタが符号化しにくいためで、実はデータを取るだけで、表を生成するのは简単で、実际の开発の中でこれはダイナミックページの中で処理して完成したはずで、ダイナミックページは一般的にリストを遍歴する方式があって、例えばjspの中のjstlなど.
表のオプションが生成され、ロジックも整理され、残りは簡単です.例えば、ユーザーが色:青、サイズ:10の商品を選択し、色青idは0、サイズ10 idは2です.では、バックグラウンドでgoodsKeysに一致する商品を探して、比較することで商品1が一致していることがわかりました.それはgoodsKeysが[{id:0},{id:2}]であるためです.では、商品1のデータをページに表示すればいいです.
どうですか.考えがはっきりしているかどうか、私の考えは間違っているかもしれませんが、機能が実現できることが一番重要です.
もっと良い方法があれば、お勧めしてください.ありがとうございます.
商品発表規格組合せアルゴリズム部分はこれを参考にすることができる:商品発表規格組合せアルゴリズム
 
転載先:https://www.cnblogs.com/hihtml5/p/6090111.html