123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- //
- // JXRoomRemind.m
- //
- // Created by Reese on 13-8-11.
- // Copyright (c) 2013年 Reese. All rights reserved.
- //
- #import "JXRoomRemind.h"
- #import "FMDatabase.h"
- #import "FMResultSet.h"
- #import "AppDelegate.h"
- #import "JXMessageObject.h"
- @implementation JXRoomRemind
- @synthesize userId,objectId,time,type,roomId,fromUserName;
- static JXRoomRemind *shared;
- -(id)init{
- self = [super init];
- if(self){
- _tableName = @"roomRemind";
- self.userId = nil;
- self.fromUserName = nil;
- self.objectId = nil;
- self.time = nil;
- self.toUserId = nil;
- self.content = nil;
- self.type = nil;
- self.fileSize = nil;
- }
- return self;
- }
- -(void)dealloc{
- // NSLog(@"JXRoomRemind.dealloc");
- self.userId = nil;
- self.fromUserName = nil;
- self.objectId = nil;
- self.time = nil;
- self.toUserId = nil;
- self.content = nil;
- self.type = nil;
- // [super dealloc];
- }
- -(void)notify{
- //发送全局通知
- [g_notify postNotificationName:kXMPPRoomNotifaction object:self userInfo:nil];
- }
- -(void)fromObject:(JXMessageObject*)message{
- self.userId=message.fromUserId;
- self.fromUserName=message.fromUserName;
- self.fromUserId = message.fromUserId;
- self.objectId=message.objectId;
- self.time=message.timeSend;
- self.toUserId = message.toUserId;
- self.content = message.content;
- self.type = message.type;
- self.roomId = message.fileName;
- self.fileSize = message.fileSize;
- self.other = message.other;
- self.toUserName = message.toUserName;
- self.isGroup = message.isGroup;
- }
- /*
- //+(JXRoomRemind*)sharedInstance{
- // static dispatch_once_t onceToken;
- // dispatch_once(&onceToken, ^{
- // shared=[[JXRoomRemind alloc] init];
- // });
- // return shared;
- //}
- -(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','objectId','time','toUserId','content',type) VALUES (?,?,?,?,?,?)",_tableName];
- BOOL worked = [db executeUpdate:insertStr,self.userId,self.objectId,self.time,self.toUserId,self.content,self.type];
- // 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 toUserId=? and objectId=? and type=?",_tableName],self.toUserId,self.objectId,self.type];
- return worked;
- }
- -(BOOL)deleteAll:(int)n{
- NSString* myUserId = MY_USER_ID;
- FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
- [self checkTableCreatedInDb:db];
-
- BOOL worked=[db executeUpdate:[NSString stringWithFormat:@"delete from %@ where toUserId=? and type=%d",_tableName,n],self.toUserId];
- return worked;
- }
- -(void)fromDataset:(JXRoomRemind*)obj rs:(FMResultSet*)rs{
- obj.userId=[rs stringForColumn:kRoomRemind_UserID];
- obj.toUserId=[rs stringForColumn:kRoomRemind_ToUserID];
- obj.content=[rs stringForColumn:kRoomRemind_Content];
- obj.objectId=[rs stringForColumn:kRoomRemind_ObjectId];
- obj.time=[rs objectForColumnName:kRoomRemind_Time];
- obj.type=[rs objectForColumnName:kRoomRemind_Type];
- }
- -(void)fromDictionary:(JXRoomRemind*)obj dict:(NSDictionary*)aDic
- {
- // obj.userId = [aDic objectForKey:kUSER_ID];
- }
- -(NSDictionary*)toDictionary
- {
- NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:userId,kUSER_ID,objectId,kRoomRemind_ObjectId,time,kRoomRemind_Time, nil];
- return dic;
- }
- -(BOOL)checkTableCreatedInDb:(FMDatabase *)db
- {
- NSString *createStr=[NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS '%@' ('objectId' VARCHAR , 'userId' VARCHAR,'toUserId' VARCHAR,'content' VARCHAR,'time' DATETIME,type INTEGER)",_tableName];
-
- BOOL worked = [db executeUpdate:createStr];
- // FMDBQuickCheck(worked);
- return worked;
- }
- -(NSMutableArray*)fetch:(int)n{
- NSString* sql = [NSString stringWithFormat:@"select objectId from %@ where type=%d and toUserId='%@' group by objectId",_tableName,n,g_myself.userId];
- return [self doFetch:sql];
- }
- -(NSMutableArray*)doFetch:(NSString*)sql
- {
- NSMutableArray *resultArr=[[NSMutableArray alloc]init];
-
- NSString* myUserId = MY_USER_ID;
- FMDatabase* db = [[JXXMPP sharedInstance] openUserDb:myUserId];
-
- FMResultSet *rs=[db executeQuery:sql];
- while ([rs next]) {
- [resultArr addObject:[rs stringForColumn:kRoomRemind_ObjectId]];
- }
- [rs close];
- return resultArr;
- }
- -(void)addToArray:(NSMutableArray*)array{
- if([self.objectId length]<=0)
- return;
- if([array indexOfObject:self.objectId] == NSNotFound)
- [array addObject:self.objectId];
- }
- -(void)addContentToArray:(NSMutableArray*)array{
- if([self.content length]<=0)
- return;
- if([array indexOfObject:self.content] == NSNotFound)
- [array addObject:self.content];
- }
- +(void)createAndNotifyNewObj:(NSString*)objectId toUserId:(NSString*)toUserId type:(int)type{
- if(!objectId)
- return;
- JXRoomRemind* p = [[JXRoomRemind alloc]init];
- p.toUserId = MY_USER_ID;
- p.userId = toUserId;
- p.objectId = objectId;
- p.type = [NSNumber numberWithInt:type];
- p.time = [NSDate date];
- [p insert];
- [p notify];
- // [p release];
- }
- */
- @end
|