示例#1
0
def myAddressOps():
    resp = {'code': 200, 'msg': '操作成功!', 'data': {}}
    req = request.values
    id = int(req['id']) if 'id' in req and req['id'] else 0
    act = req['act'] if 'act' in req else ''

    member_info = memberInfo()

    if id < 1:
        resp['code'] = -1
        resp['msg'] = "未选择地址"
        return jsonify(resp)

    address_info = MemberAddres.query.filter_by(
        id=id, member_id=member_info.id).first()
    if act == 'del':
        address_info.status = 0
    else:
        address_list = MemberAddres.query.filter_by(
            member_id=member_info.id).all()
        if address_list:
            for item in address_list:
                item.is_default = 0
                db.session.add(item)
                db.session.commit()
        address_info.is_default = 1

    db.session.add(address_info)
    db.session.commit()
    return jsonify(resp)
示例#2
0
def cartIndex():
    prompt = {'code': 200, "msg": "操作成功!", "data": {}}

    member_info = memberInfo()
    if not member_info:
        prompt['code'] = -1
        prompt['msg'] = "操作失败!"
        return jsonify(prompt)

    cart_list = MemberCart.query.filter_by(member_id=member_info.id).all()
    cart_info = []
    sum_price = 0
    if cart_list:
        food_map = getDict(Food,Food.id,'id',[])
        for item in cart_list:
            sum_price += food_map[item.food_id].price * item.quantity
            cart_info.append({
                'id':item.id,
                'food_id':item.food_id,
                'name':food_map[item.food_id].name,
                'price':str(food_map[item.food_id].price),
                'number':item.quantity,
                'pic_url':food_map[item.food_id].image,
                'active':True
            })

    prompt['data']['list'] = cart_info
    prompt['data']['sum_price'] = str(sum_price)
    return jsonify(prompt)
示例#3
0
def setCart():
    prompt = {'code': 200, "msg": "添加成功", "data": {}}
    req = request.values
    food_id = int(req['id']) if 'id' in req else 0
    number = int(req['number']) if 'number' in req else 0

    if food_id < 1 or number < 1:
        prompt['code'] = -1
        prompt['msg'] = "添加失败-1!"
        return jsonify(prompt)

    member_info = memberInfo()
    if not member_info:
        prompt['code'] = -1
        prompt['msg'] = "添加失败-2!"
        return jsonify(prompt)

    food_info = Food.query.filter_by(id=food_id).first()
    if not food_info:
        prompt['code'] = -1
        prompt['msg'] = "添加失败-3!"
        return jsonify(prompt)

    ret = CartSet.setItems(member_id=member_info.id,food_id=food_id,number=number)
    if not ret:
        prompt['code'] = -1
        prompt['msg'] = "添加失败-4!"
        return jsonify(prompt)
    return jsonify(prompt)
示例#4
0
def getPur():
    prompt = {'code': 200, "msg": "操作成功", "data": {}}
    member_info = memberInfo()

    prompt['data']['purview'] = member_info.purview

    return jsonify(prompt)
示例#5
0
def cartError():
    prompt = {'code': 200, "msg": "操作成功", "data": {}}
    req = request.values
    goods = req['goods'] if 'goods' in req else None

    items = []
    if goods:
        items = json.loads(goods)

    member_info = memberInfo()
    if not member_info:
        prompt['code'] = -1
        prompt['msg'] = "未登录!"
        return jsonify(prompt)

    food_dic = {}
    for item in items:
        food_dic[item['id']] = item['number']

    food_ids = food_dic.keys()

    if len(food_ids) != 1:
        prompt['code'] = -1
        prompt['msg'] = "请选择同一商家的菜品!"
        return jsonify(prompt)

    return jsonify(prompt)
示例#6
0
def cartDelete():
    prompt = {'code': 200, "msg": "操作成功!", "data": {}}
    req = request.values
    goods = req['goods'] if 'goods' in req else None

    items = []
    if goods:
        items = json.loads(goods)
    if not items or len(items)<1:
        prompt['code'] = -1
        prompt['msg'] = "删除失败-1!"
        return jsonify(prompt)

    member_info = memberInfo()
    if not member_info:
        prompt['code'] = -1
        prompt['msg'] = "删除失败-2!"
        return jsonify(prompt)

    ret = CartSet.deleteItems(member_id=member_info.id,items=items)
    if not ret:
        prompt['code'] = -1
        prompt['msg'] = "删除失败-3!"
        return jsonify(prompt)
    return jsonify(prompt)
示例#7
0
def orderIndex():
    prompt = {'code': 200, "msg": "操作成功", "data": {}}
    req = request.values
    goods = req['goods'] if 'goods' in req else None

    items = []
    if goods:
        items = json.loads(goods)
    if not items or len(items) < 1:
        prompt['code'] = -1
        prompt['msg'] = "删除失败-1!"
        return jsonify(prompt)

    member_info = memberInfo()
    if not member_info:
        prompt['code'] = -1
        prompt['msg'] = "删除失败-2!"
        return jsonify(prompt)

    food_dic = {}
    for item in items:
        food_dic[item['id']] = item['number']

    food_ids = food_dic.keys()
    food_list = Food.query.filter(Food.id.in_(food_ids)).all()
    data_food_list = []
    yun_price = decimal.Decimal(0.00)
    pay_price = decimal.Decimal(0.00)
    if food_list:
        for item in food_list:
            tmp_data = {
                'id': item.id,
                'name': item.name,
                'price': str(item.price),
                'pic_url': item.image,
                'number': food_dic[item.id]
            }
            pay_price = pay_price + item.price * int(food_dic[item.id])
            data_food_list.append(tmp_data)

    address_info = MemberAddres.query.filter_by(member_id=member_info.id,
                                                status=1,
                                                is_default=1).first()
    app.logger.error(address_info)
    default_address = {
        'name': address_info.nickname,
        'mobile': address_info.mobile,
        'detail': address_info.address
    }

    prompt['data']['food_list'] = data_food_list
    prompt['data']['pay_price'] = str(pay_price)
    prompt['data']['yun_price'] = str(yun_price)
    prompt['data']['total_price'] = str(pay_price + yun_price)
    prompt['data']['default_address'] = default_address
    return jsonify(prompt)
示例#8
0
def info():
    prompt = {'code': 200, "msg": "查询成功", "data": {}}
    member_info = memberInfo()
    prompt['data']['info'] = {
        'nickname': member_info.nickname,
        'avatar_url': member_info.avatar,
        'purview': member_info.purview,
        'purview_desc': member_info.purview_desc
    }
    return jsonify(prompt)
示例#9
0
def change():
    prompt = {'code': 200, "msg": "修改成功", "data": {}}
    member_info = memberInfo()

    if member_info.purview == 1:
        member_info.purview = 2
    elif member_info.purview == 2:
        prompt['msg'] = "审核中,请勿重复提交!"
        return jsonify(prompt)
    else:
        member_info.purview = 1

    db.session.add(member_info)
    db.session.commit()

    return jsonify(prompt)
示例#10
0
def orderFonfirm():
    prompt = {'code': 200, "msg": "操作成功", "data": {}}
    req = request.values
    order_sn = req['order_sn'] if 'order_sn' in req else ''

    member_info = memberInfo()
    pay_order_info = PayOrder.query.filter_by(
        order_sn=order_sn, member_id=member_info.id).first()
    if not pay_order_info:
        prompt['code'] = -1
        prompt['msg'] = "确认失败!"
        return jsonify(prompt)

    pay_order_info.status = 1
    db.session.add(pay_order_info)
    db.session.commit()
    return jsonify(prompt)
示例#11
0
def merchantsCreate():
    prompt = {'code': 200, "msg": "操作成功", "data": {}}
    req = request.values

    id = int(req['id']) if 'id' in req else 0
    cat = req['cat'] if 'cat' in req else ''
    name = req['name'] if 'name' in req else ''
    price = req['price'] if 'price' in req else ''
    image = req['image'] if 'image' in req else ''
    note = req['note'] if 'note' in req else ''

    member_info = memberInfo()
    cat_map = FoodCat.query.filter_by(status=1).all()
    app.logger.error(cat_map)
    app.logger.error(cat)
    for item in cat_map:
        if item.name == cat:
            cat_id = item.id
        else:
            cat_id = 1

    if id < 1:
        food_info = Food()
        food_info.name = name
        food_info.cat_id = cat_id
        food_info.price = price
        food_info.image = image
        food_info.summary = note
        food_info.member_id = member_info.id

        db.session.add(food_info)
        db.session.commit()
        return jsonify(prompt)

    food_info = Food.query.filter_by(id=id).first()

    food_info.cat_id = cat_id
    food_info.name = name
    food_info.price = price
    food_info.image = image
    food_info.summary = note

    db.session.add(food_info)
    db.session.commit()
    return jsonify(prompt)
示例#12
0
def myAddressSet():
    resp = {'code': 200, 'msg': '操作成功!', 'data': {}}
    req = request.values
    id = int(req['id']) if 'id' in req and req['id'] else 0
    address = req['address'] if 'address' in req else ''
    nickname = req['nickname'] if 'nickname' in req else ''
    mobile = req['mobile'] if 'mobile' in req else ''

    member_info = memberInfo()

    if len(nickname) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入姓名"
        return jsonify(resp)

    if len(mobile) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入手机号"
        return jsonify(resp)

    if not member_info:
        resp['code'] = -1
        resp['msg'] = "系统繁忙!"
        return jsonify(resp)

    address_info = MemberAddres.query.filter_by(
        id=id, member_id=member_info.id).first()
    if address_info:  # 修改
        model_address = address_info
    else:  # 编辑
        default_address_count = MemberAddres.query.filter_by(
            is_default=1, member_id=member_info.id, status=1).count()
        model_address = MemberAddres()
        model_address.member_id = member_info.id
        model_address.is_default = 1 if default_address_count == 0 else 0

    model_address.nickname = nickname
    model_address.mobile = mobile

    model_address.school_str = address

    db.session.add(model_address)
    db.session.commit()
    return jsonify(resp)
示例#13
0
def addressIndfo():
    prompt = {'code': 200, "msg": "操作成功", "data": {}}
    req = request.values
    id = int(req['id']) if 'id' in req and req['id'] else 0

    member_info = memberInfo()
    address_info = MemberAddres.query.filter_by(
        status=1, id=id, member_id=member_info.id).first()

    data_info = []
    if address_info:
        data_info = {
            'id': address_info.id,
            'nickname': address_info.nickname,
            'mobile': str(address_info.mobile),
            'is_default': address_info.is_default,
            'address': address_info.address
        }
    prompt['data']['info'] = data_info

    return jsonify(prompt)
示例#14
0
def orderPay():
    prompt = {'code': 200, "msg": "操作成功", "data": {}}
    req = request.values
    order_sn = req['order_sn'] if 'order_sn' in req else ''

    member_info = memberInfo()
    pay_order_info = PayOrder.query.filter_by(
        order_sn=order_sn, member_id=member_info.id).first()
    if not pay_order_info:
        prompt['code'] = -1
        prompt['msg'] = "支付失败!"
        return jsonify(prompt)

    order_item = PayOrderItem.query.filter_by(
        pay_order_id=pay_order_info.id).first()
    food_info = Food.query.filter_by(id=order_item.food_id).first()
    merchants_info = Member.query.filter_by(id=food_info.member_id).first()

    info = {'orcode': merchants_info.orcode}
    prompt['data']['info'] = info
    return jsonify(prompt)
示例#15
0
def orderComment():
    prompt = {'code': 200, "msg": "评价成功!", "data": {}}
    req = request.values
    order_sn = req['order_sn'] if 'order_sn' in req else ''
    score = req['score'] if 'score' in req else 0
    content = req['content'] if 'content' in req else ''

    member_info = memberInfo()
    pay_order_info = PayOrder.query.filter_by(
        order_sn=order_sn, member_id=member_info.id).first()
    if not pay_order_info:
        prompt['code'] = -1
        prompt['msg'] = "评价失败!"
        return jsonify(prompt)

    pay_order_info.comment_score = score
    pay_order_info.comment_content = content
    pay_order_info.status = 0

    db.session.add(pay_order_info)
    db.session.commit()
    return jsonify(prompt)
示例#16
0
def merchantsFood():
    prompt = {'code': 200, "msg": "操作成功", "data": {}}
    req = request.values
    query = Food.query.filter_by(status=1)

    member_info = memberInfo()
    food_list = query.filter_by(member_id=member_info.id).order_by(
        Food.total_count.desc()).all()

    data_food_list = []
    if food_list:
        for item in food_list:
            tmp_data = {
                'id': item.id,
                'name': item.name,
                'price': str(item.price),
                'min_price': str(item.price),
                'pic_url': item.image
            }
            data_food_list.append(tmp_data)
    prompt['data']['list'] = data_food_list

    return jsonify(prompt)
示例#17
0
def addressIndex():
    prompt = {'code': 200, "msg": "操作成功", "data": {}}

    member_info = memberInfo()
    address_list = MemberAddres.query.filter_by(
        status=1,
        member_id=member_info.id).order_by(MemberAddres.id.asc()).all()

    data_list = []
    if address_list:
        for item in address_list:
            tmp_data = {
                'id': item.id,
                'nickname': item.nickname,
                'mobile': str(item.mobile),
                'is_default': item.is_default,
                'address': item.address
            }
            data_list.append(tmp_data)

    prompt['data']['list'] = data_list

    return jsonify(prompt)
示例#18
0
def orderCreate():
    prompt = {'code': 200, "msg": "操作成功", "data": {}}
    req = request.values
    type = req['type'] if 'type' in req else ''
    goods = req['goods'] if 'goods' in req else None

    items = []
    if goods:
        items = json.loads(goods)
    if not items or len(items) < 1:
        prompt['code'] = -1
        prompt['msg'] = "没有选择商品!"
        return jsonify(prompt)

    member_info = memberInfo()
    target = PayService()
    param = {}
    prompt = target.createOrder(member_info.id, items, param)

    if prompt['code'] == 200 and type == "cart":
        CartSet.deleteItems(member_info.id, items)

    return jsonify(prompt)
示例#19
0
def myOrderList():
    prompt = {'code': 200, "msg": "操作成功!", "data": {}}
    req = request.values
    member_info = memberInfo()
    if not member_info:
        prompt['code'] = -1
        prompt['msg'] = "操作失败!"
        return jsonify(prompt)

    status = int(req['status']) if 'status' in req else 0
    query = PayOrder.query.filter_by(member_id=member_info.id)

    if status == 0:  # 已完成
        query = query.filter(PayOrder.status == 0)
    elif status == 1:  # 已支付
        query = query.filter(PayOrder.status == 1)
    elif status == 2:  # 待支付
        query = query.filter(PayOrder.status == 2)
    elif status == 3:  # 待确认
        query = query.filter(PayOrder.status == 3)
    else:
        query = query.filter(PayOrder.status == 4)

    pay_order_list = query.order_by(PayOrder.id.desc()).all()
    data_order_list = []
    if pay_order_list:
        order_ids = getfilter(pay_order_list, 'id')
        order_item = PayOrderItem.query.filter(
            PayOrderItem.pay_order_id.in_(order_ids)).all()
        food_ids = getfilter(order_item, 'food_id')
        food_map = getDict(Food, Food.id, "id", food_ids)
        order_item_map = {}
        if order_item:
            for item in order_item:
                if item.pay_order_id not in order_item_map:
                    order_item_map[item.pay_order_id] = []

                food_info = food_map[item.food_id]
                order_item_map[item.pay_order_id].append({
                    'id':
                    item.id,
                    'food_id':
                    item.food_id,
                    'quantity':
                    item.quantity,
                    'pic_url':
                    food_info.image,
                    'name':
                    food_info.name,
                })

        for item in pay_order_list:
            tmp_data = {
                'status': item.status,
                'status_desc': item.status_desc,
                'date': item.pay_time.strftime("%Y-%m-%d %H:%M:%S"),
                'order_number': item.order_sn,
                'note': item.note,
                'total_price': str(item.total_price),
                'goods_list': order_item_map[item.id]
            }
            data_order_list.append(tmp_data)

    prompt['data']['pay_order_list'] = data_order_list

    return jsonify(prompt)