def list_order_service(data): """ 查询订单 :param data: { "cond":{ "type":"buy", # buy 购买 sell 出售 "product_name": "sd", #书籍名称 "status":0 #订单状态 }, "limit":8, "page":0 } :return: """ session = g.session buy_id = None sell_id = None if data["cond"]["type"] == "buy": buy_id = get_user_info()["user_id"] else: sell_id = get_user_info()["user_id"] # 分页 limit = data['limit'] offset = (data['page'] - 1) * data['limit'] cond = data["cond"] result_sql = session.query(Order, Product).filter( Order.status.like('%' + str(cond['status']) + '%') if cond['status'] is not None else "").join( Product, and_( Order.product_id == Product.id, Order.buyer_id == buy_id if buy_id is not None else "", Order.seller_id == sell_id if sell_id is not None else "", Product.name.like('%' + str(cond['product_name']) + '%') if cond['product_name'] is not None else "")) total = result_sql.count() sql_content = result_sql.order_by( Order.create_time.desc()).limit(limit).offset(offset) items = [] for i in sql_content: c = dict() c["order"] = i[0].to_json() c["product"] = i[1].to_json() sql_seller = session.query(User).filter( User.id == i[0].seller_id).one() sql_buyer = session.query(User).filter(User.id == i[0].buyer_id).one() c["seller"] = sql_seller.to_json() c["buyer"] = sql_buyer.to_json() items.append(c) return True, items, total
def add_question_service(data): """ 提问 :param data:{ "name": "", "detail": "", # "publisher_id": self.publisher_id, "category": "", "price": 15212 } :return: """ session = g.session data["publisher_id"] = get_user_info()["user_id"] # 扣钱 user_sql = session.query(User).filter( User.id == data["publisher_id"]).one() if user_sql.balance < int(data["price"]): return False user_sql.balance = user_sql.balance - int(data["price"]) question = Question() for key, value in data.items(): setattr(question, key, value) session.add(question) session.commit() return True
def add_order_service(data): """ 生成订单 :param data:[ { "product_id": 78, # 产品id "product_num": 2, # 产品数量 } ] :return: """ session = g.session user_id = get_user_info()["user_id"] for item in to_list(data): result = session.query(Product).filter( Product.id == item["product_id"]).one() order = Order() order.order_num = date_time(fmt="%Y%m%d%H%M%S") + str(user_id) + str( item["product_id"]) order.product_id = item["product_id"] order.buyer_id = user_id order.seller_id = result.publisher_id order.product_num = item["product_num"] order.product_amount = item["product_num"] * result.price order.logistics_amount = result.logistics_price session.add(order) session.commit() return True
def status_chat_service(data): """ 有无新消息 :param data:{ # "user_id":451 "limit": 8, "page": 1 } :return: """ session = g.session user_id = get_user_info()["user_id"] # 分页 limit = data['limit'] offset = (data['page'] - 1) * data['limit'] sql_result = session.query(ChatList).filter(ChatList.get_id == user_id) total = sql_result.count() sql_content = sql_result.order_by(ChatList.create_time.desc()).limit(limit).offset(offset) result = [] for i in sql_content: c = i.to_json() sql_send = session.query(User).filter(User.id == i.send_id).one() sql_get = session.query(User).filter(User.id == i.get_id).one() c["send_user"] = sql_send.to_json() c["get_user"] = sql_get.to_json() result.append(c) return True, result, total
def commit_delete(): state = delete_comment_service(get_params()["id"], get_user_info()["user_id"]) if state: return success_ret(msg.SUCCESS) else: return err_ret(msg.ERROR(1, "删除失败!"))
def product_list(): params = get_params() params["user_id"] = get_user_info()["user_id"] state, result, total = list_product_service(params) if state: return build_ret(success=state, msg='操作成功', total=total, data=result) else: return err_ret(msg.ERROR(1, "查询失败!"))
def product_add(): params = get_params() params["publisher_id"] = get_user_info()["user_id"] state = add_product_service(get_params()) if state: return success_ret(msg.SUCCESS) else: return err_ret(msg.ERROR(1, "添加失败!"))
def commit_add(): params = get_params() params["user_id"] = get_user_info()["user_id"] state = add_comment_service(get_params()) if state: return success_ret(msg.SUCCESS) else: return err_ret(msg.ERROR(1, "添加失败!"))
def user_modify(): """ 用户编辑 :return: """ params = get_params() telephone = get_user_info()["telephone"] return modify_service(telephone, params)
def password_modify(): """ 密码修改 :return: """ params = get_params() telephone = get_user_info()["telephone"] return modify_password_service(telephone, params["password"], params["old_password"])
def logout_pretreat(token): """ 登出 :param token: :return: """ redis_server.delete(token) telephone = get_user_info()['telephone'] redis_server.delete(redis_pre['token_pix'] + telephone) return True
def payword_forget(): """ 忘记支付密码 :return: """ params = get_params() telephone = get_user_info()["telephone"] # redis验证码和前端验证码比较 code = redis_server.get(redis_pre['register_sms'] + str(telephone)) if code and int(params["code"]) == int(code): redis_server.delete(redis_pre['register_sms'] + str(telephone)) return forget_payword_service(telephone, params["pay_password"]) return False, msg.A_CODE_TIMEOUT
def add_reply_service(data): """ 回答提问 :param data:{ "content": self.content, "question_id": self.question_id } :return: """ session = g.session data["reply_id"] = get_user_info()["user_id"] reply = Reply() for key, value in data.items(): setattr(reply, key, value) session.add(reply) session.commit() return True
def thumb_reply_service(data): """ 点赞 :param data:{ "id":465464 } :return: """ session = g.session user_id = get_user_info()["user_id"] question_sql = session.query(Reply).filter( Reply.id == data.pop("id")).one() question_sql.thumbs_num += 1 if user_id in question_sql.thumbs_user.split(","): return False, msg.ERROR(1, "已点赞!") question_sql.thumbs_user = question_sql.thumbs_user + "," + str(user_id) session.commit() return True, msg.SUCCESS
def agree_reply_service(data): """ 采纳回复 :param data:{ "id":465464 } :return: """ session = g.session user_id = get_user_info()["user_id"] reply_sql = session.query(Reply).filter(Reply.id == data.pop("id")).one() question_sql = session.query(Question).filter( Question.id == reply_sql.question_id).one() if question_sql.status is not 0: return False, msg.ERROR(1, "该问题已采纳!") question_sql.status = 1 reply_sql.status = 1 # 加钱 user_sql = session.query(User).filter(User.id == user_id).one() user_sql.balance = user_sql.balance + question_sql.price session.commit() return True, msg.SUCCESS
def add_chat_service(data): """ 发消息 :param data:{ # "send_id": "", "get_id": "", "content": "" } :return: """ session = g.session data["send_id"] = get_user_info()["user_id"] if int(data["send_id"]) == int(data["get_id"]): return 2 chat = Chat() for key, value in data.items(): setattr(chat, key, value) # 标记接受者新消息 sql_result = session.query(ChatList).filter( and_( ChatList.get_id == data["get_id"], ChatList.send_id == data["send_id"] ) ).one_or_none() if sql_result: sql_result.status = 0 else: chat_list = ChatList() chat_list.send_id = data["send_id"] chat_list.get_id = data["get_id"] chat_list.status = 0 session.add(chat_list) session.add(chat) session.commit() return True
def admin_user_list_(): user_id = get_user_info()["user_id"] result = user_info(user_id) return build_ret(success=True, msg='操作成功', data=result)