Java開源生鮮電商平臺-商品價格的設計與架構(源碼可下載)

来源:https://www.cnblogs.com/jurendage/archive/2018/06/07/9148906.html
-Advertisement-
Play Games

Java開源生鮮電商平臺-商品價格的設計與架構(源碼可下載) 說明:Java開源生鮮電商平臺-商品價格的設計與架構,主要是對商品的價格進行研究與系統架構. 一、常見的電商價格 市場價(List Price):這個價格僅是用於顯示,用於襯托網站銷售價格的優惠程度; 銷售價(Sales Price):亦 ...


Java開源生鮮電商平臺-商品價格的設計與架構(源碼可下載)

 

說明:Java開源生鮮電商平臺-商品價格的設計與架構,主要是對商品的價格進行研究與系統架構.

 

一、常見的電商價格

  • 市場價(List Price:這個價格僅是用於顯示,用於襯托網站銷售價格的優惠程度;
  • 銷售價(Sales Price:亦稱我們的價格、零售價等,如果沒有任何優惠的(包括促銷優惠、會員等級優惠等),

就按這個價格進行銷售。所有的優惠規則均是基於這個價格進行計算。

  • 特價(Special Price:優先順序最高的定價,忽略所有的價格規則。
  • SKU價格(SKU Price:同一個產品,但是不同的SKU規格(或規格組合)價格不同。

所以在設計上,需要考慮如何基於產品SKU保存價格數據。

  • 批發價(Wholesale Price:純粹和購買數量相關的價格。常見B2B網站。
  • 折扣價(Discount Price:基於“銷售價格”進行促銷規則計算,最後得到的折後價格。

有些折扣價格能夠反映在產品上,有些則只能反映在總價上,這部分業務歸到促銷規則來說明。

  • 採購價(Import Price:購入該商品的價格。
  • 成本價(Cost Price:進貨價 + 企業運營成本(管理、稅費、人力、損耗、場所等)分攤。

用於大致的利潤估算分析,也可以用於定價參考價自動計算。

 

二、價格分類

上面的價格可以分為四大類:

  1. 顯示類價格

市場價格。除有很明顯的市場價外,一般電商網站的市場價格都是往高來寫,僅用來和銷售價格

形成反差。

  1. 管理類價格

包括進貨價、成本價。

這類價格不是必須在電商系統中管理,可以在ERP或進銷存系統中管理。

用於分析、統計和產品銷售價的定價參考使用。

  1. 銷售類價格

銷售價、SKU價格、批發價。

就是基於產品本身或數量指定的價格,和市場

  1. 市場營銷價

即:特價、折扣價。

就是基於營銷策略所設置的各類規則計算得出的價格。

這類價格不是產品本身的價格,而是通過調用市場營銷模塊提供的介面計算得出。

 

三、業務分析

  1. 顯示類價格

因為該價格沒有多少業務意義,而且維護頻率很低,可以直接在產品或產品SKU實體中維護。

 

  1. 管理類價格

採購價:也即進貨價,即從供應商方採購該商品的採購價格。採購價格和批次相關,每一批的採購價格會有所不同。

           根據產品銷售金額減去總採購價可以得出指定時間範圍內的毛利潤。

成本價:基於每一批的採購價設置,即採購價 + 公司各類運營成本(含稅)。一般是估算,比如是30%的運營成本,
           那麼成本價 = 採購價 × 1.3
           根據產品銷售金額減去總成本價可以出指定時間範圍內的凈利潤(估算)。

採購價和成本價均和採購批次相關,所以建議納入庫存模塊進行處理。

 

  1. 銷售類價格

包括銷售價和批發價,之所以放在銷售類,是考慮這兩種價格變動頻率比較低,而且基本和市場促銷活動無關。

參考銷售價建議:      

對於網上銷售的定價和線下銷售的定價往往會有所不同。

對於運營部門在定價時,除了參考公司各個部門的討論意見和建議等,

在網站系統內,根據成本價和期望利潤率給出參考銷售價建議是比較有實際價值的。      

期望利潤率(Desired profit x% on sales) :可以針對不同的產品目錄來設置。      

參考銷售價 = 成本價 × (1 + 期望利潤率)

 

銷售價格存在歷史數據的需要,所以建議獨立產品之外進行設計。

 

  1. 市場營銷價

    由於變更頻率很大,而且往往是由若幹個規則共同作用下計算獲得的價格,所以納入市場營銷模塊處理,

並提供介面供產品模塊使用。

 

最終通過上面的描述與總結:複雜的資料庫設計如下:

 

CREATE TABLE `goods` (
  `goods_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '商品id(SKU)',
  `goods_name` varchar(100) NOT NULL DEFAULT '' COMMENT '商品名稱',
  `shop_id` int(10) unsigned NOT NULL DEFAULT '1' COMMENT '店鋪id',
  `category_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商品分類id',
  `category_id_1` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '一級分類id',
  `category_id_2` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '二級分類id',
  `category_id_3` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '三級分類id',
  `brand_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '品牌id',
  `group_id_array` varchar(255) NOT NULL DEFAULT '' COMMENT '店鋪分類id 首尾用,隔開',
  `promotion_type` tinyint(3) NOT NULL DEFAULT '0' COMMENT '促銷類型 0無促銷,1團購,2限時折扣',
  `promote_id` int(11) NOT NULL DEFAULT '0' COMMENT '促銷活動ID',
  `goods_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '實物或虛擬商品標誌 1實物商品 0 虛擬商品 2 F碼商品',
  `market_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '市場價',
  `price` decimal(19,2) NOT NULL DEFAULT '0.00' COMMENT '商品原價格',
  `promotion_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '商品促銷價格',
  `cost_price` decimal(19,2) NOT NULL DEFAULT '0.00' COMMENT '成本價',
  `point_exchange_type` tinyint(3) NOT NULL DEFAULT '0' COMMENT '積分兌換類型 0 非積分兌換 1 只能積分兌換 ',
  `point_exchange` int(11) NOT NULL DEFAULT '0' COMMENT '積分兌換',
  `give_point` int(11) NOT NULL DEFAULT '0' COMMENT '購買商品贈送積分',
  `is_member_discount` int(1) NOT NULL DEFAULT '0' COMMENT '參與會員折扣',
  `shipping_fee` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '運費 0為免運費',
  `shipping_fee_id` int(11) NOT NULL DEFAULT '0' COMMENT '售賣區域id 物流模板id  ns_order_shipping_fee 表id',
  `stock` int(10) NOT NULL DEFAULT '0' COMMENT '商品庫存',
  `max_buy` int(11) NOT NULL DEFAULT '0' COMMENT '限購 0 不限購',
  `clicks` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商品點擊數量',
  `min_stock_alarm` int(11) NOT NULL DEFAULT '0' COMMENT '庫存預警值',
  `sales` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '銷售數量',
  `collects` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '收藏數量',
  `star` tinyint(3) unsigned NOT NULL DEFAULT '5' COMMENT '好評星級',
  `evaluates` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '評價數',
  `shares` int(11) NOT NULL DEFAULT '0' COMMENT '分享數',
  `province_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '一級地區id',
  `city_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '二級地區id',
  `picture` int(11) NOT NULL DEFAULT '0' COMMENT '商品主圖',
  `keywords` varchar(255) NOT NULL DEFAULT '' COMMENT '商品關鍵詞',
  `introduction` varchar(255) NOT NULL DEFAULT '' COMMENT '商品簡介,促銷語',
  `description` text NOT NULL COMMENT '商品詳情',
  `QRcode` varchar(255) NOT NULL DEFAULT '' COMMENT '商品二維碼',
  `code` varchar(50) NOT NULL DEFAULT '' COMMENT '商家編號',
  `is_stock_visible` int(1) NOT NULL DEFAULT '0' COMMENT '頁面不顯示庫存',
  `is_hot` int(1) NOT NULL DEFAULT '0' COMMENT '是否熱銷商品',
  `is_recommend` int(1) NOT NULL DEFAULT '0' COMMENT '是否推薦',
  `is_new` int(1) NOT NULL DEFAULT '0' COMMENT '是否新品',
  `is_pre_sale` int(11) DEFAULT '0',
  `is_bill` int(1) NOT NULL DEFAULT '0' COMMENT '是否開具增值稅發票 1是,0否',
  `state` tinyint(3) NOT NULL DEFAULT '1' COMMENT '商品狀態 0下架,1正常,10違規(禁售)',
  `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',
  `img_id_array` varchar(1000) DEFAULT NULL COMMENT '商品圖片序列',
  `sku_img_array` varchar(1000) DEFAULT NULL COMMENT '商品sku應用圖片列表  屬性,屬性值,圖片ID',
  `match_point` float(10,2) DEFAULT NULL COMMENT '實物與描述相符(根據評價計算)',
  `match_ratio` float(10,2) DEFAULT NULL COMMENT '實物與描述相符(根據評價計算)百分比',
  `real_sales` int(10) NOT NULL DEFAULT '0' COMMENT '實際銷量',
  `goods_attribute_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品類型',
  `goods_spec_format` text NOT NULL COMMENT '商品規格',
  `goods_weight` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '商品重量',
  `goods_volume` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '商品體積',
  `shipping_fee_type` int(11) NOT NULL DEFAULT '1' COMMENT '計價方式1.重量2.體積3.計件',
  `extend_category_id` varchar(255) DEFAULT NULL,
  `extend_category_id_1` varchar(255) DEFAULT NULL,
  `extend_category_id_2` varchar(255) DEFAULT NULL,
  `extend_category_id_3` varchar(255) DEFAULT NULL,
  `supplier_id` int(11) NOT NULL DEFAULT '0' COMMENT '供貨商id',
  `sale_date` int(11) DEFAULT '0' COMMENT '上下架時間',
  `create_time` int(11) DEFAULT '0' COMMENT '商品添加時間',
  `update_time` int(11) DEFAULT '0' COMMENT '商品編輯時間',
  `min_buy` int(11) NOT NULL DEFAULT '0' COMMENT '最少買幾件',
  `virtual_goods_type_id` int(11) DEFAULT '0' COMMENT '虛擬商品類型id',
  `production_date` int(11) NOT NULL DEFAULT '0' COMMENT '生產日期',
  `shelf_life` varchar(50) NOT NULL DEFAULT '' COMMENT '保質期',
  PRIMARY KEY (`goods_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='商品表';

 

Java開源生鮮電商平臺-商品價格的設計與架構(源碼可下載),如果需要下載的話,可以在我的github下麵進行下載。 

 

https://github.com/137071249/

群號:168096884


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • HTTP HTTP 1.X 1. HTTP是建立在TCP協議上的,HTTP協議的瓶頸及優化都是基於TCP協議本身的特性。 2. TCP建立連接時有三次握手 會有1.5RTT的延遲,為了避免每次請求都經歷握手待來的延遲,應用層會選擇不同策略的http長連接。 HTTP 1.0 連接不能復用以及有hea ...
  • 如何在webstorm中利用快捷鍵創建一個新的html的文件? 同時按下鍵盤上的ctrl+alt+insert(windows) 同時按下鍵盤上的ctrl+alt+n(os) h標簽系列(header1~header6) 作用:用於給文本添加標題語義 格式:<h1>xxxxx</h1> 註意點: 如 ...
  • 通過我的觀察發現hr標簽可以寫/也可以不寫/,如果不寫/那麼就是按照HTML的規範來編寫的,如果寫上,那麼就是按照XHTML規範來編寫的 但是在HTML5中,由於HTML5相容HTML和XHTML所以寫不寫都可以 那麼以後我們在做前端開發時到底寫還是不寫呢? 這個其實非常簡單,只要按照高級開發工具, ...
  • 1.img標簽中的img其實是英文image的縮寫,所以img標簽的作用,就是告訴瀏覽器我們需要顯示一張圖片 2.img標簽格式:<img src=" "> img是標簽名稱,src是屬性 其實img標簽中的src是英文source的縮寫,所以img標簽中的src就是用來告訴img標簽,需要顯示的圖 ...
  • br標簽,如何在html中換行,可以使用br標簽 1.br標簽的作用:換行 2.br標簽的格式:<br> 3.br標簽的註意點: 3.1多個br標簽可以連續使用,使用了多個br標簽就會換多少行 3.2由於HTML的作用就是用來給文本添加語義,而br標簽的語義是不另起一個段落換行,而在企業開發中一般情 ...
  • 我們在之前已經瞭解過,如果想添加一個圖片,需要寫出以下代碼: <img src="logo.png"> 其實想給src屬性賦值有兩種方式: 相對路徑就是每次都從.html文件所在的文件夾開始查找,我們稱之為相對路徑 1.1 同級 同級就是圖片和.html文件存儲在同一個文件夾中 格式: src="Q ...
  • JDBC:(Java database connectivity) 目的:將Java語言和資料庫解耦和,使得一套Java程式能對應不同的資料庫。 方法:sun公司制定了一套連接資料庫的介面(API)。這套API叫做JDBC,JDBC的介面的實現類由資料庫廠家負責編寫,打包成jar包進行發佈,這些ja ...
  • 本節主要闡述如下兩個問題: 1、Dubbo自定義標簽實現。 2、dubbo通過Spring載入配置文件後,是如何觸發註冊中心、服務提供者、服務消費者按照Dubbo的設計執行相關的功能。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...