| package com.supwisdom.db |
| |
| import android.content.Context |
| import android.database.sqlite.SQLiteDatabase |
| import android.database.sqlite.SQLiteOpenHelper |
| import java.util.concurrent.locks.Lock |
| import java.util.concurrent.locks.ReentrantLock |
| |
| /** |
| ** create by zzq on 2019/7/24 |
| ** @desc |
| **/ |
| class DBTransdtlHelper private constructor(context: Context) : SQLiteOpenHelper(context, DB_NAME, null, VERSION) { |
| companion object { |
| private val DB_NAME = "db_transdtl" |
| private val VERSION = 1 |
| private var instance: DBTransdtlHelper? = null |
| |
| const val TABLE_NAME_CONFIGPARA = "tb_configpara" |
| const val TABLE_NAME_DTL_ONLINE = "tb_dtl_online" |
| const val TABLE_NAME_DTL_OFFLINE = "tb_dtl_offline" |
| |
| fun getInstance(context: Context): DBTransdtlHelper { |
| if (null == instance) { |
| synchronized(DBTransdtlHelper::class.java) { |
| if (null == instance) { |
| instance = DBTransdtlHelper(context) |
| } |
| } |
| } |
| return instance!! |
| } |
| } |
| |
| /** |
| * SQL for create table |
| */ |
| private val CREATE_TABLE_NAME_CONFIGPARA = ("create table IF NOT EXISTS " |
| + TABLE_NAME_CONFIGPARA + " ( " |
| + BeanPropEnum.ConfigPara.id + " long primary key, " |
| + BeanPropEnum.ConfigPara.mode + " integer, " |
| + BeanPropEnum.ConfigPara.devphyid + " char(8), " |
| + BeanPropEnum.ConfigPara.psamno + " char(12), " |
| + BeanPropEnum.ConfigPara.epayIP + " varchar(128), " |
| + BeanPropEnum.ConfigPara.epayPort + " integer, " |
| + BeanPropEnum.ConfigPara.epayUri + " varchar(128), " |
| + BeanPropEnum.ConfigPara.managePwd + " char(6)," |
| + BeanPropEnum.ConfigPara.initOK + " integer ) ") |
| private val DROP_TABLE_NAME_CONFIGPARA = "DROP TABLE IF EXISTS $TABLE_NAME_CONFIGPARA" |
| private val CRAETE_TABLE_NAME_DTL_ONLINE = ("create table IF NOT EXISTS " |
| + TABLE_NAME_DTL_ONLINE + " ( " |
| + BeanPropEnum.TransdtlOnline.devphyid + " char(8)," |
| + BeanPropEnum.TransdtlOnline.transdate + " char(8)," |
| + BeanPropEnum.TransdtlOnline.transtime + " char(6)," |
| + BeanPropEnum.TransdtlOnline.devseqno + " long primary key," |
| + BeanPropEnum.TransdtlOnline.cardno + " varchar(32)," |
| + BeanPropEnum.TransdtlOnline.cardphyid + " varchar(32)," |
| + BeanPropEnum.TransdtlOnline.qrcode + " varchar(254)," |
| + BeanPropEnum.TransdtlOnline.transtype + " varchar(8)," |
| + BeanPropEnum.TransdtlOnline.payamt + " integer," |
| + BeanPropEnum.TransdtlOnline.extraamt + " integer," |
| + BeanPropEnum.TransdtlOnline.balance + " integer," |
| + BeanPropEnum.TransdtlOnline.managefeetype + " varchar(10)," |
| + BeanPropEnum.TransdtlOnline.username + " varchar(32)," |
| + BeanPropEnum.TransdtlOnline.billno + " varchar(32)," |
| + BeanPropEnum.TransdtlOnline.reversalflag + " varchar(8)," |
| + BeanPropEnum.TransdtlOnline.reversalbillno + " varchar(32)," |
| + BeanPropEnum.TransdtlOnline.status + " varchar(8)," |
| + BeanPropEnum.TransdtlOnline.upflag + " integer )") |
| private val CRAETE_TABLE_NAME_DTL_OFFLINE = ("create table IF NOT EXISTS " |
| + TABLE_NAME_DTL_OFFLINE + " ( " |
| + BeanPropEnum.TransdtlOffline.devphyid + " char(8)," |
| + BeanPropEnum.TransdtlOffline.transdate + " char(8)," |
| + BeanPropEnum.TransdtlOffline.transtime + " char(6)," |
| + BeanPropEnum.TransdtlOffline.devseqno + " long primary key," |
| + BeanPropEnum.TransdtlOffline.cardno + " varchar(32)," |
| + BeanPropEnum.TransdtlOffline.cardphyid + " varchar(32)," |
| + BeanPropEnum.TransdtlOffline.payamt + " integer," |
| + BeanPropEnum.TransdtlOffline.extraamt + " integer," |
| + BeanPropEnum.TransdtlOffline.reversalflag + " varchar(8)," |
| + BeanPropEnum.TransdtlOffline.reversalseqno + " integer," |
| + BeanPropEnum.TransdtlOffline.reversaltransdate + " char(8)," |
| + BeanPropEnum.TransdtlOffline.reversaltranstime + " char(6)," |
| + BeanPropEnum.TransdtlOffline.status + " varchar(8)," |
| + BeanPropEnum.TransdtlOffline.upflag + " integer )") |
| |
| private val lock = ReentrantLock() |
| fun getLock(): Lock { |
| return lock |
| } |
| |
| override fun onCreate(db: SQLiteDatabase) { |
| db.execSQL(CREATE_TABLE_NAME_CONFIGPARA) |
| db.execSQL(CRAETE_TABLE_NAME_DTL_ONLINE) |
| db.execSQL(CRAETE_TABLE_NAME_DTL_OFFLINE) |
| } |
| |
| override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) { |
| if (oldVersion < newVersion) { |
| } |
| } |
| } |