forked from harmony_car/subject-two
227 lines
8.3 KiB
TypeScript
227 lines
8.3 KiB
TypeScript
/*
|
|
* Copyright (c) 2022 Huawei Device Co., Ltd.
|
|
* Licensed under the Apache License,Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
import data_rdb from '@ohos.data.rdb';
|
|
import CommonConstants from '../constants/CommonConstants';
|
|
import AccountTable from '../database/tables/AccountTable';
|
|
import MA_MARKRULE from '../constants/MA_MARKRULE';
|
|
import MA_SYSTEMPARM from '../constants/MA_SYSTEMPARM';
|
|
import MA_MAP_COLLECT from '../constants/MA_MAP_COLLECT';
|
|
import MA_MAP_COLLECT_SHAPE from '../constants/MA_MAP_COLLECT_SHAPE';
|
|
import MA_MAP_ITEMCLASS from '../constants/MA_MAP_ITEMCLASS';
|
|
import MA_MAP_POINT from '../constants/MA_MAP_POINT';
|
|
import MA_MAP_POINT_ITEM from '../constants/MA_MAP_POINT_ITEM';
|
|
import MA_MAP_ROAD from '../constants/MA_MAP_ROAD';
|
|
import MA_MAP_ROAD_LANE from '../constants/MA_MAP_ROAD_LANE';
|
|
import MA_MAP_SUBITEM from '../constants/MA_MAP_SUBITEM';
|
|
import MA_SYSSET from '../constants/MA_SYSSET';
|
|
import ES_CARINFO from '../constants/ES_CARINFO';
|
|
import ES_EXAMPOINTDETAIL from '../constants/ES_EXAMPOINTDETAIL';
|
|
import MA_MARKRULESET from '../constants/MA_MARKRULESET';
|
|
import MA_CDSBINFO from '../constants/MA_CDSBINFO';
|
|
import MA_ITEMINFO from '../constants/MA_ITEMINFO';
|
|
import MA_T_CARPARMSET from '../constants/MA_T_CARPARMSET';
|
|
import ES_CAR_VIDEO_PARAMETER from '../constants/ES_CAR_VIDEO_PARAMETER';
|
|
import IpConfigTable from '../constants/IpConfigTable';
|
|
import DeviceInfoTable from '../constants/DeviceInfoTable'
|
|
import USER from '../constants/USER'
|
|
import featureAbility from '@ohos.ability.featureAbility'
|
|
// import { Logger } from '../utils/Logger';
|
|
import Logger from '../utils/Logger';
|
|
export default class Rdb {
|
|
private rdbStore: any = null;
|
|
private tableName: string;
|
|
private sqlCreateTable: string;
|
|
private columns: Array<string>;
|
|
|
|
constructor(tableName: string, sqlCreateTable: string, columns: Array<string>) {
|
|
this.tableName = tableName;
|
|
this.sqlCreateTable = sqlCreateTable;
|
|
this.columns = columns;
|
|
}
|
|
|
|
getRdbStore(callback) {
|
|
if (!callback || typeof callback == 'undefined' || callback == undefined) {
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'getRdbStore() has no callback!');
|
|
return;
|
|
}
|
|
if (this.rdbStore != null) {
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'The rdbStore exists.');
|
|
callback();
|
|
return
|
|
}
|
|
let context = getContext(this);
|
|
const map = {
|
|
'MA_MARKRULE': MA_MARKRULE,
|
|
'MA_SYSTEMPARM': MA_SYSTEMPARM,
|
|
'MA_MAP_COLLECT': MA_MAP_COLLECT,
|
|
'MA_MAP_COLLECT_SHAPE': MA_MAP_COLLECT_SHAPE,
|
|
'MA_MAP_ITEMCLASS': MA_MAP_ITEMCLASS,
|
|
'MA_MAP_POINT': MA_MAP_POINT,
|
|
'MA_MAP_POINT_ITEM': MA_MAP_POINT_ITEM,
|
|
'MA_MAP_ROAD': MA_MAP_ROAD,
|
|
'MA_MAP_ROAD_LANE': MA_MAP_ROAD_LANE,
|
|
'MA_MAP_SUBITEM': MA_MAP_SUBITEM,
|
|
'MA_SYSSET': MA_SYSSET,
|
|
'ES_CARINFO': ES_CARINFO,
|
|
'ES_EXAMPOINTDETAIL': ES_EXAMPOINTDETAIL,
|
|
'MA_MARKRULESET': MA_MARKRULESET,
|
|
'MA_CDSBINFO': MA_CDSBINFO,
|
|
'MA_ITEMINFO': MA_ITEMINFO,
|
|
'MA_T_CARPARMSET': MA_T_CARPARMSET,
|
|
'ES_CAR_VIDEO_PARAMETER': ES_CAR_VIDEO_PARAMETER,
|
|
'CommonConstants':CommonConstants,
|
|
'USER':USER,
|
|
'IpConfigTable':IpConfigTable,
|
|
'DeviceInfoTable':DeviceInfoTable
|
|
}
|
|
|
|
data_rdb.getRdbStore(context,map[this.tableName].STORE_CONFIG, 1, (err, rdb) => {
|
|
if (err) {
|
|
// Logger.error(`${CommonConstants.RDB_TAG}`, 'gerRdbStore() failed, err: ' + err);
|
|
return;
|
|
}
|
|
this.rdbStore = rdb;
|
|
this.rdbStore.executeSql(this.sqlCreateTable);
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'getRdbStore() finished.');
|
|
callback();
|
|
});
|
|
}
|
|
deleteTableData(callback,name){
|
|
if (!callback || typeof callback == 'undefined' || callback == undefined) {
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'getRdbStore() has no callback!');
|
|
return;
|
|
}
|
|
if (this.rdbStore != null) {
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'The rdbStore exists.');
|
|
callback();
|
|
return
|
|
}
|
|
let context = getContext(this);
|
|
const map = {
|
|
'MA_MARKRULE': MA_MARKRULE,
|
|
'MA_SYSTEMPARM': MA_SYSTEMPARM,
|
|
'MA_MAP_COLLECT': MA_MAP_COLLECT,
|
|
'MA_MAP_COLLECT_SHAPE': MA_MAP_COLLECT_SHAPE,
|
|
'MA_MAP_ITEMCLASS': MA_MAP_ITEMCLASS,
|
|
'MA_MAP_POINT': MA_MAP_POINT,
|
|
'MA_MAP_POINT_ITEM': MA_MAP_POINT_ITEM,
|
|
'MA_MAP_ROAD': MA_MAP_ROAD,
|
|
'MA_MAP_ROAD_LANE': MA_MAP_ROAD_LANE,
|
|
'MA_MAP_SUBITEM': MA_MAP_SUBITEM,
|
|
'MA_SYSSET': MA_SYSSET,
|
|
'ES_CARINFO': ES_CARINFO,
|
|
'ES_EXAMPOINTDETAIL': ES_EXAMPOINTDETAIL,
|
|
'MA_MARKRULESET': MA_MARKRULESET,
|
|
'MA_CDSBINFO': MA_CDSBINFO,
|
|
'MA_ITEMINFO': MA_ITEMINFO,
|
|
'MA_T_CARPARMSET': MA_T_CARPARMSET,
|
|
'ES_CAR_VIDEO_PARAMETER': ES_CAR_VIDEO_PARAMETER,
|
|
'CommonConstants':CommonConstants,
|
|
'USER':USER,
|
|
'IpConfigTable':IpConfigTable,
|
|
'DeviceInfoTable':DeviceInfoTable
|
|
}
|
|
// 获取context后调用deleteRdbStore
|
|
data_rdb.deleteRdbStore(context,map[this.tableName].STORE_CONFIG.name, function (err) {
|
|
if (err) {
|
|
callback(false)
|
|
console.info("Delete RdbStore failed, err: " + err)
|
|
return
|
|
}
|
|
callback(true)
|
|
console.log("Delete RdbStore successfully.")
|
|
})
|
|
}
|
|
insertData(data, callback) {
|
|
if (!callback || typeof callback == 'undefined' || callback == undefined) {
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'insertData() has no callback!');
|
|
return;
|
|
}
|
|
let resFlag: boolean = false;
|
|
const valueBucket = data;
|
|
this.rdbStore.insert(this.tableName, valueBucket, function (err, ret) {
|
|
if (err) {
|
|
// Logger.error(`${CommonConstants.RDB_TAG}`, 'insertData() failed, err: ' + err);
|
|
callback(resFlag);
|
|
return;
|
|
}
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'insertData() finished: ' + ret);
|
|
callback(ret);
|
|
});
|
|
}
|
|
sqlOperate(str,name,callback) {
|
|
this.rdbStore.executeSql(str,(err)=>{
|
|
if (err) {
|
|
console.info("ExecuteSql failed, err: "+name + JSON.stringify(err))
|
|
return
|
|
}
|
|
console.log('ExecuteSqlsuccess')
|
|
callback('ExecuteSqlsuccess')
|
|
})
|
|
|
|
}
|
|
|
|
deleteData(predicates, callback) {
|
|
if (!callback || typeof callback == 'undefined' || callback == undefined) {
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'deleteData() has no callback!');
|
|
return;
|
|
}
|
|
let resFlag: boolean = false;
|
|
this.rdbStore.delete(predicates, function (err, ret) {
|
|
if (err) {
|
|
// Logger.error(`${CommonConstants.RDB_TAG}`, 'deleteData() failed, err: ' + err);
|
|
callback(resFlag);
|
|
return;
|
|
}
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'deleteData() finished: ' + ret);
|
|
callback(!resFlag);
|
|
});
|
|
}
|
|
|
|
updateData(predicates, data, callback) {
|
|
if (!callback || typeof callback == 'undefined' || callback == undefined) {
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'updateDate() has no callback!');
|
|
return;
|
|
}
|
|
let resFlag: boolean = false;
|
|
const valueBucket = data;
|
|
this.rdbStore.update(valueBucket, predicates, function (err, ret) {
|
|
if (err) {
|
|
// Logger.error(`${CommonConstants.RDB_TAG}`, 'updateData() failed, err: ' + err);
|
|
callback(resFlag);
|
|
return;
|
|
}
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'updateData() finished: ' + ret);
|
|
callback(!resFlag);
|
|
});
|
|
}
|
|
|
|
query(predicates, callback) {
|
|
if (!callback || typeof callback == 'undefined' || callback == undefined) {
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'query() has no callback!');
|
|
return;
|
|
}
|
|
this.rdbStore.query(predicates, this.columns, function (err, resultSet) {
|
|
if (err) {
|
|
// Logger.error(`${CommonConstants.RDB_TAG}`, 'query() failed, err: ' + err);
|
|
return;
|
|
}
|
|
// Logger.verbose(`${CommonConstants.RDB_TAG}`, 'query() finished.');
|
|
callback(resultSet);
|
|
resultSet.close();
|
|
});
|
|
}
|
|
} |