def post(self, argument): if argument == '1': data_json = json.loads(self.get_argument('data')) code = data_json.get('code') if self.session['email_random'] == code: # 新增到User表 user_data = { "UserName": self.session['nickname'], "UserEmail": self.session['bind_email'], "UserLastVisitIP": self.request.remote_ip } user_obj = Users(**user_data) session.add(user_obj) session.commit() # 添加到映射表 data = { "OpenID": self.session['openid'], "UserID": str(user_obj.UserID) } session.add(LoginMap(**data)) self.session.set('index_user', user_obj) session.commit() session.close() print "user_data", user_data # self.session['index_user'] = user_data self.write_json("验证成功", code=1) else: self.write_json("验证失败", code=0)
def delete(self, argument): try: session.query(Users).filter(Users.UserID == argument).delete() self.write_json("success", code=1) session.commit() except Exception, e: self.write_json("failed", code=0)
def get(self): user_info = self.session['index_user'].to_json() data = json.loads(self.get_argument('data')) trade_no = sec_pass(str(int(time.time()))) # 交易号 # 加入订单 save_data = {"TRADE_NO": trade_no, "UserID": user_info.get('UserID'), "OrderTotalPrice": data.get('totalprice'), "OrderPayType": 1, "OrderStatus": False, "OrderSendAddress": data.get('address')} try: product_list = [] for i, x in enumerate(data.get('all_data')): # 删除购物车信息 session.query(ShopCart).filter(ShopCart.ShopCartID == x['shopcartid']).delete() # 修改商品信息 session.query(Product).filter(Product.ProductID == x['productid']).update( {"ProductBuyNum": Product.ProductBuyNum + int(x['num'])}) product_list.append(str(x['productid'])) save_data['ProductID'] = ','.join(product_list) session.add(Order(**save_data)) session.commit() except Exception, e: print(e) session.rollback()
def patch(self, argument): updata_json = json.loads(self.get_argument('data')) print updata_json try: if updata_json['IsNew'] == '1': updata_json['IsNew'] = True else: updata_json['IsNew'] = False if updata_json['IsHot'] == '1': updata_json['IsHot'] = True else: updata_json['IsHot'] = False updata_json['ProductType'] = int(updata_json['ProductType']) updata_json['ProductMarketPrice'] = int( updata_json['ProductMarketPrice']) updata_json['ProductFavorablePrice'] = int( updata_json['ProductFavorablePrice']) updata_json['ProductVipPrice'] = int( updata_json['ProductVipPrice']) updata_json['ProductPoint'] = int(updata_json['ProductPoint']) updata_json['ProductCount'] = int(updata_json['ProductCount']) session.query(Product).filter( Product.ProductID == argument).update(updata_json) session.commit() self.write_json("success", code=1) except Exception, e: print e self.write_json("failed", code=0)
def post(self, argument): msg = None code = None # 收藏商品 try: user_info = self.session['index_user'].to_json() ret = session.query(Collection).filter( Collection.UserID == user_info.get('UserID'), Collection.ProductID == argument).first() if ret: code = 0 msg = u"该商品已经收藏了" else: code = 1 msg = u"收藏成功" data = { "UserID": user_info.get('UserID'), "ProductID": argument } session.add(Collection(**data)) session.commit() except Exception, e: print e code = 3 msg = u"用户未登录"
def post(self): # 注册 try: # 获取前端传来的参数 data = json.loads(self.get_argument('data')) luosimao_rep = data.get('luosimao_rep') check_json = { 'api_key': settings.LUOSIMAO_API_KEY, 'response': luosimao_rep } check_response = requests.post(settings.LUOSIMAO_CHECK_ADDRESS, data=check_json) if json.loads(check_response.content).get('res') != 'success': code = 3 msg = u"人机验证失败" self.write_json(msg, code=code) return data.pop('luosimao_rep') data['UserAge'] = int(data['UserAge']) data['UserPwd'] = sec_pass(data['UserPwd']) data['UserLastVisitIP'] = self.request.remote_ip active_hash_code = sec_pass(str(int(time.time()))) data['UserHashCode'] = active_hash_code session.add(Users(**data)) session.commit() active_url = '<a href='+'http://'+settings.WEB_DOMAIN_NAME+\ '/active_email/?address='+data['UserEmail']+\ '&hash_code='+active_hash_code+'>http://'+settings.WEB_DOMAIN_NAME+\ '/active_email/?address='+data['UserEmail']+\ '&hash_code='+active_hash_code+'</a>' content = ''' <html> <body> <p>亲爱的用户:</p> <pre> 您收到这封邮件,是由于在 春色撩人网站 进行了新用户注册,或用户修改 Email 使用 了这个邮箱地址。 如果您并没有访问过 春色撩人网站,或没有进行上述操作,请忽 略这封邮件。您不需要退订或进行其他进一步的操作。 </pre> <pre> ===============激活链接=================== ''' + active_url + ''' (如果上面不是链接形式,请将该地址手工粘贴到浏览器地址栏再访问) </pre> </body> </html> ''' obj = redis_queue_send_email.REDIS_QUEUE() obj.send_email_via_queue(settings.SMTP_USER, data['UserEmail'], settings.WEB_NAME + "注册", content) self.write_json("success", code=1) except Exception, e: # 事务 session.rollback() self.write_json("failed", code=0)
def post(self): data = json.loads(self.get_argument('data')) user_id = self.session['index_user'].to_json()['UserID'] data["UserID"] = user_id obj = DeliveryAddress(**data) session.add(obj) session.commit() self.write_json(u"新增成功", code=1)
def post(self): user_info = self.session['index_user'].to_json() pid = self.get_argument('pid') session.query(Collection).filter( Collection.ProductID == pid, Collection.UserID == user_info['UserID']).delete() session.commit() self.write_json(u"移除成功", code=1)
def delete(self, cartid): try: session.query(ShopCart).filter( ShopCart.ShopCartID == cartid).delete() session.commit() self.write_json("success", code=1) except Exception, e: self.write_json("failed", code=0)
def post(self): arg_data = json.loads(self.get_argument('data')) user_info = self.session['index_user'].to_json() data = {"UserID": user_info['UserID'], "ProductID": arg_data['pid'], "Content": arg_data['user_comment_content'], "Status": False} obj = Comment(**data) session.add(obj) session.commit() self.write_json(u"新增成功、审核成功后即可显示!", code=1)
def patch(self, argument): updata_json = json.loads(self.get_argument('data')) try: session.query(Users).filter( Users.UserID == argument).update(updata_json) session.commit() self.write_json("success", code=1) except Exception, e: print e self.write_json("failed", code=0)
def post(self): # 新增商品类型 try: # 获取前端传来的参数 data = json.loads(self.get_argument('data')) session.add(ProductType(**data)) session.commit() self.write_json("success", code=1) except: # 事务 session.rollback() self.write_json("failed", code=0) finally: session.close()
def patch(self, argument): updata_json = json.loads(self.get_argument('data')) try: if updata_json['Status'] == '1': updata_json['Status'] = True else: updata_json['Status'] = False session.query(Comment).filter( Comment.CommentID == argument).update(updata_json) session.commit() self.write_json("success", code=1) except Exception, e: print e self.write_json("failed", code=0)
def get(self): try: email_address = self.get_argument('address') hash_code = self.get_argument('hash_code') ret = session.query(Users).filter_by( UserEmail=email_address).first() if ret and hash_code == ret.UserHashCode: # 激活账户 session.query(Users).filter( Users.UserEmail == email_address).update( {"UserHashCode": ""}) session.commit() self.redirect('/login/?active_status=1') except Exception, e: self.redirect('/login/?active_status=0')
def post(self): try: data = json.loads(self.get_argument('data')) if data.keys()[0] == "UserSex": data['UserSex'] = 1 if data['UserSex'] == u"男" else 0 user_info = self.session['index_user'].to_json() session.query(Users).filter( Users.UserID == user_info['UserID']).update(data) user_info = session.query(Users).filter_by( UserID=user_info['UserID']).first() self.session['index_user'] = user_info self.write_json(u"修改成功", code=1) session.commit() except Exception, e: print e self.write_json(u"修改失败", code=0)
def get(self): # 支付成功,改变订单状态 user_info = self.session['index_user'].to_json() out_trade_no = self.get_argument('out_trade_no', None) if out_trade_no: select_order_status = session.query(Order).filter_by( TRADE_NO=out_trade_no).first() if not select_order_status.OrderStatus: session.query(Order).filter( Order.TRADE_NO == out_trade_no).update( {"OrderStatus": True}) session.commit() # 发送邮件 content = ''' <html> <body> <p>亲爱的用户:</p> <pre> 您已经成功购买商品。我们已经收到您的订单 <a>''' + out_trade_no + '''</a> 的购买请求,商品正在发货中,请等待! 如果您并没有访问过 有缘婚恋网,或没有进行上述操作,请忽 略这封邮件。您不需要退订或进行其他进一步的操作。 </pre> <pre> </pre> </body> </html> ''' obj = redis_queue_send_email.REDIS_QUEUE() obj.send_email_via_queue(settings.SMTP_USER, user_info.get('UserEmail'), settings.WEB_NAME + "订单信息", content) order_list = session.query(Order).filter_by( UserID=user_info.get('UserID')).all() all_data = [] for i, x in enumerate(order_list): ProductID = x.to_json().get('ProductID') product_info_list = [] for id in ProductID.split(','): print "==========", id ProductInfo = session.query(Product).filter_by( ProductID=id).first().to_json() product_info_list.append(ProductInfo) all_data.append({ "order": x.to_json(), "product_info": product_info_list }) self.render('order_list.html', order_list=all_data)
def post(self): # 新增用户 try: # 获取前端传来的参数 data = json.loads(self.get_argument('data')) # 保存访问IP data['UserLastVisitIP'] = self.request.remote_ip # 密码加密 data['UserPwd'] = sec_pass(data['UserPwd']) session.add(Users(**data)) session.commit() self.write_json("success", code=1) except: # 事务 session.rollback() self.write_json("failed", code=0) finally: session.close()
def get(self): try: # 获取code code = self.get_argument('code') # 根据code获取access_token url1 = 'https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=' + settings.QQ_APP_ID + '&client_secret=' \ + settings.QQ_APPKey + '&code=' + code + '&redirect_uri=' + settings.QQ_CollBackUrl req1 = requests.get(url1) access_token = req1.content.split('&')[0].split('=')[1] # 根据access_token获取openid url2 = 'https://graph.qq.com/oauth2.0/me?access_token=' + access_token req2 = requests.get(url2) openid = json.loads( req2.content.split('(')[1].split(')')[0]).get('openid') # 根据openid获取用户信息 url3 = 'https://graph.qq.com/user/get_user_info?access_token=' + access_token + '&oauth_consumer_key=' + settings.QQ_APP_ID + '&openid=' + openid req3 = requests.get(url3) qq_user_info = json.loads(req3.content) nickname = qq_user_info.get('nickname') # 查询有没有绑定帐号 self.session['openid'] = openid self.session['nickname'] = nickname ret = session.query(LoginMap).filter_by(OpenID=openid).first() if not ret: self.redirect('/register/?status=1') # 未绑定帐号 else: # 登录 userid = ret.UserID ret = session.query(Users).filter_by(UserID=userid).first() self.session['index_user'] = ret session.query(Users).filter(Users.UserID == ret.UserID).update( { "UserLastVisitTime": datetime.datetime.now(), "UserLastVisitIP": self.request.remote_ip }) session.commit() self.redirect('/index') except Exception, e: print(e) self.redirect('/register/?status=2') # 第三方登录出现错误
def post(self): data = json.loads(self.get_argument('data')) luosimao_rep = data.get('luosimao_rep') check_json = { 'api_key': settings.LUOSIMAO_API_KEY, 'response': luosimao_rep } check_response = requests.post(settings.LUOSIMAO_CHECK_ADDRESS, data=check_json) if json.loads(check_response.content).get('res') != 'success': code = 3 msg = u"人机验证失败" self.write_json(msg, code=code) return # 验证帐号密码,帐号状态 ret = session.query(Users).filter( Users.UserEmail == data.get('Email'), Users.UserPwd == sec_pass(data.get('Pass'))).first() if not ret: code = 2 msg = u"帐号密码错误" self.write_json(msg, code=code) return if ret.UserHashCode: # 账户未激活 code = 0 msg = u"帐号未激活" self.write_json(msg, code=code) return else: code = 1 msg = u"登录成功" session.query(Users).filter(Users.UserID == ret.UserID).update({ "UserLastVisitTime": datetime.datetime.now(), "UserLastVisitIP": self.request.remote_ip }) self.session['index_user'] = ret session.commit() self.write_json(msg, code=code)
def post(self, argument): msg = '' code = '' try: user_info = self.session['index_user'].to_json() buy_num = 1 arg_data = self.get_argument('data') if arg_data and arg_data != "": argument_data = json.loads(self.get_argument('data')) buy_num = argument_data.get('buy_num') # 查询购物车中是否已经有该商品 ret = session.query(ShopCart).filter( ShopCart.UserID == user_info.get('UserID'), ShopCart.ProductID == argument).first() if ret: session.query(ShopCart).filter( ShopCart.UserID == user_info.get('UserID'), ShopCart.ProductID == argument).update( {"BuyNum": int(buy_num) + int(ret.BuyNum)}) else: if buy_num: data = { "UserID": user_info.get('UserID'), "ProductID": argument, "BuyNum": buy_num } else: data = { "UserID": user_info.get('UserID'), "ProductID": argument } session.add(ShopCart(**data)) session.commit() code = 1 msg = u"添加购物车成功" except Exception, e: print(e) code = 0 msg = u"添加购物车出错"
def post(self): # 新增商品 try: # 获取前端传来的参数 data = json.loads(self.get_argument('data')) if data['IsHot'] == '1': data['IsHot'] = True else: data['IsHot'] = False if data['IsNew'] == '1': data['IsNew'] = True else: data['IsNew'] = False pro = Product(**data) session.add(pro) session.commit() self.write_json(pro.ProductID, code=1) except Exception, e: # 事务 print e session.rollback() self.write_json("failed", code=0)
def get(self): code = self.get_argument('code') url = 'https://api.weibo.com/oauth2/access_token' url1 = 'https://api.weibo.com/2/users/show.json' canshu = { "client_id": "1816247821", "client_secret": "eda276ef28ae911ba030fea6bfbbc360", "grant_type": "authorization_code", "code": code, "redirect_uri": "http://test.com/check_weibo/" } re = requests.post(url, data=canshu) re_json = json.loads(re.content) re1 = requests.get(url1 + "?access_token=" + re_json.get('access_token') + "&uid=" + re_json.get('uid')) weibo_user_info = json.loads(re1.content) ret = session.query(LoginMap).filter_by( OpenID=weibo_user_info.get('id')).first() if not ret: self.session['openid'] = weibo_user_info.get('id') self.session['nickname'] = weibo_user_info.get('screen_name') self.redirect('/register/?status=1') # 未绑定帐号 else: # 登录 userid = ret.UserID ret = session.query(Users).filter_by(UserID=userid).first() session.query(Users).filter(Users.UserID == ret.UserID).update({ "UserLastVisitTime": datetime.datetime.now(), "UserLastVisitIP": self.request.remote_ip }) self.session['index_user'] = ret session.commit() self.redirect('/index')
def post(self): pid = self.get_argument('pid') try: complete_file_path = None file_name = None return_save_file_path = os.path.join('images', 'upload') # 要保存到数据库的地址 save_file_path = os.path.join('static', return_save_file_path) if self.get_argument('image_type') == '1': # 小图地址字段 image_type = 'ProductSmallPicture' # 上传到哪儿 upload_type = 'SmallPictureUpType' else: # 大图地址字段 image_type = 'ProductBigPictureProductBigPicture' # 上传到哪儿 upload_type = 'BigPictureUpType' if self.get_argument('save_type') == '2' or self.get_argument( 'save_type') == '3': # 七牛云、又拍云 save_file_path = os.path.join('static', return_save_file_path) # 将文件先保存到本地 file_metas = self.request.files["file"] # 获取上传文件信息 for meta in file_metas: # 循环文件信息 file_name = meta['filename'] # 获取文件的名称 # 拼接完整目录 complete_file_path = os.path.join(save_file_path, file_name) with open(complete_file_path, 'wb') as up: # os拼接文件保存路径,以字节码模式打开 up.write(meta['body']) # 将文件写入到保存路径目录 # 要保存到数据库的文件名 return_save_file_path = file_name # 是否上传七牛云 if self.get_argument('save_type') == '2': # 上传 obj = up_qiniu.QINIU() # 返回七牛地址 return_save_file_path = obj.upload(complete_file_path, file_name) # 是否上传又拍云 if self.get_argument('save_type') == '3': pass # 上传 # 返回七牛地址 # return_save_file_path # 入库 session.query(Product).filter(Product.ProductID == pid).update({ image_type: return_save_file_path, upload_type: int(self.get_argument('save_type')) }) session.commit() session.close() self.write_json("success", code=1) except Exception, e: print e self.write_json("failed", code=0)
def patch(self, cartid): number = json.loads(self.get_argument('data')).get('number') session.query(ShopCart).filter(ShopCart.ShopCartID == cartid).update( {"BuyNum": number}) session.commit() self.write_json(u"购物车更新成功", code=1)