def deleteMediaFace(self, mediaId): mediaHelper = ClassHelper("Media") media = mediaHelper.find_one(query={"_id": mediaId}, keys={"faces": 1}) tran = [] if media: for face in media['faces']: tran.append({ 'destClass': 'Face', 'query': { '_id': face }, 'action': { '@set': { 'status': 0 } } }) result = mediaHelper.update(mediaId, {"$set": { 'status': 0 }}, transaction=tran) if result: self.write(ERR_SUCCESS.message) else: self.write(ERR_INVALID.message) else: self.write(ERR_PATH_PERMISSION.message)
def orderCallback(oId, userId, status, order): ''' 根据支付结果更新订单的状态 :param oId:RechargeFlow Id :param userId:用户Id :param status: 支付是否成功,1为成功,3为等待验证 :param order:第三方平台返回订单信息,包括错误码 :return: ''' log.debug('oId:%s, userId:%s, status:%d, order:%s', oId, userId, status, order) ###更新充值流水记录 orderHelper = ClassHelper("RechargeFlow") rechargeFlow = orderHelper.get(oId) walletHelper = ClassHelper("Wallet") walletInfo = walletHelper.find_one({"user": userId}) if status == 1: # 充值成功,更新钱包 rechargeFlow_action = { 'destClass': 'RechargeFlow', 'query': { "_id": oId }, 'action': { "@set": { "status": status, "order": order } } } if not walletInfo: # 未找到钱包直接创建 wallet = {"user": userId, 'balance': rechargeFlow['amount']} walletInfo = walletHelper.create(wallet, transaction=[rechargeFlow_action]) else: wallet = {"$inc": {'balance': rechargeFlow['amount']}} walletInfo = walletHelper.update(walletInfo['_id'], wallet, transaction=[rechargeFlow_action]) return walletInfo else: rechargeFlow = orderHelper.update( oId, {"$set": { "status": status, "order": order }}) return rechargeFlow
def put(self,action=None): if action == "update": try: obj = json.loads(self.request.body) except Exception, e: log.err("JSON Error:[%d/%s] , error:%s", len(self.request.body), self.request.body, str(e)) self.write(ERR_INVALID.message) return classHelper = ClassHelper("User") # 只返回了更新时间 data = classHelper.update(self.user['_id'], obj) # 默认返回整个对象 self.write(json.dumps(data, cls=MeEncoder))
def save(self): from helper.ClassHelper import ClassHelper classHelper = ClassHelper(self.className) if self.objectId == None: if self.dirty.has_key('_sid'): self.dirty['_id'] = ObjectId(self.dirty['_sid']) del (self.dirty['_sid']) obj = classHelper.create(self.dirty) if obj == None: return False self.objectId = obj['_id'] else: obj = classHelper.update(self.objectId, self.dirty) if obj == None: return False for k in obj: dict.__setitem__(self, k, obj[k]) self.dirty.clear() return True
uploader_income_flow = {} uploader_income_flow['consumer_id'] = self.user['_id'] uploader_income_flow['consumer_nickname'] = user_info['nickName'] uploader_income_flow['consumer_avatar'] = user_info.get('avatar', None) uploader_income_flow['coin'] = good['price'] uploader_income_flow['income'] = int(float(uploader_income_show) * 100) uploader_income_flow['reason'] = 'uploader' uploader_income_flow['user'] = face['uploader'] uploader_income_flow['charge_flow'] = chargeFlow['_id'] uploader_income_flow_action = {'destClass': 'StatCount', 'query': {'name': 'newIncome_' + face['uploader']}, 'action': {'@inc': {'count': 1}}} ClassHelper('IncomeFlow').create(obj=uploader_income_flow, transaction=[uploader_income_flow_action]) wallet = walletHelper.update(wallet['_id'], item, transaction=actions) if wallet: # result = chargeFlowHelper.update(chargeFlow['_id'], {'$set': {'status': 1}}) # self.filter_field(result) data = copy.deepcopy(ERR_SUCCESS) data.message['mosaic'] = 1 self.write(json.dumps(data.message, cls=MeEncoder)) # self.pushMessage(good, owner_income_show, uploader_income_show) # 添加feed记录 # addFeedRecord(self.user['_id'], 'charge', face['_id']) # print 'send pay push' # t = threading.Thread(target=self.pushMessage, # args=(good,)) # t.setDaemon(True) # t.start()
value = self.sentiveCheck(key, value) meobj = MeObject(key, value) meobj.save() except bson.errors.InvalidId: objectIdError = True break except Exception, e: log.err("Error:%s , error:%s", self.request.body, str(e)) if objectIdError: self.write(ERR_OBJECTID_MIS.message) return mainObj = obj[len(obj) - 1] mainObj = self.sentiveCheck(className, mainObj) classHelper = ClassHelper(className) # 只返回了更新时间 data = classHelper.update(objectId, mainObj) # 默认返回整个对象 self.write(json.dumps(data, cls=MeEncoder)) else: classHelper = ClassHelper(className) # item = classHelper.get(objectId)#权限判断 # if not item: # log.err("%s not exists",objectId) # self.write(ERR_NOTFOUND.message) # return # if "acl" in item: # acl = MeACL(item['acl']) # if not acl.writeAccess(self.user): # self.write(ERR_CLASS_PERMISSION.message) # return # else: