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)
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)
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)
def getPur(): prompt = {'code': 200, "msg": "操作成功", "data": {}} member_info = memberInfo() prompt['data']['purview'] = member_info.purview return jsonify(prompt)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)