FastAPI(七十)實戰開發《在線課程學習系統》接口開發--留言功能開發

在之前的文章:FastAPI(六十九)實戰開發《在線課程學習系統》接口開發--修改密碼,這次分享留言功能開發

我們能梳理下對應的邏輯

1.校驗用戶是否登錄
2.校驗留言的用戶是否存在
3.校驗用戶是否和留言的用戶一致
4.校驗留言長度是否符合要求
5.增加留言

 

        那麼看下對應的需要新增的pydantic。
class MessageConent(BaseModel):
    id:int
    connect:str

    對於crud,這次沒有需要新增的,我們用的都是之前的代碼中已經有的,所以這裏不在過多的分析。接着我們看下對應的接口實踐的代碼。

@usersRouter.get(path='/addmessage')
async  def addmessage(messageconent:MessageConent,
                          user:UsernameRole= Depends(get_cure_user),
                          db: Session = Depends(get_db)):
    if len(messageconent.connect)>500 and len(messageconent.connect)>5:
        return reponse(code=100502,message='留言長度在5-500個字符長度',data='')
    user_name = get_user_username(db, user.username)
    rev_user=get_user(db,messageconent.id)
    if not  rev_user:
        return reponse(code=100503,message='留言用戶不存在',data='')
    if rev_user.id==user_name.id:
        return reponse(code=100501,message='自己不能給自己留言',data='')
    times = datetime.strftime(datetime.now(), "%Y-%m-%d %H:%M:%S")
    message = Message(senduser=user_name.id,
                      acceptusers=rev_user.id,
                      context=messageconent.connect,
                      sendtime=times,addtime=times,read=False)
    db.add(message)
    db.commit()
    db.refresh(message)
    return reponse(code=200,message="成功",data='')

  

這裏面的本次分享的內容比較簡單,比之前的一對一的聊天要簡單的多,當然了,這裏的如果提升,就是一對一聊天,那麼這裏就需要處理留言信息,一對一的時時對話,之前的分享有講過,但是不在線的一對一聊天,就是一對一的留言。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章