關於廣告位管理系統設計 廣告位銷售記錄表的設計

2021-09-06 00:10:38 字數 1055 閱讀 8646

需求:

廣告位表 p(編號,名稱,目錄,規格)

廣告位有三種狀態,空閒,試用,已售

乙個廣告位只能有一條當前有效銷售記錄(etime>now),不能在s表中新增開始時間不是當前時間使用記錄,當然不能把以後的時間提前買給別的使用者(預售)

狀態轉換

空閒--(啟用)-->試用|已售

試用--**正)-->已售

試用|已售--(中止)-->空閒

試用|已售---(調整)-->試用|已售 注意,試用調整後依舊是試用,已售也一樣

試用|已售--(到期)--->空閒

已售---(繼費)-->已售

廣告位的狀態由銷售表計算獲得,需要能檢視廣告位的操作記錄(狀態轉換前後記錄)

**上有,有多使用者併發的情況,需要啟用事務--在狀態轉換時鎖定銷售記錄表

銷售記錄表s(編號,負責人,操作,開始時間,結束時間,廣告位編號,狀態,轉換,iscut,...)

說明 s.btime開始時間,s.etime 結束時間

iscut=1表示為歷史記錄(可以考試使用歷史表)不過直接標記成iscut更便捷

查詢空閒廣告位

select ... from(

select p.編號,max(s.etime)

p left s on p.編號=s.廣告位編號

s.iscut=0

group by p.編號) as t inner join 其他關聯表

where t.etime < getdate() or  (t.etime is null) 

查詢使用廣告位(試用,已售)

select ... from p inner join s on p.編號=s.廣告位編號

where s.iscut=0 and s.etime >=getdate()

狀態轉換:

1.讀取s表的廣告位編號為***並且etime>=getdate() and iscut=0的記錄

2.鎖定s表,再次判斷 iscut=0是否成立

3.設定iscut=1

4.插入狀態改變後的新記錄iscut=0

5.釋放鎖

定時上線廣告位

今天要做乙個廣告位定時上 下線的功能。想到了要用定時任務定時執行,但是這樣只能處理執行定時任務的這個時間點的任務。比如10點執行任務,其它如10 10 10 20 10 30 等等沒法正點去執行。開始是考慮的允許乙個時間延遲,打乙個時間差 10分鐘執行一次,執行當前時間之前10分鐘範圍內的資料。比如...

MVC WCF框架下廣告位管理 檔案上傳

廣告位是 中必不可少的內容之一,也是能直接給我們 帶來經濟收益的內容之一。好的廣告位不僅不會強賓壓主,而會為我們的 錦上添花,起到畫龍點睛的作用,因此設計好廣告位也是開發過程中一大重要環節。最近在做乙個珠寶檢測站的專案,其中管理頁面就涉及到了廣告位管理,之前專案中也有不少有廣告位的,但都不是自己負責...

檢視ecshop廣告位對應的廣告詳細資訊

在ecshop的日常應用中,如果新增了很多廣告位和廣告。然而時間一長又不知道哪些廣告是有用的,哪些廣告是沒用的,廣告對應的鏈結是什麼。倘若人工乙個個檢視又特費時費力不討好。因而想想辦法用sql一次性查出來,一目了然。select ad.ad name,ad link,ad.ad code,ad.st...