def filter(self, keyword=None): if not keyword: return to_response(200, _result_to_dict(self.table.find())) records = {} regx = re.compile(".*%s.*" % keyword, re.IGNORECASE) search_dict = {"$or": [{"name": regx}, {"email": regx}]} return to_response(200, _result_to_dict(self.table.find(search_dict)))
def total(self, id): member = None try: member = self.fetch_member(id) except InvalidId: error_msg = "total@fail: reason: id '%s' not foud" % id self.logger.error(error_msg) return to_response(500, error_msg) result = member.recalc_point() return to_response(200, {"result": result})
def topup(self, id, point, free, paidtype): member = None try: member = self.fetch_member(id) except InvalidId: error_msg = "topup@fail: reason: id '%s' not foud" % id self.logger.error(error_msg) return to_response(500, error_msg) result = member.topup(int(point), int(free), paidtype) return to_response(200, {"result": result})
def register(self, name, address, tel, email): member = { "name": name, "address": address, "tel": tel, "email": email, "total_point": 0, "active": True, "create_date": datetime.now(), } if self.table.find({"email": email}).count() > 0: msg = "MemberManager.register fail, email duplicate: %s" % email self.logger.error(msg) return to_response(500, {"msg": msg}) _id = self.table.insert(member) self.logger.info("MemberRegister@%s" % member) return to_response(200, _result_to_dict(self.table.find({"_id": _id})))
def disable(self, id): user = self.table.find_one({"_id": ObjectId(id)}) user["active"] = False self.table.save(user) return to_response(200, user)