前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FastAPI(六十九)实战开发《在线课程学习系统》接口开发--留言功能开发

FastAPI(六十九)实战开发《在线课程学习系统》接口开发--留言功能开发

作者头像
雷子
发布2021-11-04 15:22:11
3970
发布2021-11-04 15:22:11
举报

前言

我们上一次分享了实战FastAPI(六十八)实战开发《在线课程学习系统》接口开发--修改密码,这次我们分析留言功能开发。

正文

我们能梳理下对应的逻辑

代码语言:javascript
复制
1.校验用户是否登录
2.校验留言的用户是否存在
3.校验用户是否和留言的用户一致
4.校验留言长度是否符合要求
5.增加留言

那么看下对应的需要新增的pydantic。

代码语言:javascript
复制
class MessageConent(BaseModel):
    id:int
    connect:str

对于crud,这次没有需要新增的,我们用的都是之前的代码中已经有的,所以这里不在过多的分析。接着我们看下对应的接口实践的代码。

代码语言:javascript
复制
@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='')

这里面的本次分享的内容比较简单,比之前的一对一的聊天要简单的多,当然了,这里的如果提升,就是一对一聊天,那么这里就需要处理留言信息,一对一的时时对话,之前的分享有讲过,但是不在线的一对一聊天,就是一对一的留言。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档