def put(self): ''' create by bigzhu at 15/04/23 17:33:33 udpate数据,只要value有id, 可以不写where ''' self.set_header("Content-Type", "application/json") if self.current_user: pass else: raise Exception('必须登录才能操作') data = json.loads(self.request.body) t = data.get('t') # table w = data.get('w') # where v = data.get('v') # value v = db_bz.transTimeValueByTable(self.pg, t, v) if w is None: id = v.get('id') if id is None: raise Exception('没有足够的信息来进行update操作') w = "id=%s" % id trans = self.pg.db.transaction() count = self.pg.db.update(t, w, **v) if count == 1: trans.commit() else: trans.rollback() raise Exception('不允许update %s 条记录,请检查条件' % count) self.write(json.dumps({'error': '0'}))
def post(self): ''' create by bigzhu at 15/04/23 17:33:09 insert 返回 id ''' self.set_header("Content-Type", "application/json") if self.current_user: user_id = self.current_user else: raise Exception('必须登录才能操作') data = json.loads(self.request.body) t = data.get('t') # table v = data.get('v') # value v = db_bz.transTimeValueByTable(self.pg, t, v) # 插入的值有id就update,只能udpate一条,没有就 insert id = v.get('id') if id is not None: w = "id=%s" % id trans = self.pg.db.transaction() count = self.pg.db.update(t, w, **v) if count == 1: trans.commit() self.write(json.dumps({'error': '0'})) return else: trans.rollback() seq = t + '_id_seq' v['user_id'] = user_id id = self.pg.db.insert(t, seqname=seq, **v) self.write(json.dumps({'error': '0', 'id': id}))
def post(self): ''' type: insert delete query select create by bigzhu at 15/06/07 12:40:20 ''' self.set_header("Content-Type", "application/json") if self.current_user: user_id = self.current_user else: raise Exception('必须登录才能操作') data = json.loads(self.request.body) oper_type = data.get('type') if oper_type == 'insert': v = data.get('v') t = data.get('t') v = db_bz.transTimeValueByTable(self.pg, t, v) # 插入的值有id就update,只能udpate一条,没有就 insert id = v.get('id') if id is not None: w = "id=%s" % id trans = self.pg.db.transaction() count = self.pg.db.update(t, w, **v) if count == 1: trans.commit() self.write(json.dumps({'error': OK})) return else: trans.rollback() seq = t + '_id_seq' v['user_id'] = user_id id = self.pg.db.insert(t, seqname=seq, **v) self.write(json.dumps({'error': OK, 'id': id})) return elif oper_type == 'delete': t = data.get('t') ids = data.get('ids') w = 'id in (%s) ' % ids c = data.get('c') trans = self.pg.db.transaction() count = self.pg.db.update(t, w, is_delete=1) if count == int(c): trans.commit() else: trans.rollback() raise Exception("按条件找到%s条,指定要删除%s条,取消删除" % (count, c)) self.write(json.dumps({'error': '0'}))