示例#1
0
	def post(self):
		form = request.form
		id = form.get("id")
		if not id:
			return error.error_1001()
		user = User.Query().filter_by(id=id).first()
		# 可以修改的信息:real_name, password, phone
		real_name = form.get("real_name")
		password = form.get("password")
		phone = form.get("phone")
		# 判断real_name是否存在
		if real_name:
			user.real_name = real_name
		# 判断password是否存在
		if password:
			user.password = bcrypt.generate_password_hash(password).decode("utf-8")
		# 判断phone是否存在
		if phone:
			phone_count = User.Query().filter(and_(User.phone == phone, User.id != id)).count()
			if phone_count:
				return error.error_1002("此手机号已存在")
			user.phone = phone

		# 提交到数据库
		db.session.add(user)
		try:
			db.session.commit()
		except:
			return error.error_1003()
		return error.success()
示例#2
0
	def post(self):
		print(request.headers)
		form = request.form
		username = form.get("username")
		password = form.get("password")
		print(form)
		print(request.get_data())
		#username 和 password不能为空
		if not username or not password:
			return error.error_1001()
		user = User.Query().filter(or_(User.name==username, User.phone==username)).first()
		#判断user是否存在
		if not user:
			return error.error_1004()
		#判断密码是否正确
		if not bcrypt.check_password_hash(user.password, password):
			return error.error_1004()
		#获取uid
		uid = user.id
		#生成token
		token_str = "{0}{1}{2}".format(user.name, uid, time()).encode("utf-8")
		token = hashlib.sha1(token_str).hexdigest()
		redisClient.set(token, uid)
		redisClient.expire(token, config.redis_expireTime)
		return error.success({"token": token, "uid": uid})
示例#3
0
    def query(self):
        pageNo = int(
            request.args.get("pageNo") or request.form.get("pageNo") or 1)
        pageSize = int(
            request.args.get("pageSize") or request.form.get("pageSize") or 10)
        query = Answer.Query()
        rows = query.offset((pageNo - 1) * pageSize).limit(pageSize).all()
        answers = []
        for r in rows:
            user = User.Query().filter_by(id=r.user_id).first()
            question = Question.Query().filter_by(id=r.question_id).first()
            print(question.category_id)
            category = Category.Query().filter_by(
                id=question.category_id).first()
            answer = {
                "id": r.id,
                "username": user.name,
                "subject": question.subject,
                "category": category.name,
                "question_id": question.id,
                "question_content": question.content,
                "is_right": r.is_right,
                "user_answer": r.user_answer
            }
            answers.append(answer)

        return error.success({"list": answers})
示例#4
0
	def post(self):
		id = request.form.get("id")
		if not id:
			return error.error_1001()
		user = User.Query().filter_by(id=id).first()
		# 判断user是否存在
		if user:
			user.is_valid = False
			db.session.add(user)
			db.session.commit()
		return error.success()
示例#5
0
	def query(self):
		pageNo = int(request.args.get("pageNo") or request.form.get("pageNo") or 1)
		pageSize = int(request.args.get("pageSize") or request.form.get("pageSize") or 10)
		rows = User.Query().offset((pageNo - 1)*pageSize).limit(pageSize).all()
		count = User.Query().count()
		pageCount = math.ceil(count / pageSize)
		users = []
		for r in rows:
			user = {
				"id": r.id,
				"name": r.name,
				"phone": r.phone,
				"real_name": r.real_name,
				"nick_name": r.nick_name,
				"openid": r.openid,
				"role": r.role,
				"logo": r.logo,
				"created_time": datetime.timestamp(r.created_time) 
			}
			users.append(user)
		return error.success({"list": users, "page":{"total": count, "pageCount": pageCount}})
示例#6
0
	def query(self):
		id = g.uid
		row = User.Query().filter_by(id=id).first()

		has_answered = Answer.Query().filter_by(user_id=g.uid).count()
		has_incorrect = Answer.Query().filter_by(user_id=g.uid, is_right=False).count()
		user = {
			"id": row.id,
			"name": row.name,
			"phone": row.phone,
			"has_answered": has_answered,
			"has_incorrect": has_incorrect
		}
		return error.success(user)
示例#7
0
	def post(self):
		form = request.form
		name = form.get("name")
		phone = form.get("phone")
		print(form)
		print(request.get_data())
		print(type(request.get_data()))
		password = form.get("password")
		openid = form.get("openid")
		#phone,password不可以为空,username可以为空
		if not phone or (not password):
			return error.error_1001()

		# 判断phone手机号是否存在
		phone_count = User.Query().filter_by(phone=phone).count()
		if phone_count:
			return error.error_1002("此手机号已存在")

		# 判断name用户名是否存在
		name_count = User.Query().filter_by(name=name).count()
		if name_count:
			return error.error_1002("此用户已存在")

		# 判断openid是否存在
		if openid:
			openid_count = User.Query().filter_by(openid=openid).count()
			if openid_count:
				return error.error_1002("此微信号已存在")

		# 提交数据到数据库
		user = User(form)
		try:
			db.session.add(user)
			db.session.commit()
		except:
			return error.error_1003()
		return error.success()