from PDAPI import * __metadata__ = { "methods": ["GET", "POST"], "blueprint": "Invite", "permission": 1.0, "attributes": [], "limit": "1/second", "args": [ {"Name": "InviteID", "Type": "int"} ] } def HandleRequest(): InviteID = flask.request.args.get("InviteID") if not IsConversationValid(InviteID): return flask.jsonify({"Success": False, "Message": "对话不存在或已过期"}) Conversation = InviteConversation.query.filter_by(InviteID=InviteID).first() if not Conversation: return flask.jsonify({"Success": False, "Message": "对话不存在"}) FilteredMessages = [Msg for Msg in Conversation.Messages if Msg.get("Role") != "System"] ResponseData = { "Success": True, "Data": { "InviteID": InviteID, "Messages": FilteredMessages, "MessageCount": len(FilteredMessages), "RemainingTime": int(1800 - (time.time() - Conversation.CreateTime)) if Conversation.FinalStatus is None else 0, "FinalStatus": Conversation.FinalStatus, "FinalResult": json.loads(Conversation.FinalResult), "FinalReason": Conversation.FinalReason, "FinalMood": Conversation.FinalMood } } return flask.jsonify(ResponseData)