def post(self, *args, **kwargs): rep = BaseResponse() news_id = self.get_argument('news_id', None) if not news_id: rep.summary = "新闻ID不能为空." else: user_info_id = self.session['user_info']['nid'] conn = ORM.session() has_favor = conn.query(ORM.Favor).filter(ORM.Favor.user_info_id == user_info_id, ORM.Favor.news_id == news_id).count() if has_favor: conn.query(ORM.Favor).filter(ORM.Favor.user_info_id == user_info_id, ORM.Favor.news_id == news_id).delete() conn.query(ORM.News).filter(ORM.News.nid == news_id).update( {"favor_count": ORM.News.favor_count - 1}, synchronize_session="evaluate") rep.code = StatusCodeEnum.FavorMinus else: conn.add(ORM.Favor(user_info_id=user_info_id, news_id=news_id, ctime=datetime.datetime.now())) conn.query(ORM.News).filter(ORM.News.nid == news_id).update( {"favor_count": ORM.News.favor_count + 1}, synchronize_session="evaluate") rep.code = StatusCodeEnum.FavorPlus conn.commit() conn.close() rep.status = True self.write(json.dumps(rep.__dict__))
def post(self, *args, **kwargs): rep = BaseResponse() form = account.SendMsgForm() if form.valid(self): email = form._value_dict['email'] conn = ORM.session() has_exists_email = conn.query(ORM.UserInfo).filter( ORM.UserInfo.email == form._value_dict['email']).count() print(has_exists_email, "@@@@", form._value_dict['email']) if has_exists_email: rep.summary = "此邮箱已经被注册" self.write(json.dumps(rep.__dict__)) return current_date = datetime.datetime.now() code = commons.random_code() count = conn.query( ORM.SendMsg).filter_by(**form._value_dict).count() if not count: insert = ORM.SendMsg(code=code, email=email, ctime=current_date) conn.add(insert) conn.commit() rep.status = True else: limit_day = current_date - datetime.timedelta(hours=1) times = conn.query(ORM.SendMsg).filter( ORM.SendMsg.email == email, ORM.SendMsg.ctime > limit_day, ORM.SendMsg.times >= 10, ).count() if times: rep.summary = "'已经超过今日最大次数(1小时后重试)'" else: unfreeze = conn.query(ORM.SendMsg).filter( ORM.SendMsg.email == email, ORM.SendMsg.ctime < limit_day).count() if unfreeze: conn.query(ORM.SendMsg).filter_by(email=email).update( {"times": 0}) conn.query(ORM.SendMsg).filter_by(email=email).update( { "times": ORM.SendMsg.times + 1, "code": code, "ctime": current_date }, synchronize_session="evaluate") conn.commit() rep.status = True conn.close() else: rep.summary = form._error_dict['email'] self.write(json.dumps(rep.__dict__))
def post(self, *args, **kwargs): rep = BaseResponse() form = account.RegisterForm() if form.valid(self): current_date = datetime.datetime.now() limit_day = current_date - datetime.timedelta(minutes=1) conn = ORM.session() is_valid_code = conn.query(ORM.SendMsg).filter( ORM.SendMsg.email == form._value_dict['email'], ORM.SendMsg.code == form._value_dict['email_code'], ORM.SendMsg.ctime > limit_day).count() if not is_valid_code: rep.message['email_code'] = '邮箱验证码不正确或过期' self.write(json.dumps(rep.__dict__)) return has_exists_email = conn.query(ORM.UserInfo).filter( ORM.UserInfo.email == form._value_dict['email']).count() if has_exists_email: rep.message['email'] = '邮箱已经存在' self.write(json.dumps(rep.__dict__)) return has_exists_username = conn.query(ORM.UserInfo).filter( ORM.UserInfo.username == form._value_dict['username']).count() if has_exists_username: rep.message['email'] = '用户名已经存在' self.write(json.dumps(rep.__dict__)) return form._value_dict['ctime'] = current_date form._value_dict.pop('email_code') obj = ORM.UserInfo(**form._value_dict) conn.add(obj) conn.flush() conn.refresh(obj) user_info_dict = { 'nid': obj.nid, 'email': obj.email, 'username': obj.username } conn.query(ORM.SendMsg).filter_by( email=form._value_dict['email']).delete() conn.commit() conn.close() self.session['is_login'] = True self.session['user_info'] = user_info_dict rep.status = True else: rep.message = form._error_dict self.write(json.dumps(rep.__dict__))
def post(self, *args, **kwargs): print("评论!!!!!!") rep = BaseResponse() form = CommentForm() if form.valid(self): form._value_dict['ctime'] = datetime.datetime.now() conn = ORM.session() obj = ORM.Comment(user_info_id=self.session['user_info']['nid'], news_id=form._value_dict['news_id'], reply_id=form._value_dict['reply_id'], content=form._value_dict['content'], up=0, down=0, ctime=datetime.datetime.now()) conn.add(obj) conn.flush() conn.refresh(obj) rep.data = { 'user_info_id': self.session['user_info']['nid'], 'username': self.session['user_info']['username'], 'nid': obj.nid, 'news_id': obj.news_id, 'ctime': obj.ctime.strftime("%Y-%m-%d %H:%M:%S"), 'reply_id': obj.reply_id, 'content': obj.content, } conn.query(ORM.News).filter(ORM.News.nid == form._value_dict['news_id']).update( {"comment_count": ORM.News.comment_count + 1}, synchronize_session="evaluate") conn.commit() conn.close() rep.status = True else: rep.message = form._error_dict print(rep.__dict__) self.write(json.dumps(rep.__dict__))
def __init__(self): self.conn = ORM.session()
def show_or_hidden(self, nid): conn = ORM.session() obj = conn.query(ORM.News).filter_by(nid=nid).first() conn.close() return obj.show
def hidden_new(self, nid): conn = ORM.session() conn.query(ORM.News).filter_by(nid=nid).update({"show": 0}) conn.commit() conn.close()