06秒殺系統業務之一 促銷服務

2021-10-06 17:09:47 字數 2997 閱讀 6247

**服務在之前的基礎上,進行業務的增加。

同時在商品的model中新增乙個**字段promomodel若發現這個商品有**欄位則在**中新增

//根據商品id ,使用者id,商品的數量,**活動id

orderservice.

createorder

(usermodel.

getid()

,itemid,promoid,amount)

;return commonreturntype.

create

(null);}

建立訂單介面

//1、通過前端url上傳過來秒殺活動id,然後下單介面內校驗對應id是否屬於對應商品活動已經開始(腿甲)

//2、直接在下單介面判斷對應的商品是否存在秒殺活動,若存在進行中的足額

ordermodel createorder

(integer userid,integer itemid,integer promoid,integer amount)

throws busines***ception;

@override

@transactional

(propagation =propagation.requires_new )

//生成新的事務

public ordermodel createorder

(integer userid, integer itemid,integer promoid, integer amount)

throws busines***ception

//校驗使用者

usermodel usermodel = userservice.

getuserbyid

(userid);if

(usermodel==null)

//庫存

int stock = itemmodel.

getstock()

;if(amount<=

0||amount>

99||stock

//校驗活動資訊

if(promoid!=null)

else}}

//2、落單減庫存(或者支付減庫存)

boolean flag = itemservice.

decreasestock

(itemid,amount);if

(flag==

false

)//3、訂單入庫

ordermodel ordermodel =

newordermodel()

;//主鍵的設計(訂單號)

ordermodel.

setid

(generatororderno()

);ordermodel.

setamout

(amount)

; ordermodel.

setitemid

(itemid)

; ordermodel.

setuserid

(userid);if

(promoid!=null)

else

ordermodel.

setpromoid

(promoid)

; ordermodel.

setorderprice

(ordermodel.

getitemprice()

.multiply

(new

bigdecimal

(amount)))

; orderdo orderdo =

convertfromordermodltoorderdo

(ordermodel)

;insertselective

(orderdo)

;//商品銷量

itemservice.

increasesales

(itemid,amount)

;//4、返回前端

return ordermodel;

}

05秒殺系統業務之三 訂單服務

字段 定義id 使用者id name 使用者名稱gender 性別0為女,1為男 age年齡 register mode 註冊方式 third party id 第三方字段 定義id 密碼表的id encrpt password 密碼加密儲存 在後端用加密之後進行儲存 user id 使用者id 字...

1,秒殺系統的設計

一 秒殺系統的特點 1,人多商品少,2,時間短流量高。3,外掛程式機器,專業人員 二 技術分析 1,瞬時高併發的處理能力。2,多層次分布式處理能力 3,人機互動與對抗,4,選擇 linux nginx php mysql redis 開源,免費,大眾普及 2 2技術選型分析 cdn,智慧型dns 就...

讀書筆記9秒殺系統設計

秒殺系統的技術挑戰 對現有 業務造成衝擊 高併發下應用和資料庫的負載 突然增加的網路及伺服器頻寬 直接下單 未到秒殺時間直接下單 應對策略 將秒殺系統於現有業務進行獨立部署 秒殺商品頁面靜態話 簡單 租借秒殺活動頻寬 動態生成隨機下單url 秒殺商品頁面要盡量簡單 要處理問題 頁面秒殺提交按鈕點亮問...