/* * 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; constructor(tableName: string, sqlCreateTable: string, columns: Array) { 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) { callback(false) console.info("ExecuteSql failed, err: "+name + JSON.stringify(err)) return } console.log('ExecuteSqlsuccess') callback(true) }) } 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(); }); } }