CJYen 3 年之前
父節點
當前提交
df83bf5f13
共有 1 個文件被更改,包括 12 次插入0 次删除
  1. 12 0
      main.py

+ 12 - 0
main.py

@@ -52,6 +52,7 @@ def handle_follow(event):
     result = table.find_one(userid=real_user_id)
 
     if result:
+        db.close()
         line_bot_api.reply_message(
             event.reply_token,
             TextSendMessage(text='很高興再見到您!'))
@@ -84,6 +85,7 @@ def handle_follow(event):
         result = "/qrcode/"+str(real_user_id)+'.png'
         data = dict(userid=real_user_id, useraddress=user_address, base=result)
         table.insert(data)
+        db.close()
         line_bot_api.reply_message(
             event.reply_token,
             TextSendMessage(text='歡迎加入好友'))
@@ -168,6 +170,7 @@ def collection(userid):
     table2 = db['nft']
 
     if not table2.find_one(userid=userid):
+        db.close()
         return "您尚未擁有NFT商品,歡迎前往NFT商店購買!"
     else:
         xname = userid
@@ -179,6 +182,7 @@ def collection(userid):
             rows[i] = row
             i += 1
         return rows
+    db.close()
 
 # receive handler
 @app.get("/receive/{userid}")
@@ -189,9 +193,11 @@ def receive(userid):
 
     table.find_one(userid=userid)
     if not table.find_one(userid=userid):
+        db.close()
         return "ERROR: User Not Found"
     else:
         result = table.find_one(userid=userid)
+        db.close()
         return {"userid": result['userid'], "base": result['base'], "useraddress": result['useraddress']}
 
 # send handler
@@ -206,6 +212,7 @@ async def receive(userModel : models.TransactionNft):
     address = userModel.address
     result = ""
     if not table2.find_one(id=nftid):
+        db.close()
         print("error: nft not found")
         return {'msg': 'nft not found'}
     else:
@@ -215,8 +222,10 @@ async def receive(userModel : models.TransactionNft):
         user_obj = table2.find_one(id=nftid)
         user_obj['userid'] = result
         table2.update(dict(user_obj), ['id'])
+        db.close()
     return {'msg': 'OK'}
 
+
 # shop handler
 @app.get("/shop/{userid}")
 def shop(userid):
@@ -231,6 +240,7 @@ def shop(userid):
         rows[i] = row
         i += 1
     return rows
+    db.close()
 
 @app.post("/buy")
 async def buy(userModel : models.BuyNft):
@@ -243,12 +253,14 @@ async def buy(userModel : models.BuyNft):
     userid = userModel.userid
 
     if not table2.find_one(id=nftid):
+        db.close()
         print("error: nft not found")
         return "該NFT商品不存在!如果有疑問,請洽網站的服務信箱!"
     else:
         user_obj = table2.find_one(id=nftid)
         user_obj['userid'] = userid
         table2.update(dict(user_obj), ['id'])
+        db.close()
     return "您已購買成功!"
 
 if __name__ == '__main__':