예제 #1
0
def get_groupon_customer_reviews():
    groupon_id = request.args.get("groupon_id")
    if not groupon_id:
        ret = ret_dict("3000")
        return jsonify(ret)
    page_count = request.args.get("page_count", 20)
    page_num = request.args.get("page", 1)
    index_start = (page_num - 1) * 20
    index_end = index_start + page_count
    statics_data = CustomerReviews.get_statics_data(groupon_id)
    groupon = Groupon.get_groupon(groupon_id)
    reviews = groupon.customer_reviews[index_start:index_end]
    ret = ret_dict("0000")
    data = {
        "vagScore": statics_data["avg_score"],
        "reviewsCount": statics_data["reviews_count"],
        "pageCount": page_count,
        "page": page_num,
        "sum": len(reviews),
        "reviewList": [
            {
                "userID": review.user.id,
                "nickname": review.user.wechat_nickname,
                "score": review.score,
                "content": review.content,
                "uuid": review.user.headimg_url,
            }
            for review in reviews
        ],
    }

    return jsonify(dict(ret, **data))
예제 #2
0
def commit_customer_review():
    args = request.args
    openid = get_current_user_openid()
    current_user = User.get_user_by_openid(openid)
    if not current_user:
        ret = ret_dict("3000")
        return jsonify(ret)

    groupon_id = args.get("groupon_id")
    score = args.get("score")
    content = args.get("content")
    customer_review = CustomerReviews()
    customer_review.score = score
    customer_review.user_id = current_user.id
    customer_review.groupon_id = groupon_id
    customer_review.create_time = time.time()
    customer_review.content = content
    db.session.add(customer_review)
    try:
        db.session.flush()
        db.session.commit()
    except IntegrityError, ex:
        ret = {"retCode": "5000", "retMsg": "插入数据外键依赖错误" + ex.message}
        return jsonify(ret)