def get_image_code(image_code_id): """ 获取图形验证码 :param image_code_id:图片的编号 :return:验证码 , 验证码图像 """ #验证参数 #业务逻辑 生成验证码图片 text, image_data = captcha.generate_captcha() #保存图形验证码 #reids_store.set() #redis_store.expire() #相当于 try: redis_store.setex("image_code_%s" % image_code_id, constants.IMAGE_CODE_REDISE_EXPIRE, text) except Exception as e: logging.error(e) #返回json字符串 return jsonify(errno=RET.DBERR, errmsg="验证码图片保存失败") #返回值 response = make_response(image_data) response.headers['Content-Type'] = 'image/jpg' return response
def get_house_index(): """ 获取首页房屋信息 :return: 排序后房屋信息 """ # 先查询缓存 try: # print("wrwerwerwer") result = redis_store.get("home_page_data") except Exception as e: logging.error(e) result = None if result: return result.decode(), 200, {"Content-Type": "pplication/json"} else: # 查询数据库,房屋订单最多的5条 try: houses = House.query.order_by(House.order_count.desc()).limit( contants.HOME_PAGE_MAX_NUMX).all() except Exception as e: logging.error(e) return jsonify(errno=RET.DBERR, errmsg='查询数据库失败') if not houses: return jsonify(errno=RET.NODATA, errmsg='没有数据') # print(houses) # print(type(houses)) houses_list = [] for house in houses: houses_list.append(house.to_basic_dict()) house_dict = dict(errno=RET.OK, errmsg="ok", data=houses_list) json_houses = json.dumps(house_dict) try: redis_store.setex("home_page_data", contants.HOME_PAGE_DATE_REDIS_EXPIRES, json_houses) except Exception as e: logging.error(e) return json_houses, 200, {"Content-Type": "pplication/json"}
def get_house_datail(house_id): """ 获取房屋详情 house_id 房屋信息 :return: """ #当前用户 #g对象中 user_id = session.get("user_id", "-1") #取不到值显示-1 (未登录) #校验参数 if not house_id: return jsonify(errno=RET.PARAMERR, errmsg="参数错误") #先从缓存中查询数据 try: result = redis_store.get("house_info_%s" % house_id) except Exception as e: logging.error(e) result = None if result: return '{"errrno":%s, "errmsg":"ok", data:{"house": %s, "user_id": %s}}'%(RET.OK, result.decode(), user_id), 200, {"Content-Type":"application/json"} #查询数据库 try: house = House.query.get(house_id) except Exception as e: logging.error(e) return jsonify(errno=RET.DBERR, errmsg="查询数据库失败") if not house: return jsonify(errno=RET.NODATA, errmsg="房屋不存在") house_data = house.to_full_dict() #存入redis json_house = json.dumps(house_data) try: redis_store.setex("house_info_%s" % house_id, constants.HOUSE_DETAIL_REDIS_EXPIRES, json_house) except Exception as e: logging.error(e) return jsonify(errno=RET.OK, errmsg="okk", data={"house":house_data, "user_id":user_id})
def get_area_info(): #用redis中读取数据 try: response_json = redis_store.get("area_info") except Exception as e: logging.error(e) else: # redis有缓存数据 if response_json is not None: response_json = json.loads(response_json) # print(response_json) logging.info('redis cache') #return response_json, 200, {"Content-Type": "application/json"} return jsonify(errno=RET.OK, errmsg='OK', data=response_json['data']) #查询数据库,读取城区信息 try: area_li = Area.query.all() except Exception as e: logging.error(e) return jsonify(errno=RET.DBERR, errmsg='数据库异常') area_dict_li = [] # for area in area_li: area_dict_li.append(area.to_dict()) #将数据转成json字符串 #response_dict = dict(errno=RET.OK, errmsg="ok", data=area_dict_li) response_dict = dict(data=area_dict_li) response_json = json.dumps(response_dict) try: redis_store.setex("area_info", constants.AREA_INFO_REDIS_CACHE_EXPIRES, response_json) except Exception as e: logging.error(e) #return response_json, 200, {"Content-Type": "application/json"} return jsonify(errno=RET.OK, errmsg="ok", data=area_dict_li)
def get_area_info(): """ 获取城区信息 :return: """ # 从redis里读取数据 try: response_json = redis_store.get("area_info") except Exception as e: logging.error(e) else: # redis 有缓存数据 if response_json is not None: response_json = json.loads(response_json) # print(response_json) # print("--",type(response_json['data'])) return jsonify(errno=RET.OK, errmsg='OK', data=response_json['data']) # 查询数据库 获取城区信息 try: area_li = Area.query.all() except Exception as e: logging.error(e) return jsonify(errno=RET.DBERR, errmsg='数据库异常') area_dict_li = [] for area in area_li: area_dict_li.append(area.to_dict()) # 将数据转成json字符串 response_dict = dict(data=area_dict_li) # response_dict = dict(area_dict_li) response_json = json.dumps(response_dict) try: redis_store.setex("area_info", contants.AREA_INFO_REDIS_CACHE_EXPIRES, response_json) except Exception as e: logging.error(e) # print("--",type(area_dict_li)) return jsonify(errno=RET.OK, errmsg='ok', data=area_dict_li)
def get_image_code(image_code_id): """ 获取图片验证码 :param image_code_id: 图片的编号 :return: 验证码 图像 """ # 验证参数 # 业务逻辑处理 # 生成验证码图片 text, image_data = captcha.generate_captcha() # 保存验证码 redis # redis_store.set() # redis_store.expire() try: redis_store.setex('image_code_%s' % image_code_id, contants.IMAGE_CODE_REDIS_EXPIRES, text) except Exception as e: logging.error(e) return jsonify(errno=RET.OK, errmsg='保存图片验证码失败') # 返回值 reponse = make_response(image_data) reponse.headers['Content-Type'] = 'image/jpg' return reponse
def get_house_detail(house_id): """ 获取房屋的详情 :param house_id: 房屋id :return: 房屋的详细信息 """ # 当前用户 # g对象 user_id = session.get("user_id", "-1") # 校验参数 if not house_id: return jsonify(errno=RET.PARAMERR, errmsg='参数错误') # 查询缓存 try: result = redis_store.get("house_info_%s" % house_id) except Exception as e: logging.error(e) # return jsonify(errno=RET.PARAMERR, errmsg='参数错误') result = None if result: # print("result---2:", result) # print("result---2:", type(result)) # print("result---2:", result) print("result---3:", result.decode()) return '{"errno":%s, "errmsg":"OK", "data":{"house": %s, "user_id": %s }}' % ( RET.OK, result.decode(), user_id), 200, { "Content-Type": "pplication/json" } # 查询数据库 try: house = House.query.get(house_id) except Exception as e: logging.error(e) return jsonify(errno=RET.DBERR, errmsg='查询数据库失败') if not house: return jsonify(errno=RET.NODATA, errmsg='房屋不存在') # print(house) house_data = house.to_full_dict() # 保存redis json_data = json.dumps(house_data) print("json:--", json_data) try: redis_store.setex("house_info_%s" % house_id, contants.HOUSE_DETAIL_REDIS_EXPIRES, json_data) except Exception as e: logging.error(e) # print("house_data---1:", house_data) # print("house_data---1:", type(house_data)) print(house) return jsonify(errno=RET.OK, errmsg='OK', data={ "house": house_data, "user_id": user_id })