總結 11 置頂 加精 刪除

2021-10-01 19:19:31 字數 3203 閱讀 7327

對於帖子進行置頂、加精和刪除,其實就是對帖子的type和status進行修改,本質上來說就是對帖子資料的修改,但是這裡涉及到許可權問題,只有版主能對帖子進行置頂和加精,只有管理員能對帖子進行刪除。

在dao層我們只需增加兩個兩個更新方法,根據id進行修改即可

int

updatetype

(int id,

int type)

;int

updatestatus

(int id,

int status)

;

在service層呼叫dao層方法即可

public

intupdatetype

(int id,

int type)

public

intupdatestatus

(int id,

int status)

在controller層,我們呼叫service層方法即可,同時對於置頂和加精我們要觸發發帖事件,將帖子同步到elasticsearch伺服器中,而刪除我們要觸發刪帖事件,將elasticsearch伺服器中的帖子刪除。

// 置頂

(path =

"/top"

,method = requestmethod.post)

@responsebody

public string settop

(int id)

// 加精

(path =

"/wonderful"

,method = requestmethod.post)

@responsebody

public string setwonderful

(int id)

// 刪除

(path =

"/delete"

,method = requestmethod.post)

@responsebody

public string setdelete

(int id)

當然,我們需要新建乙個刪除帖子的消費者,直接呼叫elasticsearchservice的delete方法即可。

// 消費刪帖事件

@kafkalistener

(topics =

)public

void

handledeletemessage

(consumerrecord record)

event event = jsonobject.

parseobject

(record.

value()

.tostring()

, event.

class);

if(event == null)

elasticsearchservice.

deletediscusspost

(event.

getentityid()

);}

然後,我們在js中實現非同步請求邏輯即可

// 置頂

function

settop()

,function

(data)

else})

;}// 加精

function

setwonderful()

,function

(data)

else})

;}// 刪除

function

setdelete()

,function

(data)

else})

;}

我們實現了所有的基本功能之後就可以加入許可權控制了,主要是在securityconfig中配置即可

.

antmatchers

("/discuss/top"

,"/discuss/wonderful").

hasanyauthority

( authority_moderator).

antmatchers

("/discuss/delete").

hasanyauthority

( authority_admin

)

配置完成之後許可權就配置完成了,但是還有一些細節,如果使用者沒有許可權就不要顯示按鈕。thymelead對於spring security是支援的,但我們需要匯入乙個pom包,然後在html中配置即可,通過使用sec:authorize="hasanyauthority(『xx』)"即可。

class

="float-right"

>

type

="hidden"

id="postid"

th:value

="$"

>

type

="button"

class

="btn btn-danger btn-sm"

id="topbtn"

th:disabled

="$"

sec:authorize

="hasanyauthority('moderator')"

>

置頂button

>

type

="button"

class

="btn btn-danger btn-sm"

id="wonderfulbtn"

th:disabled

="$"

sec:authorize

="hasanyauthority('moderator')"

>

加精button

>

type

="button"

class

="btn btn-danger btn-sm"

id="deletebtn"

th:disabled

="$"

sec:authorize

="hasanyauthority('admin')"

>

刪除button

>

div>

置頂 sfw 案例總結 適應

已於 昨天正式上線 很小的乙個企業站.功能也很迷你.對我來講卻意義重大,做了3年的程式猿 接了n個私單 卻沒有乙個如此對我重要.這是 前後臺都採用我自己寫的 框架來構建的,前端使用的是 moogens.js 庫,後端使用的是 sfw 開發時間為1周 是對自己的乙個嘗試.本來是想拿qee來做的,確實快...

windows將窗體置頂的方法總結

將窗體置頂的方法有 將窗體置頂的api函式 setwindowpos m hwndtop,hwnd topmost,0,0,0,0,swp nomove swp nosize mfc pdlg setwindowpos cwnd wndtopmost,0,0,0,0,swp nomove swp n...

置頂 刪除 大資料取捨之道讀書筆記

1 對於人類而言,遺忘一直是常態,而記憶才是例外。然而,由於數字技術與全球網路的發展,這種平衡已經被打破了。如今,往事正像刺青一樣刻在我們的數字 上,遺忘已經變成了例外,而記憶卻成了常態 在這個記憶已經成為常態的時代,難道每個公開自己資訊的人只能永遠對資訊束手無策嗎?我們真的想要乙個由於無法遺忘,而...