示例#1
0
def add_order():
    # 验证用户是否已登录
    token = request.args.get('token', None)
    if token is None:
        return jsonify({'code': 202, 'msg': 'token查询参数必须提供或者登录后获取token'})
    if cache.check_token(token):
        user_id = cache.get_token_user_id(token)

        # 下订单的业务处理

    return jsonify({
        'code': 200,
        'msg': '下单成功',
        'data': {
            "user_id": user_id,
            'ord_num': '100191919',
            'state': '待支付',
            'price': '2900.00元'
        }
    })
示例#2
0
def update_cart():
    if request.method == "POST":
        data = eval(request.get_data())
        token = data.get("token")
        user_id = data.get("user_id")
        good_id = data.get("good_id")
        shop_id = data.get("shop_id")
        good_num = data.get("good_num")
        if not check_token(token):
            if all(
                (bool(user_id), bool(good_id), bool(shop_id), bool(good_num))):
                set_cart(str(user_id) + "-" + str(shop_id), good_id, good_num)
                return jsonify({"code": 200, "msg": "ok"})
            else:
                return jsonify({"code": 207, "msg": "缺少参数"})
        else:
            return jsonify({"code": 207, "msg": "请登陆在后访问"})

    else:
        return jsonify({"code": 207, "msg": "该方法需要POST请求"})
示例#3
0
文件: app_order.py 项目: nancb/mywk
def payOrder():
    req_data = None
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()
    print(req_data)
    if req_data is None:
        return jsonify({'code': 9000, 'msg': '请上传json数据,且参数必须按api接口标准给定'})
    token = req_data.get('token', None)
    if token is None:
        return jsonify({'code': 202, 'msg': '没有登录,请先登录'})
    if bool(cache.check_token(token)):
        data = {}
        user_id = cache.get_token_user_id(token)
        user_oder = dao.cheak_order(user_id)
        user = dao.check_user(user_id)
        payCoin = user_oder['totalkfCoin']
        userCoin = user['userKfCoin']
        if userCoin > payCoin:
            surplusCoin = userCoin - payCoin
            resulte = dao.surplus_Coin(user_id, surplusCoin)
            data['userName'] = req_data['userName']
            data['userPhone'] = req_data['userPhone']
            data['address'] = req_data['address']
            data['detailAddress'] = req_data['detailAddress']
            data['postalCode'] = req_data['postalCode']
            data['order_id'] = req_data['order_id']
            if resulte:
                add_save = dao.save_add(**data)
                if add_save:
                    return jsonify({'code': 200, 'msg': '下单成功'})
                else:
                    return jsonify({'code': 303, 'msg': '获取未知错误,地址保存有误'})
            if resulte:
                return jsonify({'code': 200, 'msg': '下单成功'})
            else:
                return jsonify({'code': 303, 'msg': '获取未知错误,下单失败'})
        else:
            return jsonify({'code': 202, 'msg': '空粉币不足,不能下单'})
    else:
        return jsonify({"msg": "token值错误或者过期,请先登录"})
示例#4
0
def del_good():

    req_data = None
    if request.headers['Content-Type'].startswith('application/json'):
        req_data = request.get_json()

    if req_data is None:
        return jsonify({'code': 9000, 'msg': '请上传json数据,且参数必须按api接口标准给定'})
    token = req_data.get('token', None)

    if token is None:
        return jsonify({'code': 202, 'msg': '没有登录,请先登录'})
    if bool(cache.check_token(token)):
        user_id = cache.get_token_user_id(token)
        goods_id = req_data['goods_id']
        resulte = dao.del_goods(user_id, goods_id)
        if resulte:
            return jsonify({'code': 200, 'msg': '删除已选中商品'})
        else:
            return jsonify({'code': 202, 'msg': '删除商品由于某种原因删除失败'})
    else:
        return jsonify({"msg": "token值错误或者过期,请先登录"})
示例#5
0
def search_vouch():
    # 查询优惠卷
    req_data = request.get_json()
    token = req_data.get('token')
    if check_token(token):
        user_id = get_token_user_id(token)
        vou_data = VouDao().check_vouchers(user_id)
        if vou_data:
            data = {
                "mineVouchersList": [{
                    "vouchersUseCondition": 500,
                    "minusPrice": vou_data[0]['minusprice'],
                    "title": vou_data[0]['title'],
                    "type": vou_data[0]['vuc']
                    # 没有优惠卷过期时间
                }]
            }
            return jsonify({'code': 200, 'msg': '查询成功!', 'data': data})
        else:
            return jsonify({'code': 400, 'msg': '数据库查询失败!'})
    else:
        return jsonify({'code': 400, 'msg': 'token验证失败!'})
示例#6
0
def check_address():
    # 查询地址
    req_data = request.get_json()
    token = req_data.get('token')
    if check_token(token):
        user_id = get_token_user_id(token)
        dao = AddDao()
        check_data = dao.check_address(user_id)
        user_data = UserDao().get_profile(user_id)
        if all((check_data, user_data)):
            data = {
                'addressList': [{
                    "receivePersonName": user_data[0]['user_name'],
                    "receiveAddress": check_data[0]['user_address'],
                    "is_default": check_data[0]['is_default'],
                    "receiveTEL": user_data[0]['tel']
                }]
            }
            return jsonify({'code': 200, 'data': data})
        else:
            return jsonify({'code': 400, 'msg': '数据库查询失败!'})
    else:
        return jsonify({'code': 400, 'msg': 'token验证失败!'})
示例#7
0
def vip_view():
    # 验证用户是否已登录
    token = request.args.get('token', None)
    if token is None:
        return jsonify({
            'code': 202,
            'msg': '未登录,请登录'
        })
    if cache.check_token(token):
        user_id = cache.get_token_user_id(token)
        # 是否开启vip
        if UserDao().is_vip(user_id) == 1:
            dt = VipDao()
            data = dt.get_shop()
            shop_discounts2 = User_Featuare_Dao().discount2_des()
            return jsonify({
                'code': 200,
                'msg': '显示成功',
                'data': {
                    "shop_data": data,  # 商品信息
                    "discounts": shop_discounts2
                }
            })
        # 显示vip界面
        dt = VipDao()
        data = dt.get_shop()
        name = dt.get_username(user_id)
        return jsonify({
            'code': 200,
            'msg': '显示成功',
            'data': {
                "user_id": user_id,
                "shop_data":data,   # 商品信息
                "username":name,  # 用户姓名
            }
        })
示例#8
0
def collect_pro():
    # “我的” 页面查看收藏的商品和店铺
    req_data = request.get_json()
    token = req_data.get('token')
    if check_token(token):
        user_id = get_token_user_id(token)
        print(user_id, 111111111111111111111111111111111111)
        data1 = GoodsDao().check_collect_goods(user_id)
        data2 = GoodsDao().check_collect_shops(user_id)
        if all((data1, data2)):
            list1 = []
            list2 = []
            list3 = []
            list4 = []
            for i in range(len(data1)):
                list1.append(data1[i]['clt_id'])
            for j in list1:
                list2.append(GoodsDao().check_goods2(j))
            for m in range(len(data2)):
                list3.append(data2[m]['clt_id'])
            for n in list3:
                list4.append(GoodsDao().search_shop(n))
            if all((list2, list4)):
                return jsonify({
                    'code': 200,
                    'msg': '查询成功!',
                    'myAttentionList': list2,
                    'myAttentionShop': list4
                })
            else:
                return jsonify({'code': 400, 'msg': '查询数据库失败!'})

        else:
            return jsonify({'code': 400, 'msg': '你还没有收藏数据!'})
    else:
        return jsonify({'code': 400, 'msg': 'token验证失败!'})
示例#9
0
def search_discount():
    # 查询资产
    req_data = request.get_json()
    token = req_data.get('token')
    if check_token(token):
        user_id = get_token_user_id(token)
        dao = VouDao()
        dis_data = dao.check_vouchers(user_id)
        print(dis_data)
        asset_data = dao.check_asset(user_id)
        print(dis_data, asset_data)
        if all((dis_data, asset_data)):
            data = {
                "assetInfo": {
                    "vouchers": dis_data[0]['cop_id'],
                    "balance": asset_data[0]['asset'],
                    "integral": asset_data[0]['u_intg'],
                }
            }
            return jsonify({'code': 200, '查询成功!' 'data': data})
        else:
            return jsonify({'code': 400, 'msg': '查询数据库失败!'})
    else:
        return jsonify({'code': 400, 'msg': 'token验证失败!'})
示例#10
0
def user_update():
    # 用户登录后修改自己的个人信息
    u_data = request.get_json()
    token = u_data.get('token')  # 获取token
    print(token)
    old_pwd = u_data.get('old_pwd')  # 获取用户上传的原密码
    new_pwd = u_data.get('new_pwd')  # 获取用户上传的新密码
    if check_token(token):  # 验证token
        user_id = get_token_user_id(token)  # 通过token获取用户的ID
        check_data = UserDao().get_profile(user_id)  # 通过用户ID查询用户的详细信息
        if check_data:  # 如果查询成功
            dao = UserDao()
            if all((old_pwd, new_pwd)):  # 修改支付密码
                pay_pwd = check_data[0]['pay_pwd']  # 获取数据库中的密码
                if old_pwd == pay_pwd:  # 若原密码等于库中的密码
                    user_save = dao.update('jd_user', "pay_pwd", new_pwd,
                                           'user_id', user_id)  # 将新密码存入数据库
                    if user_save:  # 如果保存成功
                        data = {
                            'userPhoto': u_data.get('u_img'),
                            'userID': user_id,
                            'userName': u_data.get('user_name'),
                            'realname': check_data[0]['is_val'],
                            'TEL': check_data[0]['tel'],
                            'Email': check_data[0]['u_email'],
                        }
                        return jsonify({
                            'code': 200,
                            'msg': '修改成功!',
                            'data': data
                        })
                    else:
                        return jsonify({'code': 400, 'msg': '修改失败!'})
                else:
                    return jsonify({'code': 400, 'msg': '原密码输入错误!'})
            elif old_pwd:  # 设置支付密码
                user_save = False
                dict1 = {
                    'u_img': u_data.get('u_img'),
                    'user_name': u_data.get('user_name'),
                    'pay_pwd': u_data.get('old_pwd')
                }
                for k, v in dict1.items():
                    user_save = dao.update('jd_user', k, v, 'user_id', user_id)
                if user_save:
                    data = {
                        'userPhoto': u_data.get('u_img'),
                        'userID': user_id,
                        'userName': u_data.get('user_name'),
                        'realname': check_data[0]['is_val'],
                        'TEL': check_data[0]['tel'],
                        'Email': check_data[0]['u_email'],
                    }
                    return jsonify({'code': 200, 'msg': '修改成功!', 'data': data})
                else:
                    return jsonify({'code': 400, 'msg': '修改失败!'})
            else:  # 修改除密码外的其他信息
                user_save = False
                dict1 = {
                    'u_img': u_data.get('u_img'),
                    'user_name': u_data.get('user_name')
                }
                for k, v in dict1.items():
                    user_save = dao.update('jd_user', k, v, 'user_id', user_id)
                if user_save:
                    data = {
                        'userPhoto': u_data.get('u_img'),
                        'userID': user_id,
                        'userName': u_data.get('user_name'),
                        'realname': check_data[0]['is_val'],
                        'TEL': check_data[0]['tel'],
                        'Email': check_data[0]['u_email'],
                    }
                    return jsonify({'code': 200, 'msg': '修改成功!', 'data': data})
                else:
                    return jsonify({'code': 200, 'msg': '修改失败!'})
        else:
            return jsonify({
                'code': 400,
                'msg': '查询数据库失败!',
            })
    else:
        return jsonify({'code': 400, 'msg': 'token验证失败!'})
示例#11
0
def create_order():
    token = request.get_json().get('token', None)
    if cache.check_token(token):
        #获取请求参数
        user_id_id = cache.get_token_user_id(token)
        req_data = request.get_json()
        print(req_data, type(req_data))
        goods_list = req_data["goodsList"]
        print(goods_list)
        dao = cart_orderDao()
        cart_orderlist = []
        unable_list = []
        for i in range(len(goods_list)):

            for key, val in goods_list[i][0].items():
                goods_id = key
                goods_cart_num = val
                #查询商品详情表
                resp = dao.check_stock(user_id_id, goods_id)
                cart_orderlist.append(resp[0])
                if goods_cart_num >= resp[0]['goods_num']:
                    unable_list.append({
                        "productID": goods_id,
                        "productstock": resp[0]['goods_num']
                    })
        if len(unable_list) > 0:
            return jsonify({
                "code": 400,
                "msg": "商品库存不足,请减少购买数量或改天再来",
                "goodslist": unable_list
            })
        addr = request.get_json().get('addr', None)
        o_conn = request.get_json().get('tel', None)

        if not all((addr, o_conn)):
            return jsonify({"code": 400, "msg": "地址和电话不能为空"})
        cart_cal_num = 0
        cart_cal_rel = 0

        #创建字典,用于存放各个店铺的总价
        cart_shop_dict = {}
        for i in range(len(goods_list)):
            shopID = cart_orderlist[i]['m_id_id']
            #获取商品数量和ID
            for key, val in goods_list[i][0].items():
                goods_id = key
                goods_cart_num = val

                goods_cal_price = cart_orderlist[i]['goods_prices']
                cart_cal_num += goods_cart_num * goods_cal_price
                if shopID in cart_shop_dict:
                    cart_shop_dict[shopID][
                        0] += goods_cart_num * goods_cal_price
                else:
                    cart_shop_dict[shopID] = [goods_cart_num * goods_cal_price]

                cart_shop_dict[shopID].append(
                    [goods_id, goods_cart_num, goods_cal_price])

        #优惠券ID
        cart_cal_rel = cart_cal_num
        voucher_id = request.get_json().get('voucher_id', None)
        vou_resp = dao.check_vou(user_id_id, voucher_id)
        if vou_resp:
            if vou_resp[0]['vuc'] == 0:
                vou_price = vou_resp[0]['minusprice']
                cart_cal_rel = cart_cal_num - vou_price

            if vou_resp[0]['vuc'] == 1:
                vou_price = vou_resp[0]['minusprice']
                if cart_cal_num > 200 and cart_cal_num < 500:
                    cart_cal_rel = cart_cal_num - vou_price
                elif cart_cal_num > 500 and cart_cal_num < 1000:
                    cart_cal_rel = cart_cal_num - vou_price
                elif cart_cal_num > 1000:
                    cart_cal_rel = cart_cal_num - vou_price

        #将订单写入数据库
        order_list = []
        dict1 = {}
        print(cart_shop_dict, 33333333333)
        for key in cart_shop_dict.keys():
            o_num = get_order_num()
            order_list.append(o_num)
            cart_shop_dict[key].append(o_num)
            tel = dao.get_tel(user_id_id)["tel"]
            dict1 = {
                "o_num": o_num,
                "o_addr": addr,
                "o_conn": tel,
                "o_time": datetime.datetime.now(),
                "o_status": 0,
                "o_total": cart_shop_dict[key][0],
                "o_relpay": cart_shop_dict[key][0],
                "o_shopper_id": key,
                "o_user_id": user_id_id
            }
            print(dict1)
            dao.save_detail(**dict1)
            for i in range(1, len(cart_shop_dict[key]) - 1):
                goods_id = cart_shop_dict[key][i][0]
                goods_cart_num = cart_shop_dict[key][i][1]
                dao.update(user_id_id, goods_id, goods_cart_num)
                dao.delete_tab("jd_cart", goods_id, user_id_id)
                dict2 = {
                    "g_num": goods_cart_num,
                    "g_price": cart_shop_dict[key][i][2],
                    "o_goods_id": goods_id,
                    "o_num_id": o_num
                }
                dao.save(**dict2)
                print(dict2, "1" * i + "1")
        rd.rpush(order_list[0], order_list)
        rd.expire(cart_cal_rel, 2 * 60 * 60)
        # dao.delete_vou(user_id_id, voucher_id)
        data = {"order_list": order_list, "total": cart_cal_rel}
        return jsonify({'code': 200, 'msg': '订单生成成功', 'data': data})

    else:
        return jsonify({'code': 400, 'msg': '您还未登陆,请先登录'})
示例#12
0
def payorder():
    token = request.get_json().get('token', None)
    if cache.check_token(token):
        user_id_id = cache.get_token_user_id(token)
        order_list = request.get_json().get("order_list")
        total = request.get_json().get("total")
        paypassword = request.get_json().get("paypassword")
        dao2 = OrderDao()
        if all((order_list, total)):
            order_rd_list = rd.lindex(order_list[0], 0)
            if not order_rd_list:
                #删除订单
                for i in range(len(order_list)):
                    dao2.UpdateOrder(user_id_id, 5, order_list[i])
                return jsonify({'code': 404, 'msg': '订单已过期'})
            order_rd_list = order_rd_list.decode()[1:-1]
            order_rd_list = order_rd_list.split("'")

            for i in range(len(order_list)):
                print(order_list[i], order_rd_list[i * 2 + 1])
                if order_list[i] != order_rd_list[i * 2 + 1]:
                    return jsonify({'code': 400, 'msg': '支付请求出错'})
            dao = UserDao()
            user_info = dao.get_profile(user_id_id)[0]
            asset = user_info['asset']
            pay_pwd = user_info['pay_pwd']
            # paypassword = make_password(paypassword)
            if pay_pwd != paypassword:
                return jsonify({'code': 400, 'msg': '支付密码错误,请重新输入'})
            if asset < total:
                return jsonify({'code': 400, 'msg': '余额不足,请先充值'})

            asset -= total
            dao.update_asset(user_id_id, asset)

            for i in range(len(order_list)):
                dao2.UpdateOrder(user_id_id, 1, order_list[i])

            return jsonify({'code': 200, 'msg': '支付成功'})
        else:
            o_num = request.get_json().get("orderid")
            dao3 = UserDao()
            dao4 = OrderDao()
            order_info = dao4.get_oreder_info(o_num)
            if not order_info:
                return jsonify({"code": 401, "msg": "订单不存在"})
            order_info = order_info[0]
            total1 = order_info['o_relpay']
            user_info = dao3.get_profile(user_id_id)
            asset = user_info['asset']
            pay_pwd = user_info['pay_pwd']
            if pay_pwd != paypassword:
                return jsonify({'code': 400, 'msg': '支付密码错误,请重新输入'})
            if asset < total1:
                return jsonify({'code': 400, 'msg': '余额不足,请先充值'})

            asset -= total1
            dao3.update_asset(user_id_id, asset)
            dao4.UpdateOrder(user_id_id, 1, o_num)
            return jsonify({'code': 200, 'msg': '支付成功'})

    else:
        return jsonify({'code': 400, 'msg': '您还未登陆,请先登录'})
示例#13
0
def paycart():
    token = request.get_json().get('token', None)
    if cache.check_token(token):
        user_id_id = cache.get_token_user_id(token)
        req_data = request.get_json()

        goods_list = req_data["goodsList"]

        dao = cart_orderDao()
        #存储所有商品信息
        cart_orderlist = []
        #存储库存不足商品信息
        unable_list = []
        #存储请求成功后返回的商品信息
        cat_goodslist = []
        #遍历商品列表,校验库存
        print(goods_list[0], len(goods_list), 'AAAAAAAA')
        for i in range(0, len(goods_list)):
            print(goods_list[i], "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB")
            for key, val in goods_list[i].items():
                goods_id = key
                goods_cart_num = val
                #查询商品详细数据
                resp = dao.check_stock(user_id_id, goods_id)
                if not resp:
                    return jsonify({
                        "code": 400,
                        "msg": "商品不存在",
                        "productID": goods_id
                    })
                cart_orderlist.append(resp[0])
                shopID = cart_orderlist[i]['m_id_id']
                shop_name = dao.get_shopname(shopID)["m_username"]
                standard = dao.get_std(goods_id)['properties']
                cat_goodslist.append({
                    "shopname": shop_name,
                    "productID": goods_id,
                    "productstock": resp[0]['goods_num'],
                    "productnum": goods_cart_num,
                    "productprice": resp[0]['goods_prices'],
                    "productpic": resp[0]['goods_img'],
                    "title": resp[0]['goods_name'],
                    "standard": standard
                })
                if goods_cart_num >= resp[0]['goods_num']:
                    unable_list.append({
                        "productID": goods_id,
                        "productstock": resp[0]['goods_num']
                    })
        if len(unable_list) > 0:
            return jsonify({
                "code": 400,
                "msg": "商品库存不足,请减少购买数量或改天再来",
                "goodslist": unable_list
            })
        cart_cal_num = 0
        for i in range(len(goods_list)):
            for key, val in goods_list[i].items():
                goods_id = key
                goods_cart_num = val
                goods_cal_price = cart_orderlist[i]['goods_prices']
                cart_cal_num += goods_cart_num * goods_cal_price
        # 查询地址,返回默认地址
        address = dao.get_addr(user_id_id)
        # voulist = dao.get_vou_list(user_id_id)
        tel = dao.get_tel(user_id_id)['tel']
        data = {
            "tel": tel,
            # "voulist":voulist,
            "address": address,
            "goodslist": cat_goodslist,
            "total": cart_cal_num
        }
        return jsonify({'code': 200, 'msg': '购物车结算请求成功', 'data': data})

    else:
        return jsonify({'code': 400, 'msg': '您还未登陆,请先登录'})
示例#14
0
def updata_cart():
    cart_data = eval(request.get_data())
    token = cart_data['token']

    if token is None:
        return jsonify({'code': 400, 'msg': 'token查询参数必须提供或者登录后获取token'})

    if cache.check_token(token):
        goods_id = cart_data['productID']
        c_goods_num = cart_data['productNum']

        if not all((goods_id, c_goods_num)) or int(c_goods_num) < 0:
            return jsonify({'code': 400, 'msg': '请求中的商品ID、数量获取失败'})

        else:
            goodsid_islive_sql="select count(*) as c, goods_num as stock from goods_details " \
                               "where goods_state =1 and goods_id = %s"%(int(goods_id))
            carthas_sql = "select count(*) as cart_count from jd_cart " \
                                 "where  c_goods_id = %s" % (int(goods_id))
            goodsnum_sql = "select c_goods_num as goodsnum from jd_cart " \
            "where  c_goods_id = %s" % (int(goods_id))
            shopid_sql = "select m_id_id as c_shopper_id from goods_details " \
                         "where goods_id = %s"%(int(goods_id))
            user_id = cache.get_token_user_id(token)
            userid_sql = "select user_id as c_goods_id from jd_user where user_id='{}'".format(
                user_id)

            goodsid_islive = CartDao().query(goodsid_islive_sql)
            carthas = CartDao().query(carthas_sql)
            goodsnum = CartDao().query(goodsnum_sql)
            shopid = CartDao().query(shopid_sql)
            userid = CartDao().query(userid_sql)

            if goodsid_islive[0]['c'] == 0:
                return jsonify({"code": 404, 'msg': '该商品不存在'})
            else:
                if carthas[0]['cart_count'] == 0:
                    if int(c_goods_num) <= goodsid_islive[0]['stock']:
                        cart_dict = {}
                        cart_dict['c_goods_num'] = int(c_goods_num)
                        cart_dict['c_goods_id'] = int(goods_id)
                        cart_dict['c_freight'] = 10
                        cart_dict['c_shopper_id'] = shopid[0]['c_shopper_id']
                        cart_dict['c_user_id'] = userid[0]['c_goods_id']
                        CartDao().save('jd_cart', **cart_dict)
                        return jsonify({"code": 200, 'msg': '新增商品到购物车'})
                    else:
                        return jsonify({"code": 404, 'msg': '库存不足,新增商品失败'})
                else:
                    if goodsnum[0]['goodsnum'] > int(c_goods_num):
                        productnum = CartDao().update('jd_cart', 'c_goods_num',
                                                      c_goods_num,
                                                      'c_goods_id', goods_id)
                        return jsonify({
                            "code": 200,
                            'msg': '该商品数量减少为%s' % int(c_goods_num),
                            'productNum': productnum
                        })
                    elif goodsnum[0]['goodsnum'] < int(c_goods_num) and int(
                            c_goods_num) <= goodsid_islive[0]['stock']:
                        productnum = CartDao().update('jd_cart', 'c_goods_num',
                                                      c_goods_num,
                                                      'c_goods_id', goods_id)
                        return jsonify({
                            "code": 200,
                            'msg': '该商品数量增加到%s' % int(c_goods_num),
                            'productNum': productnum
                        })
                    elif int(c_goods_num) > goodsid_islive[0]['stock']:
                        return jsonify({"code": 404, 'msg': '库存不足'})
                    else:
                        return jsonify({"code": 200, 'msg': '该商品数量未改变'})

    else:
        return jsonify({
            'code': 401,
            'msg': '用户未登录',
        })
示例#15
0
def cart():
    cart_data = eval(request.get_data())
    token = cart_data['token']

    if token is None:
        return jsonify({'code': 400, 'msg': 'token查询参数必须提供或者登录后获取token'})

    if cache.check_token(token):
        userid = cache.get_token_user_id(token)

        cart_sql = "select jd_shopper.m_name as shopName," \
                   "jd_shopper.m_id as shopID," \
                 "goods_details.goods_img as img," \
                 "goods_details.goods_id as productID," \
                 "goods_details.goods_name as goodsdescribe," \
                 "goods_sku.properties as model," \
                 "goods_details.goods_prices as price," \
                 "goods_details.goods_num as stock," \
                 "jd_cart.c_goods_num as productNum " \
                 "from (((goods_details join jd_cart on goods_details.goods_id = jd_cart.c_goods_id) " \
                 "join jd_shopper on jd_cart.c_shopper_id = jd_shopper.m_id) " \
                 "join goods_sku on goods_sku.goods_id = goods_details.goods_id)" \
                 "join jd_user on jd_cart.c_user_id = jd_user.user_id " \
                 "where jd_user.user_id ='{}' and goods_details.goods_state = 1".format(userid)

        plist_sql = "select goods_img as img," \
                    "goods_id as productID," \
                    "goods_name as title," \
                    "goods_prices as price " \
                    "from goods_details " \
                    "where goods_state =1 limit 0,20"

        plist = CartDao().query(plist_sql)
        cartmsg = CartDao().query(cart_sql)
        print(cartmsg)
        list1 = []

        list2 = []
        if not cartmsg:
            return jsonify({
                'code': 200,
                'msg': '购物车还是空的,先去添加点商品吧!!!',
                'cartShopList': list2,
                'ProuductList': plist,
                'checked': False
            })
        for c in cartmsg:
            c['checked'] = False
            if c['shopID'] not in list1:
                list1.append(c['shopID'])

        for t in list1:
            list3 = []
            dict1 = {}
            for cmsg in cartmsg:
                c = cmsg['shopID']
                if t == c:
                    dict1['shopID'] = t
                    dict1['shopName'] = cmsg['shopName']
                    dict1['checked'] = False
                    list3.append(cmsg)
            dict1['productList'] = list3
            list2.append(dict1)

        for l in list2:
            for p in l['productList']:
                p.pop('stock')
                p.pop('shopID')
                p.pop('shopName')

        for price in cartmsg:
            price['price'] = str(price['price'])

        return jsonify({
            'code': 200,
            'msg': '购物车商品列表',
            'cartShopList': list2,
            'ProuductList': plist,
            'checked': False
        })

    else:
        return jsonify({
            'code': 401,
            'msg': '用户未登录',
        })
示例#16
0
def update_address():
    # 修改地址
    req_data = request.get_json()
    token = req_data.get('token')
    add_id = req_data.get('address', None)
    re_str = req_data.get('strs', None)
    print(re_str, add_id)
    if check_token(token):
        user_id = get_token_user_id(token)

        if add_id is not None and re_str is None:  # 删除
            dao = BaseDao()
            dao.delete('u_address', 'user_address', add_id)
            return jsonify({'code': 200, 'msg': '该地址已删除!'})
        elif (add_id and re_str) is not None:  # 修改
            dao = AddDao()
            dao.update('u_address', 'user_address', re_str, 'user_address',
                       add_id)
            check_data = dao.check_address(user_id)
            user_data = UserDao().get_profile(user_id)
            if all((check_data, user_data)):
                data = {
                    'addressList': [{
                        "receivePersonName":
                        user_data[0]['user_name'],
                        "receiveAddress":
                        check_data[0]['user_address'],
                        "receiveTEL":
                        user_data[0]['tel']
                    }]
                }
                return jsonify({'code': 200, 'msg': '地址修改成功!', 'data': data})
            else:
                return jsonify({'code': 400, 'msg': '数据库查询失败!'})

        elif re_str is not None and add_id is None:  # 添加
            print(re_str)
            dao = AddDao()
            save_add = dao.save(
                'u_address', **{
                    "user_id": user_id,
                    "user_address": re_str,
                    "is_default": 0
                })
            if save_add:
                check_data = dao.check_address(user_id)
                user_data = UserDao().get_profile(user_id)
                if all((check_data, user_data)):
                    data = {
                        'addressList': [{
                            "receivePersonName":
                            user_data[0]['user_name'],
                            "receiveAddress":
                            check_data[0]['user_address'],
                            "receiveTEL":
                            user_data[0]['tel']
                        }]
                    }
                    return jsonify({
                        'code': 200,
                        'msg': '地址添加成功!',
                        'data': data
                    })
                else:
                    return jsonify({'code': 400, 'msg': '数据库查询失败!'})
            else:
                return jsonify({'code': 400, 'msg': '地址添加失败!'})
        else:
            return jsonify({'code': 400, 'msg': '数据上传有误!'})
    else:
        return jsonify({'code': 400, 'msg': 'token验证失败!'})