123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- //
- // JXBlogObject.m
- //
- // Created by Reese on 13-8-11.
- // Copyright (c) 2013年 Reese. All rights reserved.
- //
- #import "JXBlogObject.h"
- #import "FMDatabase.h"
- #import "FMResultSet.h"
- #import "AppDelegate.h"
- #import "JXMessageObject.h"
- @implementation JXBlogObject
- @synthesize userId,msgId,time;
- static JXBlogObject *shared;
- +(JXBlogObject*)sharedInstance{
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- shared=[[JXBlogObject alloc] init];
- });
- return shared;
- }
- -(id)init{
- self = [super init];
- if(self){
- _tableName = @"friend_blog";
- self.userId = nil;
- self.msgId = nil;
- self.time = nil;
- }
- return self;
- }
- -(void)dealloc{
- // NSLog(@"JXBlogObject.dealloc");
- self.userId = nil;
- self.msgId = nil;
- self.time = nil;
- // [super dealloc];
- }
- -(BOOL)insert
- {
- NSString* myUserId = MY_USER_ID;
- FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
- [self checkTableCreatedInDb:db];
-
- self.time = [NSDate date];
- NSString *insertStr=[NSString stringWithFormat:@"INSERT INTO '%@' ('userId','msgId','time') VALUES (?,?,?)",_tableName];
- BOOL worked = [db executeUpdate:insertStr,self.userId,self.msgId,self.time];
- // FMDBQuickCheck(worked);
-
- if(!worked)
- worked = [self update];
- return worked;
- }
- -(BOOL)update
- {
- return YES;
- }
- -(BOOL)delete
- {
- NSString* myUserId = MY_USER_ID;
- FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
- [self checkTableCreatedInDb:db];
-
- BOOL worked=[db executeUpdate:[NSString stringWithFormat:@"delete from %@ where userId=? and msgId=?",_tableName],self.userId,self.msgId];
- return worked;
- }
- -(BOOL)deleteAllMsg:(NSString*)userId{
- NSString* myUserId = MY_USER_ID;
- FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
- [self checkTableCreatedInDb:db];
-
- BOOL worked=[db executeUpdate:[NSString stringWithFormat:@"delete from %@ where userId=?",_tableName],self.userId];
- return worked;
- }
- -(void)fromObject:(JXMessageObject*)message{
- self.userId=message.fromUserId;
- self.msgId=message.objectId;
- self.time=message.timeSend;
- }
- -(void)fromDataset:(JXBlogObject*)obj rs:(FMResultSet*)rs{
- obj.userId=[rs stringForColumn:kBLOG_UserID];
- obj.msgId=[rs stringForColumn:kBLOG_MsgID];
- obj.time=[rs dateForColumn:kBLOG_Time];
- }
- -(void)fromDictionary:(JXBlogObject*)obj dict:(NSDictionary*)aDic
- {
- // obj.userId = [aDic objectForKey:kUSER_ID];
- }
- -(NSDictionary*)toDictionary
- {
- NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:userId,kUSER_ID,msgId,kBLOG_MsgID,time,kBLOG_Time, nil];
- return dic;
- }
- -(BOOL)checkTableCreatedInDb:(FMDatabase *)db
- {
- NSString *createStr=[NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS '%@' ('msgId' VARCHAR , 'userId' VARCHAR,'time' DATETIME)",_tableName];
-
- BOOL worked = [db executeUpdate:createStr];
- // FMDBQuickCheck(worked);
- return worked;
- }
- -(NSMutableArray*)getBlogIds:(int)pageIndex;
- {
- NSString *sql=[NSString stringWithFormat:@"select * from %@ order by time desc limit ?*%d,%d",_tableName,PAGE_SHOW_COUNT,PAGE_SHOW_COUNT];
- NSMutableArray *resultArr=[[NSMutableArray alloc] init];
-
- NSString* myUserId = MY_USER_ID;
- FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
- [self checkTableCreatedInDb:db];
-
- FMResultSet *rs=[db executeQuery:sql,[NSNumber numberWithInt:pageIndex]];
- while ([rs next]) {
- JXBlogObject *p=[[JXBlogObject alloc] init];
- [self fromDataset:p rs:rs];
- [resultArr addObject:p];
- // [p release];
- }
- [rs close];
- if([resultArr count]==0){
- // [resultArr release];
- resultArr = nil;
- }
- return resultArr;
- }
- @end
|