def json(self): return { "id": self.id, "nickname": self.nickname, "icon": getUrlOfKey(self.icon), "gender": self.gender, "introduction": self.introduction, "token": self.token }
def json(self): author = self.author() return { "id": self.id, "content": self.content, "replyCount": self.replyCount(), "parentId": self.parentId, "rootId": self.rootId, "replyTime": self.createdAt.strftime('%Y-%m-%d %H:%M:%S'), "authorName": author.nickname, "authorIcon": getUrlOfKey(author.icon), "authorId": self.userId }
def getKeyUrl(): id = request.args.get("id") if not id: abort(400) attachment = Resource.query.get(id) key = attachment.key downloadRecord = DownloadRecord() downloadRecord.userId = g.user.id downloadRecord.createdAt = datetime.datetime.now() downloadRecord.updatedAt = downloadRecord.createdAt downloadRecord.attachmentId = attachment.id if attachment.cost == 0: db.session.add(downloadRecord) db.session.commit() return (jsonify(SimpleResult(0,getUrlOfKey(key,2)).json()),200) # 这里加个逻辑,如果课程买断也直接返回 authorId = attachment.authorId courseId = attachment.courseId authorCourseList = None # 也就是资料没有courseId,只有authorId,应该是单独这门作者的 if not courseId: # 这里有个逻辑漏洞,但是目前只能这么处理 authorCourseList = db.session.query(AuthorCourse).filter(AuthorCourse.deletedAt == None, AuthorCourse.authorId == authorId) if not authorId: authorCourseList = db.session.query(AuthorCourse).filter(AuthorCourse.deletedAt == None, AuthorCourse.courseId == courseId) for authorCourse in authorCourseList: trade = db.session.query(TradeRecord).filter(TradeRecord.deletedAt == None,TradeRecord.authorCourseId == authorCourse.id, TradeRecord.userId == g.user.id, TradeRecord.orderStatus == 1).first() if trade: db.session.add(downloadRecord) db.session.commit() return (jsonify(SimpleResult(0,getUrlOfKey(key,2)).json()),200) trade = db.session.query(TradeRecord).filter(TradeRecord.type == 1, TradeRecord.deletedAt == None,TradeRecord.attachmentId == id, TradeRecord.userId == g.user.id, TradeRecord.orderStatus == 1).first() if not trade: return (jsonify(SimpleResult(-1,"该资料并未被购买").json()),400) db.session.add(downloadRecord) db.session.commit() return (jsonify(SimpleResult(0,getUrlOfKey(key,2)).json()),200)
def json(self): attachmentUrl = "" if self.attachmentId: attachment = Resource.query.get(self.attachmentId) attachmentUrl = getUrlOfKey(attachment.key,2) topic = Topic.query.get(self.topicId) #课程买断 if self.type == 4: authorCourse = AuthorCourse.query.get(self.authorCourseId) return {"qqGroupId":authorCourse.qqGroupId,"inviteCode":self.orderNo,"type":self.type,"id":self.id,"authorCourseId":self.authorCourseId,"topicId":self.topicId,"courseId":topic.courseId,"attachmentUrl":attachmentUrl,"authorId":topic.authorId,"attachmentId":self.attachmentId} #课时购买 if self.type == 3: return {"qqGroupId":topic.qqGroupId,"inviteCode":self.orderNo,"type":self.type,"id":self.id,"authorCourseId":self.authorCourseId,"topicId":self.topicId,"courseId":topic.courseId,"attachmentUrl":attachmentUrl,"authorId":topic.authorId,"attachmentId":self.attachmentId} else: return {"type":self.type,"id":self.id,"authorCourseId":self.authorCourseId,"topicId":self.topicId,"courseId":topic.courseId,"attachmentUrl":attachmentUrl,"authorId":topic.authorId,"attachmentId":self.attachmentId}
def actualAvatar(self): return getUrlOfKey(self.avatar)
def actualIcon(self): return getUrlOfKey(self.icon)
def actualCover(self): return getUrlOfKey(self.cover)