Commit 5dcf9fd9 authored by chen.weican's avatar chen.weican

【修改内容】修改房间设置相关

【提交人】陈伟灿
parent d3176669
...@@ -71,7 +71,9 @@ typedef enum { ...@@ -71,7 +71,9 @@ typedef enum {
#define MSG_PROPERTY_STR "property" #define MSG_PROPERTY_STR "property"
#define MSG_PROPERTIES_STR "properties" #define MSG_PROPERTIES_STR "properties"
#define MSG_ONLINE_STATUS_STR "onlineStatus" #define MSG_ONLINE_STATUS_STR "onlineStatus"
#define MSG_AREA_ROOM_FLOORS "floors"
#define MSG_AREA_ROOM_FLOOR_ID "floorId"
#define MSG_AREA_ROOM_FLOOR_ROOMS "rooms"
/************************LOCK KEY*************************/ /************************LOCK KEY*************************/
#define MSG_KEYDELETE_NOTIFICATION_KEYID "KeyDeletedNotification.KeyID" #define MSG_KEYDELETE_NOTIFICATION_KEYID "KeyDeletedNotification.KeyID"
#define MSG_KEYDELETE_NOTIFICATION_KEYTYPE "KeyDeletedNotification.KeyType" #define MSG_KEYDELETE_NOTIFICATION_KEYTYPE "KeyDeletedNotification.KeyType"
......
...@@ -56,7 +56,9 @@ static int _kk_area_db_init(void) ...@@ -56,7 +56,9 @@ static int _kk_area_db_init(void)
idx INTEGER PRIMARY KEY, \ idx INTEGER PRIMARY KEY, \
name varchar(256), \ name varchar(256), \
roomId varchar(256), \ roomId varchar(256), \
armingstate INTEGER)"; armingstate INTEGER, \
floorId varchar(256), \
floorName varchar(256))";
if (sqlite3_exec(ctx->pDb, pAreaTable, NULL, NULL, &pcErr) != SQLITE_OK) if (sqlite3_exec(ctx->pDb, pAreaTable, NULL, NULL, &pcErr) != SQLITE_OK)
{ {
...@@ -212,6 +214,35 @@ int kk_room_add(const char *name,const char *roomId) ...@@ -212,6 +214,35 @@ int kk_room_add(const char *name,const char *roomId)
} }
} }
int kk_get_roomname_by_id(const char *roomid,char *roomname,int len)
{
int isExist = 0;
sqlite3_stmt *stmt;
char *pRoomname = NULL;
kk_area_ctx_t *ctx = _kk_area_get_ctx();
char *sqlCmd = NULL;
int tlen = 0;
if(roomname == NULL){
return -1;
}
_kk_area_lock();
sqlCmd = sqlite3_mprintf("select * from AreaInfo WHERE roomId= '%s'",roomid);
sqlite3_prepare_v2(ctx->pDb, sqlCmd, strlen(sqlCmd), &stmt, NULL);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
while(sqlite3_step(stmt) == SQLITE_ROW){
pRoomname = (char*)sqlite3_column_text(stmt, DB_ROOM_NAME);
}
if(pRoomname != NULL && strlen(pRoomname) > 0){
tlen = strlen(pRoomname) > len?len:strlen(pRoomname);
strncpy(roomname,pRoomname,tlen);
}else{
strcpy(roomname,"");
}
sqlite3_finalize(stmt);
sqlite3_free(sqlCmd);
_kk_area_unlock();
return 0;
}
int kk_room_update_armingstate(int state,const char *roomid) int kk_room_update_armingstate(int state,const char *roomid)
{ {
char *sqlCmd = NULL; char *sqlCmd = NULL;
...@@ -232,6 +263,26 @@ int kk_room_update_armingstate(int state,const char *roomid) ...@@ -232,6 +263,26 @@ int kk_room_update_armingstate(int state,const char *roomid)
_kk_area_unlock(); _kk_area_unlock();
return SUCCESS_RETURN; return SUCCESS_RETURN;
} }
int kk_room_set_floor_info(const char*floorId,const char* floorName,const char *roomid)
{
char *sqlCmd = NULL;
int rc = 0;
char *zErrMsg = 0;
kk_area_ctx_t *ctx = _kk_area_get_ctx();
_kk_area_lock();
sqlCmd = sqlite3_mprintf("UPDATE AreaInfo SET floorId=%s,floorName=%s WHERE roomId= '%s'",floorId,floorName,roomid);
rc = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
if( rc != SQLITE_OK ){
ERROR_PRINT("SQL error: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
}else{
INFO_PRINT("Table updata data successfully\n");
}
sqlite3_free(sqlCmd);
_kk_area_unlock();
return SUCCESS_RETURN;
}
int kk_room_delete(const char *roomId) int kk_room_delete(const char *roomId)
{ {
int res = 0; int res = 0;
...@@ -239,7 +290,7 @@ int kk_room_delete(const char *roomId) ...@@ -239,7 +290,7 @@ int kk_room_delete(const char *roomId)
char *sqlCmd = NULL; char *sqlCmd = NULL;
char *zErrMsg = 0; char *zErrMsg = 0;
const char *deleteCmd = "delete from AreaInfo where roomId = '%s';"; const char *deleteCmd = "delete from AreaInfo where roomId = '%s';";
kk_room_dev_remove_by_roomid(roomId);
_kk_area_lock(); _kk_area_lock();
sqlCmd = sqlite3_mprintf(deleteCmd,roomId); sqlCmd = sqlite3_mprintf(deleteCmd,roomId);
...@@ -276,6 +327,7 @@ static int _kk_check_dev_exist(const char* deviceCode,const char *epNum) ...@@ -276,6 +327,7 @@ static int _kk_check_dev_exist(const char* deviceCode,const char *epNum)
if(!strcmp(deviceCode,pDeviceCode) && !strcmp(pEpNum,epNum)) if(!strcmp(deviceCode,pDeviceCode) && !strcmp(pEpNum,epNum))
{ {
isExist = 1; isExist = 1;
INFO_PRINT("_kk_check_dev_exist\n");
break; break;
} }
} }
...@@ -294,7 +346,7 @@ int kk_room_dev_add(const char *roomId,const char *roomName,const char *deviceCo ...@@ -294,7 +346,7 @@ int kk_room_dev_add(const char *roomId,const char *roomName,const char *deviceCo
if(_kk_check_dev_exist(deviceCode,epNum)){ if(_kk_check_dev_exist(deviceCode,epNum)){
sqlCmd = sqlite3_mprintf("UPDATE AreaDevInfo SET roomId='%s', devName='%s', devName='%s'\ sqlCmd = sqlite3_mprintf("UPDATE AreaDevInfo SET roomId='%s', roomName='%s', devName='%s'\
WHERE deviceCode= '%s' and epNum = '%s'",roomId,roomName,devName,deviceCode,epNum); WHERE deviceCode= '%s' and epNum = '%s'",roomId,roomName,devName,deviceCode,epNum);
} }
else{ else{
...@@ -440,6 +492,27 @@ int kk_get_device_roomInfo(const char* deviceCode,int epNum,char *roomName,char ...@@ -440,6 +492,27 @@ int kk_get_device_roomInfo(const char* deviceCode,int epNum,char *roomName,char
_kk_area_unlock(); _kk_area_unlock();
return isGet; return isGet;
} }
int kk_room_dev_remove_by_roomid(const char *roomid)
{
int res = 0;
kk_area_ctx_t *ctx = _kk_area_get_ctx();
char *sqlCmd = NULL;
char *zErrMsg = 0;
const char *deleteCmd = "delete from AreaDevInfo where roomId = '%s';";
_kk_area_lock();
sqlCmd = sqlite3_mprintf(deleteCmd,roomid);
res = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
if( res != SQLITE_OK ){
ERROR_PRINT("SQL error: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
}else{
//INFO_PRINT("sub device insert data successfully\n");
}
sqlite3_free(sqlCmd);
_kk_area_unlock();
return SUCCESS_RETURN;
}
int kk_room_dev_remove(const char *deviceCode,const char *epNum) int kk_room_dev_remove(const char *deviceCode,const char *epNum)
{ {
int res = 0; int res = 0;
...@@ -448,9 +521,6 @@ int kk_room_dev_remove(const char *deviceCode,const char *epNum) ...@@ -448,9 +521,6 @@ int kk_room_dev_remove(const char *deviceCode,const char *epNum)
char *zErrMsg = 0; char *zErrMsg = 0;
const char *insertCmd = NULL; const char *insertCmd = NULL;
printf("deviceCode---->%s,%s\n",deviceCode,epNum);
if(epNum == NULL){ if(epNum == NULL){
insertCmd = "delete from AreaDevInfo where deviceCode = '%s';"; insertCmd = "delete from AreaDevInfo where deviceCode = '%s';";
} }
......
...@@ -12,6 +12,8 @@ enum{ ...@@ -12,6 +12,8 @@ enum{
DB_ROOM_NAME, DB_ROOM_NAME,
DB_ROOM_ID, DB_ROOM_ID,
DB_ROOM_ARMING, DB_ROOM_ARMING,
DB_ROOM_FLOORID,
DB_ROOM_FLOORNAME,
}; };
enum{ enum{
...@@ -36,5 +38,7 @@ int kk_get_room_armingstate(const char* roomId); ...@@ -36,5 +38,7 @@ int kk_get_room_armingstate(const char* roomId);
int kk_get_roomId_by_deviceCode(const char* deviceCode,const char *epNum,char *roomId,int size); int kk_get_roomId_by_deviceCode(const char* deviceCode,const char *epNum,char *roomId,int size);
int kk_get_device_roomInfo(const char* deviceCode,int epNum,char *roomName,char *roomId); int kk_get_device_roomInfo(const char* deviceCode,int epNum,char *roomName,char *roomId);
int kk_room_reset_armingstate(void); int kk_room_reset_armingstate(void);
int kk_room_dev_remove_by_roomid(const char *roomid);
int kk_room_set_floor_info(const char*floorId,const char* floorName,const char *roomid);
#endif #endif
...@@ -59,10 +59,15 @@ const char DM_MSG_INFO[] DM_READ_ONLY; ...@@ -59,10 +59,15 @@ const char DM_MSG_INFO[] DM_READ_ONLY;
#define KK_THING_TOPO_CHANGE_MSG "/thing/topo/change" #define KK_THING_TOPO_CHANGE_MSG "/thing/topo/change"
#define KK_THING_SERVICE_REBOOT "/thing/service/reboot" #define KK_THING_SERVICE_REBOOT "/thing/service/reboot"
#define KK_THING_SERVICE_ADDROOM "/thing/service/addRoom" #define KK_THING_SERVICE_ADDROOM "/thing/service/addRoom"
#define KK_THING_SERVICE_ADDROOM_REPLY "/thing/service/addRoom_reply"
#define KK_THING_SERVICE_UPDATEROOM "/thing/service/updateRoom"
#define KK_THING_SERVICE_UPDATEROOM_REPLY "/thing/service/updateRoom_reply"
#define KK_THING_SERVICE_DELETEROOM "/thing/service/deleteRoom" #define KK_THING_SERVICE_DELETEROOM "/thing/service/deleteRoom"
#define KK_THING_SERVICE_DELETEROOM_REPLY "/thing/service/deleteRoom_reply"
#define KK_THING_SERVICE_ADDDEVICETOROOM "/thing/service/addDeviceToRoom" #define KK_THING_SERVICE_ADDDEVICETOROOM "/thing/service/addDeviceToRoom"
#define KK_THING_SERVICE_ADDDEVICETOROOM_REPLY "/thing/service/addDeviceToRoom_reply" #define KK_THING_SERVICE_ADDDEVICETOROOM_REPLY "/thing/service/addDeviceToRoom_reply"
#define KK_THING_SERVICE_REMOVEDEVICEFROMROOM "/thing/service/removeDeviceFromRoom" #define KK_THING_SERVICE_REMOVEDEVICEFROMROOM "/thing/service/removeDeviceFromRoom"
#define KK_THING_SERVICE_REMOVEDEVICEFROMROOM_REPLY "/thing/service/removeDeviceFromRoom_reply"
#define KK_THING_SERVICE_EXECUTEROOM "/thing/service/executeRoom" #define KK_THING_SERVICE_EXECUTEROOM "/thing/service/executeRoom"
#define KK_THING_SERVICE_SETLOCALTIMER "/thing/service/setLocalTimer" #define KK_THING_SERVICE_SETLOCALTIMER "/thing/service/setLocalTimer"
#define KK_THING_SERVICE_GETLOCALTIMER "/thing/service/getLocalTimer" #define KK_THING_SERVICE_GETLOCALTIMER "/thing/service/getLocalTimer"
...@@ -73,10 +78,14 @@ const char DM_MSG_INFO[] DM_READ_ONLY; ...@@ -73,10 +78,14 @@ const char DM_MSG_INFO[] DM_READ_ONLY;
#define KK_THING_SERVICE_DELETEKEY "/thing/service/DeleteKey" #define KK_THING_SERVICE_DELETEKEY "/thing/service/DeleteKey"
#define KK_THING_SERVICE_MODIFYKEY "/thing/service/ModifyKey" #define KK_THING_SERVICE_MODIFYKEY "/thing/service/ModifyKey"
#define KK_THING_SERVICE_ADDSCENC "/thing/service/addScene" #define KK_THING_SERVICE_ADDSCENC "/thing/service/addScene"
#define KK_THING_SERVICE_ADDSCENC_REPLY "/thing/service/addScene_reply"
#define KK_THING_SERVICE_DELETESCENC "/thing/service/deleteScene" #define KK_THING_SERVICE_DELETESCENC "/thing/service/deleteScene"
#define KK_THING_SERVICE_DELETESCENC_REPLY "/thing/service/deleteScene_reply"
#define KK_THING_SERVICE_UPDATESCENC "/thing/service/updateScene" #define KK_THING_SERVICE_UPDATESCENC "/thing/service/updateScene"
#define KK_THING_SERVICE_UPDATESCENC_REPLY "/thing/service/updateScene_reply"
#define KK_THING_SERVICE_PROPERTY_GET_REPLY "/thing/service/property/get_reply" #define KK_THING_SERVICE_PROPERTY_GET_REPLY "/thing/service/property/get_reply"
#define KK_THING_SERVICE_EXECUTESCENE "/thing/service/executeScene" #define KK_THING_SERVICE_EXECUTESCENE "/thing/service/executeScene"
#define KK_THING_SERVICE_EXECUTESCENE_REPLY "/thing/service/executeScene_reply"
#define KK_THING_SERVICE_NEGATIVE "/thing/service/negativeProperty" #define KK_THING_SERVICE_NEGATIVE "/thing/service/negativeProperty"
#define KK_THING_METHOD_DELETESCENC "thing.service.deleteScene" #define KK_THING_METHOD_DELETESCENC "thing.service.deleteScene"
#define KK_THING_METHOD_UPDATESCENC "thing.service.updateScene" #define KK_THING_METHOD_UPDATESCENC "thing.service.updateScene"
...@@ -88,9 +97,10 @@ const char DM_MSG_INFO[] DM_READ_ONLY; ...@@ -88,9 +97,10 @@ const char DM_MSG_INFO[] DM_READ_ONLY;
#define KK_THING_SERVICE_SYNCDEVICEINFO_REPLY "/thing/service/syncDeviceInfo_reply" #define KK_THING_SERVICE_SYNCDEVICEINFO_REPLY "/thing/service/syncDeviceInfo_reply"
#define KK_THING_SERVICE_CLOUDSTATUS "/thing/service/cloudStatus" #define KK_THING_SERVICE_CLOUDSTATUS "/thing/service/cloudStatus"
#define KK_THING_SERVICE_EXECUTEDNDMODE "/thing/service/executeDNDMode" #define KK_THING_SERVICE_EXECUTEDNDMODE "/thing/service/executeDNDMode"
#define KK_THING_SERVICE_SETFLOOR "/thing/service/setAllFloors"
#define KK_THING_SERVICE_SETFLOOR_REPLY "/thing/service/setAllFloors_reply"
#define KK_THING_SERVICE_GETFLOOR "/thing/service/getAllFloors"
#define KK_THING_SERVICE_GETFLOOR_REPLY "/thing/service/getAllFloors_reply"
#define KK_THING_SERVICE_SYNCINFO_REPLY "/thing/service/syncinfo_reply" #define KK_THING_SERVICE_SYNCINFO_REPLY "/thing/service/syncinfo_reply"
#define KK_THING_SERVICE_SYNCINFOPUSH_REPLY "/thing/service/syncinfopush_reply" #define KK_THING_SERVICE_SYNCINFOPUSH_REPLY "/thing/service/syncinfopush_reply"
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment