DAY 22 完成管理功能与权限

  • 新增团购讯息
    add 关键字 讯息
  • 删除团购讯息
    删除 关键字
  • 查询团购讯息
    团购
  • 手动新增团购者
    关键字 @Display_name +1
  • 手动删除团购者
    关键字 删除 @Display_name

手动删除团购者

手动新增团购者跟手动删除团购者

if(event.message.text[:event.message.text.find(" "):] in keywords and len(event.message.text)>event.message.text.find(" ")):
    text=event.message.text
    lastLength=text.find(" ")
    if(text[lastLength+1:lastLength+2:]=='@'):            
        key=text[:lastLength:]
        name=text[lastLength+2:text.find(" ",lastLength+1):]
        uid=""
        if not event.message.mention is None:
            for user in event.message.mention.mentionees:
                uid=user.user_id
        quantity=text[text.find(" ",lastLength+1)+1:len(text):]
        cursor=conn.cursor()
        cursor.execute(f"DO $do$ BEGIN IF EXISTS(SELECT uid FROM group_buying_user WHERE mid=(SELECT mid FROM group_buying_message WHERE keyword='{key}') AND uid='{uid}' ) THEN UPDATE group_buying_user SET name='{name}',quantity='{quantity}' WHERE mid=(SELECT mid FROM group_buying_message WHERE keyword='{key}') AND uid='{uid}'; ELSE INSERT INTO group_buying_user (mid ,uid ,name, quantity) VALUES ((SELECT mid FROM group_buying_message WHERE keyword='{key}'),'{uid}','{name}','{quantity}'); END IF; END $do$")
        conn.commit()
        message=text
        message=TextSendMessage(message)

    elif(text[lastLength+1:text.find(" ",lastLength+1):]=="删除" and text[text.find(" ",lastLength+1)+1:text.find(" ",lastLength+1)+2:]=='@'):
        if not event.message.mention is None:
            for user in event.message.mention.mentionees:
                uid=user.user_id
        cursor=conn.cursor()
        cursor.execute(f"DELETE FROM group_buying_user WHERE uid='{uid}'")
        conn.commit()
        message=TextSendMessage("从"+text[:event.message.text.find(" "):]+"中移除"+text[text.find(" ",lastLength+1)+2:len(text):])

    else:
        key=text[:lastLength:]
        profile = line_bot_api.get_profile(event.source.user_id)
        cursor=conn.cursor()
        cursor.execute(f"DO $do$ BEGIN IF EXISTS(SELECT uid FROM group_buying_user WHERE mid=(SELECT mid FROM group_buying_message WHERE keyword='{key}') AND uid='{profile.user_id}' ) THEN UPDATE group_buying_user SET name='{profile.display_name}',quantity='{text[lastLength+1::]}' WHERE mid=(SELECT mid FROM group_buying_message WHERE keyword='{key}' AND uid='{profile.user_id}'); ELSE INSERT INTO group_buying_user (mid, uid, name, quantity) VALUES ((SELECT mid FROM group_buying_message WHERE keyword='{key}'),'{profile.user_id}','{profile.display_name}','{text[lastLength+1::]}'); END IF; END $do$")
        conn.commit()
        message=key+" "+profile.display_name+" "+text[lastLength+1::]
        message=TextSendMessage(message)
    line_bot_api.reply_message(event.reply_token,message)

权限

group_right:

aid uid add_message_right delete_message_right view_right add_buyer_right delete_buyer_right allow_changeright_right
cursor.execute(f"SELECT add_message_right,delete_message_right,view_right,add_buyer_right,delete_buyer_right,allow_changeright_right FROM group_right WHERE uid='{event.source.user_id}';")
rows = cursor.fetchone()
  • 新增团购讯息https://ithelp.ithome.com.tw/upload/images/20211004/20140165RRj0xvCTm6.png
  • 删除团购讯息https://ithelp.ithome.com.tw/upload/images/20211004/20140165i0ynWOUqfs.png
  • 查询团购讯息https://ithelp.ithome.com.tw/upload/images/20211004/20140165dAkTqjllZl.png
  • 手动新增团购者https://ithelp.ithome.com.tw/upload/images/20211004/20140165jIXlv7aolq.png
  • 手动删除团购者https://ithelp.ithome.com.tw/upload/images/20211004/20140165Ix7DrCoBVP.png

<<:  Day19-Kubernetes 那些事 - Stateless 与 Stateful

>>:  Web应用扫描工具-Arachni小蜘蛛(中)

在威胁建模中的发现了多个 攻击向量(attack vectors),要如何操作(优先顺序)才能解决攻击面?

优先顺序需要基於一些标准。通常基於风险敞口对风险进行优先级排序,同时考虑风险的可能性和影响。 例如,...

【Day 09】C 的关系运算子与逻辑运算子

今天一开始,让我们先介绍一下,甚麽是关系运算子! 关系运算子 关系运算子顾名思义,就是用来比较两个变...

Day26 - 部属到正式环境 (1)

今天的实作内容主要根据教学网站进行。 接下来两天的主要内容是将Django部属到正式环境,让使用者可...

笔记-多媒体简介

多媒体系统的历史 报纸是第一种大众传播的媒介(medium) 报纸使用了文本、图像 1895年Gug...

Day30 Open-Match 使用与参赛心得

很开心能够完成 30天的 Open-Match 文章分享,其实中间有些东西,是我一边研究一边写出来的...