优化热键模式
diff --git a/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt b/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
index c754d51..7febabd 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
@@ -379,8 +379,9 @@
hotkeyPayList.clear()
SPApplication.getInstance().getPos().getHotkeyPay()?.forEach {
hotkeyPayMap[it.key] = it.amount
- hotkeyPayList.add(String.format("%d-%.02f", it.key, it.amount / 100.0f))
+ hotkeyPayList.add(String.format("按键%d - %.02f元", it.key, it.amount / 100.0f))
}
+ AuxScreenController.getInstance().refreshContent(hotkeyPayList)
}
mode.paraval == PayMode.NORMAL.desc -> {
presenter.setFixMode(false)
diff --git a/app/src/main/java/com/supwisdom/activities/consumeMode/ConsumeModeActivity.kt b/app/src/main/java/com/supwisdom/activities/consumeMode/ConsumeModeActivity.kt
index a31c8ef..3daaf82 100644
--- a/app/src/main/java/com/supwisdom/activities/consumeMode/ConsumeModeActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/consumeMode/ConsumeModeActivity.kt
@@ -53,9 +53,16 @@
val item = View.inflate(this, R.layout.item_hotkey_pay, null)
item.findViewById<TextView>(R.id.tv_hot_del).setOnClickListener {
llHotList.removeView(item)
+ for (loop in 0 until llHotList.childCount) {
+ val item = llHotList.getChildAt(loop)
+ val key = item.findViewById<TextView>(R.id.tv_hot_key)
+ key.text = "${(loop + 1)}"
+ }
}
val key = item.findViewById<TextView>(R.id.tv_hot_key)
key.text = "${llHotList.childCount + 1}"
+ val amt = item.findViewById<TextView>(R.id.tv_hot_amount)
+ amt.text = String.format("%.02f", it.amount / 100.0f)
llHotList.addView(item)
}
}
@@ -299,7 +306,7 @@
}
private fun screenShowAmt() {
- AuxScreenController.getInstance().refreshTitle("消费模式设置 F1-热键")
+ AuxScreenController.getInstance().refreshTitle("消费模式设置 F1-热键模式")
AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(
Arrays.asList<String>(
diff --git a/app/src/main/java/com/supwisdom/activities/load/LoadPresenter.kt b/app/src/main/java/com/supwisdom/activities/load/LoadPresenter.kt
index f6d0578..05a0365 100644
--- a/app/src/main/java/com/supwisdom/activities/load/LoadPresenter.kt
+++ b/app/src/main/java/com/supwisdom/activities/load/LoadPresenter.kt
@@ -29,7 +29,7 @@
private val LOAD_SUCCESS = 1
private val JUMP_TO_UNREGISTER = 2
private val LOAD_PROGRESS = 3
- private val LOAD_DONE = 3
+ private val LOAD_DONE = 4
private var hasInit: Boolean = false
@Volatile
diff --git a/app/src/main/java/com/supwisdom/bean/HeartBeatRetBean.kt b/app/src/main/java/com/supwisdom/bean/HeartBeatRetBean.kt
index 2c68992..da5a8f2 100644
--- a/app/src/main/java/com/supwisdom/bean/HeartBeatRetBean.kt
+++ b/app/src/main/java/com/supwisdom/bean/HeartBeatRetBean.kt
@@ -9,4 +9,5 @@
var paragroupid: Int = 0
var paraverno: Int = 0
var cardverno: String? = null
+ var whitelistid: Int = 0
}
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/db/BeanPropEnum.kt b/app/src/main/java/com/supwisdom/db/BeanPropEnum.kt
index f94037d..1c90e59 100644
--- a/app/src/main/java/com/supwisdom/db/BeanPropEnum.kt
+++ b/app/src/main/java/com/supwisdom/db/BeanPropEnum.kt
@@ -42,6 +42,7 @@
offlineseqno,
paraverno,
paragroupid,
+ whitelistid,
cardverno,
jwt,
jwtexpire,
diff --git a/app/src/main/java/com/supwisdom/db/DBParaHelper.kt b/app/src/main/java/com/supwisdom/db/DBParaHelper.kt
index c8e37aa..4862731 100644
--- a/app/src/main/java/com/supwisdom/db/DBParaHelper.kt
+++ b/app/src/main/java/com/supwisdom/db/DBParaHelper.kt
@@ -13,7 +13,7 @@
class DBParaHelper private constructor(context: Context) : SQLiteOpenHelper(context, DB_NAME, null, VERSION) {
companion object {
private val DB_NAME = "db_para"
- private val VERSION = 3
+ private val VERSION = 1
val TABLE_NAME_SYSPARA = "tb_syspara"
val TABLE_NAME_DYNAMICPARA = "tb_dynamicpara"
@@ -67,6 +67,7 @@
+ BeanPropEnum.DynamicPara.offlineseqno + " integer, "
+ BeanPropEnum.DynamicPara.paraverno + " integer, "
+ BeanPropEnum.DynamicPara.paragroupid + " integer, "
+ + BeanPropEnum.DynamicPara.whitelistid + " integer, "
+ BeanPropEnum.DynamicPara.cardverno + " varchar(32),"
+ BeanPropEnum.DynamicPara.jwt + " varchar(254),"
+ BeanPropEnum.DynamicPara.jwtexpire + " varchar(16),"
@@ -103,10 +104,7 @@
override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
if (oldVersion < newVersion) {
if (oldVersion < 2 && newVersion >= 2) {
- db.execSQL("alter table $TABLE_NAME_SYSPARA add column ${BeanPropEnum.Syspara.maxDayOfflineAmt} integer")
- }
- if (oldVersion < 3 && newVersion >= 3) {
- db.execSQL(CREATE_TABLE_NAME_HOTKEY)
+// db.execSQL("alter table $TABLE_NAME_SYSPARA add column ${BeanPropEnum.Syspara.maxDayOfflineAmt} integer")
}
}
}
diff --git a/app/src/main/java/com/supwisdom/db/DynamicParaDao.kt b/app/src/main/java/com/supwisdom/db/DynamicParaDao.kt
index 5c6b0fb..a0fc815 100644
--- a/app/src/main/java/com/supwisdom/db/DynamicParaDao.kt
+++ b/app/src/main/java/com/supwisdom/db/DynamicParaDao.kt
@@ -91,6 +91,7 @@
record.offlineseqno = cursor.getInt(cursor.getColumnIndex(BeanPropEnum.DynamicPara.offlineseqno.toString()))
record.paraverno = cursor.getInt(cursor.getColumnIndex(BeanPropEnum.DynamicPara.paraverno.toString()))
record.paragroupid = cursor.getInt(cursor.getColumnIndex(BeanPropEnum.DynamicPara.paragroupid.toString()))
+ record.whitelistid = cursor.getInt(cursor.getColumnIndex(BeanPropEnum.DynamicPara.whitelistid.toString()))
record.cardverno = cursor.getString(cursor.getColumnIndex(BeanPropEnum.DynamicPara.cardverno.toString()))
record.jwt = cursor.getString(cursor.getColumnIndex(BeanPropEnum.DynamicPara.jwt.toString()))
record.jwtExpire = cursor.getString(cursor.getColumnIndex(BeanPropEnum.DynamicPara.jwtexpire.toString()))
@@ -110,6 +111,7 @@
values.put(BeanPropEnum.DynamicPara.offlineseqno.toString(), record.offlineseqno)
values.put(BeanPropEnum.DynamicPara.paraverno.toString(), record.paraverno)
values.put(BeanPropEnum.DynamicPara.paragroupid.toString(), record.paragroupid)
+ values.put(BeanPropEnum.DynamicPara.whitelistid.toString(), record.whitelistid)
values.put(BeanPropEnum.DynamicPara.cardverno.toString(), record.cardverno)
values.put(BeanPropEnum.DynamicPara.jwt.toString(), record.jwt)
values.put(BeanPropEnum.DynamicPara.token.toString(), record.token)
diff --git a/app/src/main/java/com/supwisdom/entity/DynamicParaRecord.kt b/app/src/main/java/com/supwisdom/entity/DynamicParaRecord.kt
index bee1dbe..9780e62 100644
--- a/app/src/main/java/com/supwisdom/entity/DynamicParaRecord.kt
+++ b/app/src/main/java/com/supwisdom/entity/DynamicParaRecord.kt
@@ -12,6 +12,7 @@
var shopname: String? = null //商户名
var paraverno: Int = 0//参数版本
var paragroupid: Int = 0//参数组id
+ var whitelistid: Int = 0 //白名单组id
var onlineseqno: Int = 0 //后台最大联机流水号
var offlineseqno: Int = 0 //后台最大离线流水号
var cardverno: String? = null // 黑名单版本号 12byte
diff --git a/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt b/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt
index 75a91ab..e523f80 100644
--- a/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt
+++ b/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt
@@ -27,7 +27,7 @@
@Throws(HeartBeatError::class)
override fun heartBeat() {
val dyRecord = pos.getDynamicPara()
- val cardverno = dyRecord!!.cardverno ?: "0"
+ var cardverno = dyRecord!!.cardverno ?: "0"
val params = WebParams()
params.setParameter("devphyid", pos.getConfigPara()!!.devphyid)
.setParameter("termdate", DateUtil.getNowDateNoFormat())
@@ -48,13 +48,6 @@
if (retBean.retcode != PublicDef.SUCCESS) {
throw HeartBeatError(retBean.getErrorMsg())
}
- if (cardverno < retBean.cardverno!!) {
- try {
- downloadWhitelist(retBean.cardverno!!)
- } catch (ex: WhiteListError) {
- throw HeartBeatError(ex.message ?: "null")
- }
- }
if (dyRecord.paraverno != retBean.paraverno) {
try {
downloadSyspara(retBean.paragroupid, retBean.paraverno)
@@ -63,6 +56,27 @@
}
}
/**
+ * 白名单组ID变化清空本地白名单重新下载
+ */
+ if (dyRecord.whitelistid != retBean.whitelistid) {
+ if (!pos.clearWhiteList()) {
+ throw HeartBeatError("清空白名单失败")
+ }
+ val dyRecord = pos.getDynamicPara()
+ dyRecord!!.whitelistid = retBean.whitelistid
+ if (!pos.replaceDynamicPara(dyRecord)) {
+ throw HeartBeatError("保存参数失败")
+ }
+ cardverno = "0"
+ }
+ if (cardverno < retBean.cardverno!!) {
+ try {
+ downloadWhitelist(retBean.cardverno!!)
+ } catch (ex: WhiteListError) {
+ throw HeartBeatError(ex.message ?: "null")
+ }
+ }
+ /**
* 时钟校准
*/
NtpClient().startCalibrateTime(retBean.systime!!)
@@ -127,6 +141,12 @@
if (!pos.replaceSysPara(record)) {
throw SysParaError("保存参数失败")
}
+ val dyRecord = pos.getDynamicPara()
+ dyRecord!!.paraverno = paraverno
+ dyRecord.paragroupid = paragroupid
+ if (!pos.replaceDynamicPara(dyRecord)) {
+ throw SysParaError("保存参数失败")
+ }
}
@Throws(WhiteListError::class)