def post(self): real_name = self.get_argument('real_name', '') id_card = self.get_argument('id_card', '') if not all((real_name, id_card)): return self.write(dict(errno=RET.PARAMERR, errmsg='确少数据')) user = Tenant.by_mobile(self.current_user.phone_number) if user.real_name and id_card: return self.write(dict(errno=RET.DATAEXIST, errmsg='数据已存在不能添加')) if not re.match( r'^([1-9]\d{5}[12]\d{3}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3}[0-9xX])$', id_card): return self.write(dict(errno=RET.ROLEERR, errmsg='用户身份错误')) try: user = Tenant.by_mobile(self.current_user.phone_number) user.real_name = real_name user.id_card = id_card self.db.add(user) self.db.commit() except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, errmsg='参数错误')) return self.write(dict(errcode=RET.OK, errmsg='OK'))
def get(self): T = Tenant.by_mobile(self.current_user.phone_number) self.render( "my.html", user_avatar=T.user_avatar, name=T.name, phone_number=self.current_user.phone_number, )
def post(self): mobile = Tenant.by_mobile(self.get_argument('mobile', '')) password = self.get_argument('password','') print mobile,password if mobile and mobile.auth_password(password): try: self.session.set('user',mobile.phone_number) except Exception as e: logging.error(e) self.redirect('/index') else: return self.write(dict(errcode=RET.DATAERR, errmsg="手机号或密码错误!"))
def post(self): name = self.get_argument('name', '') if name in (None, ''): return self.write(dict(errcode=RET.PARAMERR, errmsq='参数错误')) try: user = Tenant.by_mobile(self.current_user.phone_number) user.name = name self.db.add(user) self.db.commit() except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, errmsg='参数错误')) return self.write(dict(errcode=RET.OK, errmsg='OK'))
def post(self): user = Tenant.by_mobile(self.current_user.phone_number) order_id = self.get_argument("order_id", '') comment = self.get_argument("comment", '') if not all((order_id, comment)): return self.write(dict(errcode=RET.PARAMERR, errmsg="参数错误")) try: # 需要确保只能评论自己下的订单 order_info = self.db.query(Order_info).filter( Order_info.order_id == order_id).first() order_info.order_message = comment self.db.add(order_info) self.db.commit() except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, errmsg="数据库错误")) self.write(dict(errcode=RET.OK, errmsg="OK"))
def post(self): try: image_data = self.request.files.get('avatar', '') except Exception as e: logging.error(e) return self.write(dict(errcode=RET.PARAMERR, errmsg="未传图片")) try: file_name = storage(image_data[0]["body"]) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.THIRDERR, errmsg="上传失败")) try: user = Tenant.by_mobile(self.current_user.phone_number) user.user_avatar = file_name self.db.add(user) self.db.commit() except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, errmsg="保存错误")) self.write( dict(errcode=RET.OK, errmsg="保存成功", data="%s%s" % (constants.QINIU_URL_PREFIX, file_name)))
def post(self): user = self.current_user.phone_number house_id = self.get_argument('house_id', '') start_date = self.get_argument('start_date', '') end_date = self.get_argument('end_date', '') amount = self.get_argument('amount', '') price = self.get_argument('price', '') d1 = datetime.strptime(start_date, '%Y-%m-%d') d2 = datetime.strptime(end_date, '%Y-%m-%d') days = (d2 - d1).days + 1 if not all((house_id, start_date, end_date, amount)): return self.write(dict(errcode=RET.PARAMERR, errmsg="参数错误")) user = Tenant.by_mobile(user) if int(house_id) in [i.hous_id for i in user.hous_info]: return self.write(dict(errcode=RET.PARAMERR, errmsg="自己房子不能下单")) try: order = Order_info() order.order_begin_date = start_date order.order_end_date = end_date order.order_cheak_days = days order.order_house_price = price order.order_amount = amount order.tenant_id = user.id order.hous_info_id = house_id order.order_utime = datetime.now() self.db.add(order) self.db.commit() except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, errmsg="save data error")) self.write(dict(errcode=RET.OK, errmsg="OK"))
def post(self): user = self.get_argument('mobile', '') # 手机号 phonecode = self.get_argument('phonecode', '') # 手机验证码 password2 = self.get_argument('password', '') # 密码 print user,phonecode,password2 # 检查参数 if not all([user, phonecode, password2]): return self.write(dict(errcode=RET.PARAMERR, errmsg="参数不完整")) # 判断手机号格式 if not re.match(r"^1\d{10}$",user): return self.write(dict(errcode=RET.DATAERR, errmsg="手机号格式错误")) # 检查验证码获取是否成功 try: real_sms_code = self.redis.get(user) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.DBERR, errmsg="查询验证码出错")) # 检查验证码是否过期 if not real_sms_code: return self.write(dict(errcode=RET.NODATA, errmsg="验证码过期")) # 检查验证码是否错误 if real_sms_code != phonecode: return self.write(dict(errcode=RET.DATAERR, errmsg="验证码错误")) # 检查手机是否被注册 if Tenant.by_mobile(user): return self.write(dict(errcode=RET.DATAEXIST, errmsg="已注册")) T = Tenant() T.phone_number = self.get_argument('mobile', '') T.password = self.get_argument('password', '') T.createtime = datetime.now() T.updatetime = datetime.now() self.db.add(T) self.db.commit() self.write(dict(errcode=RET.OK, errmsg="注册成功"))
def post(self): #'''In[基本信息]''' house_title = self.get_argument('house_title', '') #房屋标题 one_night_price = int(self.get_argument('one_night_price', '')) #每晚价格 area_id = int(self.get_argument('area_id', '')) #所在城区 address = self.get_argument('address', '') #详细地址 #'''In[详细信息]''' room_count = int(self.get_argument('room_count', '')) #出租房间数目 aacreage = int(self.get_argument('acreage', '')) #房屋面积 unit = self.get_argument('unit', '') #户型描述 capacity = int(self.get_argument('capacity', '')) #宜住人数 beds = self.get_argument('beds', '') #卧床配置 deposit = int(self.get_argument('deposit', '')) #押金数额 min_days = int(self.get_argument('min_days', '')) #最少入住天数 max_days = int(self.get_argument('max_days', '')) #最多入住天数 facility = self.get_body_arguments('facility[]', '') #配套设施 himage = self.request.files.get('house_image', '') #获取图片 if not all( (house_title, one_night_price, area_id, address, room_count, aacreage, unit, capacity, beds, deposit, min_days, himage)): return self.write(dict(errcode=RET.DATAERR, errmsg="缺少参数")) if max_days == 0 and min_days < 0: return self.write( dict(errcode=RET.DATAERR, errmsg="最多入住天数等于0时,入住最少天数不应比0小")) if max_days > 0 and min_days > max_days: return self.write( dict(errcode=RET.DATAERR, errmsg="最多入住天数应大于最少入住天数")) # '''In[保存图片]''' try: T = Tenant.by_mobile(self.current_user.phone_number) hous_info = Hous_info() hous_info.tenant_id = T.id #保存房东ID(外键) hous_info.name = house_title #保存房屋名称 hous_info.price = one_night_price #保存每晚价格 hous_info.hous_areaid = area_id #保存区域ID(外键) hous_info.site = address #保存地址 hous_info.room_count = room_count #保存房间数量 hous_info.acreage = aacreage #保存房屋面积 hous_info.type = unit #保存房屋 hous_info.capacity = capacity #保存户型描述 hous_info.bed = beds #保存床配置 hous_info.deposit = deposit #保存押金 hous_info.min_days = min_days #保存最小天数 hous_info.max_days = max_days #保存最大天数 hous_info.ctime = datetime.now() #保存创建时间 # 房屋与配套设施中间表 try: for i in facility: facilitys = Facility.by_id(i) hous_info.info_facility.append(facilitys) except Exception as e: logging.error(e) return self.write(dict(errcode=RET.PARAMERR, errmsg='配套设施参数错误')) try: file_name = storage(himage[0]['body']) hous_info.image_url = (constants.QINIU_URL_PREFIX + file_name ) #图片路径 except Exception as e: logging.error(e) return self.write(dict(errcode=RET.PARAMERR, errmsg='图片保存错误')) self.db.add(hous_info) self.db.commit() except Exception as e: logging.error(e) return self.write( dict(errcode=RET.PARAMERR, errmsg='hous_info参数错误')) self.write(dict(errno=RET.OK, errmsg='OK'))
def get(self): user = self.current_user.phone_number T = Tenant.by_mobile(user) self.render('myhouse.html', T=T)
def get_current_user(self): if self.session.get('user'): return Tenant.by_mobile(self.session.get('user')) else: return None
def get(self): user = Tenant.by_mobile(self.current_user.phone_number) lorders = self.db.query(Order_info).filter( Order_info.hous_info_id.in_([i.hous_id for i in user.hous_info])).all() self.render("lorders.html", lorders=lorders)
def get(self): user = Tenant.by_mobile(self.current_user.phone_number) oders = self.db.query(Order_info).filter( Order_info.tenant_id == user.id).all() self.render("orders.html", oders=oders)