init
diff --git a/app/build.gradle b/app/build.gradle
index 7e3ad3d..e9986f9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -57,7 +57,8 @@
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
- compile 'com.alibaba:fastjson:1.1.70.android'
+// compile 'com.alibaba:fastjson:1.1.70.android'
+ compile 'com.google.code.gson:gson:2.8.5'
compile 'com.nineoldandroids:parent:2.4.0'
compile 'com.squareup.okhttp3:okhttp:3.10.0'
compile 'net.java.dev.jna:jna:4.5.0@aar'
diff --git a/app/src/main/java/com/supwisdom/activities/YktSession.kt b/app/src/main/java/com/supwisdom/activities/YktSession.kt
index 5119798..0d01687 100644
--- a/app/src/main/java/com/supwisdom/activities/YktSession.kt
+++ b/app/src/main/java/com/supwisdom/activities/YktSession.kt
@@ -58,9 +58,6 @@
val temp = signdata.replace("null".toRegex(), "")
val mysign = calcSignForCardPay(temp, timestamp)
params.setParameter("sign", mysign)
-// .setParameter("sign_method", PublicDef.signMethod)
-// .setParameter("term_id", mSession.getTermId())
-// .setParameter("app_id", mSession.getAppId())
.setParameter("timestamp", timestamp)
val url = mSession!!.getEpayurl() + uri
return NetworkHandler.getInstance().post(url, params)
@@ -71,9 +68,6 @@
val temp = signdata.replace("null".toRegex(), "")
val mysign = calcSignForCardPay(temp, timestamp)
params.setParameter("sign", mysign)
-// .setParameter("sign_method", PublicDef.signMethod)
-// .setParameter("term_id", mSession.getTermId())
-// .setParameter("app_id", mSession.getAppId())
.setParameter("timestamp", timestamp)
val url = mSession!!.getEpayurl() + uri
return NetworkHandler.getInstance().longPost(url, params)
diff --git a/app/src/main/java/com/supwisdom/activities/cardlib/CardlibActivity.kt b/app/src/main/java/com/supwisdom/activities/cardlib/CardlibActivity.kt
index fc520a8..f64c8cb 100644
--- a/app/src/main/java/com/supwisdom/activities/cardlib/CardlibActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/cardlib/CardlibActivity.kt
@@ -79,7 +79,7 @@
private fun refresh() {
AuxScreenController.getInstance().refreshTitle("卡库初始化")
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate())
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(listOf("加载硬件驱动", "请稍等..."))
}
@@ -95,7 +95,7 @@
vResult!!.text = msg
vResult!!.visibility = View.VISIBLE
AuxScreenController.getInstance().refreshTitle("卡库初始化")
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate())
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(listOf("请联系管理员", "加载驱动失败", "原因:", msg))
}
isLoading = false
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 59a7439..5bc4f48 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
@@ -230,7 +230,7 @@
vShopname.text = shopname
refreshLinkStatus(SPApplication.getInstance().isOnline())
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate().substring(0, 16))
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime().substring(0, 16))
AuxScreenController.getInstance().refreshContent(Arrays.asList(" 欢迎光临!", " 请刷卡..."))
val record = SPApplication.getInstance().getPos().getControlPara(PublicDef.CONTROL_FIXAMT)
diff --git a/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt b/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt
index cdef86f..96e3032 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt
@@ -19,6 +19,7 @@
import com.supwisdom.utils.GsonUtil
import com.supwisdom.utils.PublicDef
import org.apache.http.HttpStatus
+import java.lang.Exception
/**
** create by zzq on 2019/7/25
@@ -82,6 +83,7 @@
while (!isExist) {
if (iConsumeView.isBackRuning()) {
CommonUtil.doSleep(1000)
+ doClear()
continue
}
CommonUtil.doSleep(100)
@@ -126,6 +128,9 @@
} catch (ex: CardNotFoundError) {
ex.printStackTrace()
doClear()
+ } catch (ex: Exception) {
+ ex.printStackTrace()
+ doClear()
}
}
}
@@ -343,7 +348,7 @@
curtime - lastShowTime > 1000
) {
lastShowTime = curtime
- sendMsg(PublicDef.MSG_USER_INFO_CLEAR, DateUtil.getNowDate())
+ sendMsg(PublicDef.MSG_USER_INFO_CLEAR, DateUtil.getNowDateTime())
showLinkStatus()
}
}
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 2ad9a6f..d7f5e32 100644
--- a/app/src/main/java/com/supwisdom/activities/consumeMode/ConsumeModeActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/consumeMode/ConsumeModeActivity.kt
@@ -140,7 +140,7 @@
private fun refreshToCheckPasswd() {
AuxScreenController.getInstance().refreshTitle("消费模式设置")
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate())
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(Arrays.asList<String>("请输入商户密码:", " "))
}
diff --git a/app/src/main/java/com/supwisdom/activities/init/InitActivity.kt b/app/src/main/java/com/supwisdom/activities/init/InitActivity.kt
index 452db49..1d773f5 100644
--- a/app/src/main/java/com/supwisdom/activities/init/InitActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/init/InitActivity.kt
@@ -149,7 +149,7 @@
private fun refresh() {
AuxScreenController.getInstance().refreshTitle("通讯参数设置")
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate())
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(Arrays.asList("设备第一次使用", "请联系管理员", "在大屏配置参数"))
}
diff --git a/app/src/main/java/com/supwisdom/activities/init/InitPresenter.kt b/app/src/main/java/com/supwisdom/activities/init/InitPresenter.kt
index 13d527e..0b46818 100644
--- a/app/src/main/java/com/supwisdom/activities/init/InitPresenter.kt
+++ b/app/src/main/java/com/supwisdom/activities/init/InitPresenter.kt
@@ -60,8 +60,8 @@
val dyRecord = DynamicParaRecord()
dyRecord.cardverno = "000000000000"
-// dyRecord.setAppId(PublicDef.APP_ID)
-// dyRecord.setAppSecret(PublicDef.APP_SECRET)
+ dyRecord.appid = PublicDef.APP_ID
+ dyRecord.appsecret = PublicDef.APP_SECRET
pos.replaceDynamicPara(dyRecord)
YktSession.getInstance().setWebAPISession(
diff --git a/app/src/main/java/com/supwisdom/activities/load/LoadActivity.kt b/app/src/main/java/com/supwisdom/activities/load/LoadActivity.kt
index b05cea5..1e71cf2 100644
--- a/app/src/main/java/com/supwisdom/activities/load/LoadActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/load/LoadActivity.kt
@@ -42,7 +42,7 @@
procontent.setLength(0)
auxList.clear()
AuxScreenController.getInstance().refreshTitle("设备参数加载")
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate())
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(auxList)
}
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 1bcbc99..f6d0578 100644
--- a/app/src/main/java/com/supwisdom/activities/load/LoadPresenter.kt
+++ b/app/src/main/java/com/supwisdom/activities/load/LoadPresenter.kt
@@ -81,7 +81,6 @@
}
// 设置通讯参数
-// YktSession.getInstance().setSessionKey(pos.getDynamicPara().getSessionKey())
val apiInterface = EpayApiImpl()
try {
sendMessage(LOAD_PROGRESS, "加载系统参数...")
diff --git a/app/src/main/java/com/supwisdom/activities/manage/ManageActivity.kt b/app/src/main/java/com/supwisdom/activities/manage/ManageActivity.kt
index f5749c1..ec4b7be 100644
--- a/app/src/main/java/com/supwisdom/activities/manage/ManageActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/manage/ManageActivity.kt
@@ -124,7 +124,7 @@
flag = false
isRunning = false
AuxScreenController.getInstance().refreshTitle("设备管理界面")
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate())
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(
Arrays.asList(
getString(R.string.consume_menu_shop_passwd),
diff --git a/app/src/main/java/com/supwisdom/activities/menu/MenuActivity.kt b/app/src/main/java/com/supwisdom/activities/menu/MenuActivity.kt
index 22daf3a..4c92368 100644
--- a/app/src/main/java/com/supwisdom/activities/menu/MenuActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/menu/MenuActivity.kt
@@ -138,7 +138,7 @@
vReverse.visibility = View.GONE
}
AuxScreenController.getInstance().refreshTitle("设备管理界面")
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate())
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(secList)
}
diff --git a/app/src/main/java/com/supwisdom/activities/passwd/PasswdActivity.kt b/app/src/main/java/com/supwisdom/activities/passwd/PasswdActivity.kt
index f22e796..a288b3f 100644
--- a/app/src/main/java/com/supwisdom/activities/passwd/PasswdActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/passwd/PasswdActivity.kt
@@ -138,7 +138,7 @@
tmpPwd = ""
passwdHint = "输入原密码"
AuxScreenController.getInstance().refreshTitle("商户密码修改")
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate())
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(Arrays.asList<String>(passwdHint, " "))
}
diff --git a/app/src/main/java/com/supwisdom/activities/splash/SplashActivity.kt b/app/src/main/java/com/supwisdom/activities/splash/SplashActivity.kt
index 6e53f15..fd80a3a 100644
--- a/app/src/main/java/com/supwisdom/activities/splash/SplashActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/splash/SplashActivity.kt
@@ -39,7 +39,7 @@
private fun refresh() {
AuxScreenController.getInstance().refreshTitle("新开普智能设备")
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate())
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(listOf<String>("欢迎使用智能设备"))
}
diff --git a/app/src/main/java/com/supwisdom/activities/unregister/UnregisterActivity.kt b/app/src/main/java/com/supwisdom/activities/unregister/UnregisterActivity.kt
index 9ce56b4..14e8c6f 100644
--- a/app/src/main/java/com/supwisdom/activities/unregister/UnregisterActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/unregister/UnregisterActivity.kt
@@ -49,7 +49,7 @@
private fun refresh(errmsg: String) {
AuxScreenController.getInstance().refreshTitle("设备注册状态")
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate())
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(listOf("设备未注册", errmsg))
}
diff --git a/app/src/main/java/com/supwisdom/activities/upgrade/UpgradeActivity.kt b/app/src/main/java/com/supwisdom/activities/upgrade/UpgradeActivity.kt
index 5e7b4c8..0640dc4 100644
--- a/app/src/main/java/com/supwisdom/activities/upgrade/UpgradeActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/upgrade/UpgradeActivity.kt
@@ -88,7 +88,7 @@
private fun refresh() {
isUpgrading = false
AuxScreenController.getInstance().refreshTitle("应用在线升级")
- AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDate())
+ AuxScreenController.getInstance().refreshBottom(DateUtil.getNowDateTime())
AuxScreenController.getInstance().refreshContent(
Arrays.asList(
"当前版本>>", CommonUtil.getVersionName(applicationContext),
diff --git a/app/src/main/java/com/supwisdom/bean/WhiteListRetBean.kt b/app/src/main/java/com/supwisdom/bean/WhiteListRetBean.kt
index 3ce0ec9..d0a4d63 100644
--- a/app/src/main/java/com/supwisdom/bean/WhiteListRetBean.kt
+++ b/app/src/main/java/com/supwisdom/bean/WhiteListRetBean.kt
@@ -6,6 +6,6 @@
**/
class WhiteListRetBean : BaseResp() {
var cardverno: String? = null
- var maxcount: Int = 0
+ var count: Int = 0
var whitelist: List<WhiteListItemBean>? = null
}
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/epaycard/CardBaseInfoBean.kt b/app/src/main/java/com/supwisdom/epaycard/CardBaseInfoBean.kt
index 855b57c..c43d6d8 100644
--- a/app/src/main/java/com/supwisdom/epaycard/CardBaseInfoBean.kt
+++ b/app/src/main/java/com/supwisdom/epaycard/CardBaseInfoBean.kt
@@ -9,7 +9,7 @@
class CardBaseInfoBean constructor(val data: ByteArray) {
val cardNo: String
get() {
- return data.copyOfRange(31, 42).decodeBCD()
+ return data.copyOfRange(39, 42).decodeBCD()
}
val idCard: String
get() {
diff --git a/app/src/main/java/com/supwisdom/epaycard/EpayCardlib.kt b/app/src/main/java/com/supwisdom/epaycard/EpayCardlib.kt
index 65c313d..86f0b47 100644
--- a/app/src/main/java/com/supwisdom/epaycard/EpayCardlib.kt
+++ b/app/src/main/java/com/supwisdom/epaycard/EpayCardlib.kt
@@ -40,7 +40,7 @@
}
private fun readBaseInfo(): CardBaseInfoBean {
- val res = reader.cpuApdu("00B09500".decodeHex())
+ val res = reader.cpuApdu("00B0950047".decodeHex())
if (!res.isOK()) {
throw CardlibValueError("读基本信息错误:${res.swToString()}")
}
diff --git a/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt b/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt
index 7ce9650..bf93d9b 100644
--- a/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt
+++ b/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt
@@ -1,5 +1,6 @@
package com.supwisdom.okhttp
+import android.text.TextUtils
import okhttp3.*
import java.io.IOException
import java.io.UnsupportedEncodingException
@@ -35,8 +36,8 @@
private val JSON = MediaType.parse("application/json; charset=utf-8")
private val FORM_ENCODE = MediaType.parse("application/x-www-form-urlencoded;charset=utf-8")
private var commTime = 2
- private var clientId = "clientId"
- private var jwt = "jwt"
+ private var clientId: String? = null
+ private var jwt: String? = null
init {
client = OkHttpClient()
@@ -75,12 +76,16 @@
}
}
- fun setClientId(clientId: String) {
+ fun setClientId(clientId: String?) {
this.clientId = clientId
}
- fun setJwt(jwt: String) {
- this.jwt = jwt
+ fun setJwt(jwt: String?) {
+ if (TextUtils.isEmpty(jwt)) {
+ this.jwt = jwt
+ } else {
+ this.jwt = "Bearer $jwt"
+ }
}
private class TrustAllCerts : X509TrustManager {
@@ -115,27 +120,30 @@
return ssfFactory
}
+ private fun addExtentHeader(request: Request.Builder): Request.Builder {
+ if (!TextUtils.isEmpty(clientId)) {
+ request.addHeader("X-TENANT-ID", clientId)
+ }
+ if (!TextUtils.isEmpty(jwt)) {
+ request.addHeader("Authorization", jwt)
+ }
+ return request
+ }
fun get(url: String, params: WebParams?): TransResp? {
val request = Request.Builder()
.url(geturl(url, params))
.addHeader("Accept", "application/json; q=0.5")
- .addHeader("X-TENANT-ID", clientId)
- .addHeader("Authorization", "Bearer $jwt")
.addHeader("Connection", "close")
- .build()
- return getTransResp(request)
+ return getTransResp(addExtentHeader(request).build())
}
fun get(url: String, params: WebParams, callback: com.supwisdom.okhttp.ICallBackok<Any?>) {
val request = Request.Builder()
.url(geturl(url, params))
.addHeader("Accept", "application/json; q=0.5")
- .addHeader("X-TENANT-ID", clientId)
- .addHeader("Authorization", "Bearer $jwt")
.addHeader("Connection", "close")
- .build()
- client!!.newCall(request).enqueue(object : Callback {
+ client!!.newCall(addExtentHeader(request).build()).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
callback.callback(null)
}
@@ -165,12 +173,9 @@
val request = Request.Builder()
.url(url)
.addHeader("Accept", "application/json; q=0.5")
- .addHeader("X-TENANT-ID", clientId)
- .addHeader("Authorization", "Bearer $jwt")
.addHeader("Connection", "close")
.post(builder.build())
- .build()
- return getTransResp(request)
+ return getTransResp(addExtentHeader(request).build())
}
fun longPost(url: String, params: WebParams): TransResp? {
@@ -181,12 +186,9 @@
val request = Request.Builder()
.url(url)
.addHeader("Accept", "application/json; q=0.5")
- .addHeader("X-TENANT-ID", clientId)
- .addHeader("Authorization", "Bearer $jwt")
.addHeader("Connection", "close")
.post(builder.build())
- .build()
- return getLongTransResp(request)
+ return getLongTransResp(addExtentHeader(request).build())
}
fun post(url: String, json: String): TransResp? {
@@ -194,12 +196,9 @@
val request = Request.Builder()
.url(url)
.addHeader("Accept", "application/json; q=0.5")
- .addHeader("X-TENANT-ID", clientId)
- .addHeader("Authorization", "Bearer $jwt")
.addHeader("Connection", "close")
.post(body)
- .build()
- return getTransResp(request)
+ return getTransResp(addExtentHeader(request).build())
}
fun post(url: String, json: String, callback: com.supwisdom.okhttp.ICallBackok<Any?>) {
@@ -207,12 +206,9 @@
val request = Request.Builder()
.url(url)
.addHeader("Accept", "application/json; q=0.5")
- .addHeader("X-TENANT-ID", clientId)
- .addHeader("Authorization", "Bearer $jwt")
.addHeader("Connection", "close")
.post(body)
- .build()
- client!!.newCall(request).enqueue(object : Callback {
+ client!!.newCall(addExtentHeader(request).build()).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
callback.callback(null)
}
diff --git a/app/src/main/java/com/supwisdom/okhttp/WebParams.kt b/app/src/main/java/com/supwisdom/okhttp/WebParams.kt
index 8a6beb7..559123b 100644
--- a/app/src/main/java/com/supwisdom/okhttp/WebParams.kt
+++ b/app/src/main/java/com/supwisdom/okhttp/WebParams.kt
@@ -16,12 +16,12 @@
}
fun setParameter(name: String, value: Int?): WebParams {
- mParameters[name] = value
+ mParameters[name] = value?.toString()
return this
}
fun setParameter(name: String, value: Float?): WebParams {
- mParameters[name] = value
+ mParameters[name] = value?.toString()
return this
}
diff --git a/app/src/main/java/com/supwisdom/service/AuthEpay.kt b/app/src/main/java/com/supwisdom/service/AuthEpay.kt
index 29549fd..fc252ae 100644
--- a/app/src/main/java/com/supwisdom/service/AuthEpay.kt
+++ b/app/src/main/java/com/supwisdom/service/AuthEpay.kt
@@ -35,13 +35,17 @@
val url = StringBuilder()
url.append(record!!.epayIP).append(":").append(record.epayPort)
.append("/").append(record.epayUri)
- .append("/api/auth/refresh/").append(record.devphyid)
+ .append("/api/auth/refresh/").append(record.devphyid).append("?")
val resp = NetworkHandler.getInstance().get(url.toString(), null)
?: throw AuthEpayError("jwt刷新请求超时")
if (resp.retcode != HttpStatus.SC_OK) {
throw AuthEpayError("jwt刷新错误码=${resp.retcode}")
}
- val retBean = GsonUtil.GsonToBean(resp.retjson!!, AuthJwtRetBean::class.java)
+ val retBean = try {
+ GsonUtil.GsonToBean(resp.retjson!!, AuthJwtRetBean::class.java)
+ } catch (ex: Exception) {
+ throw AuthEpayError("jwt json异常:${ex.message}")
+ }
dealSession(retBean)
}
@@ -50,16 +54,23 @@
val url = StringBuilder()
url.append(record!!.epayIP).append(":").append(record.epayPort)
.append("/").append(record.epayUri)
- .append("/api/auth/gettoken/").append(record.devphyid)
+ .append("/api/auth/gettoken/").append(record.devphyid).append("?")
+ val params = WebParams()
+ params.setParameter("appid", pos.getDynamicPara()!!.appid)
NetworkHandler.getInstance().setClientId(record.devphyid!!)
+ NetworkHandler.getInstance().setJwt(null)
- val resp = NetworkHandler.getInstance().get(url.toString(), null)
+ val resp = NetworkHandler.getInstance().get(url.toString(), params)
?: throw AuthEpayError("token请求超时")
if (resp.retcode != HttpStatus.SC_OK) {
throw AuthEpayError("token错误码=${resp.retcode}")
}
- val retBean = GsonUtil.GsonToBean(resp.retjson!!, AuthTokenRetBean::class.java)
+ val retBean = try {
+ GsonUtil.GsonToBean(resp.retjson!!, AuthTokenRetBean::class.java)
+ } catch (ex: Exception) {
+ throw AuthEpayError("token json异常:${ex.message}")
+ }
if (retBean.retcode != PublicDef.SUCCESS) {
throw AuthEpayError(retBean.retmsg!!)
}
@@ -74,19 +85,23 @@
val url = StringBuilder()
url.append(record!!.epayIP).append(":").append(record.epayPort)
.append("/").append(record.epayUri)
- .append("/api/auth/authentication/").append(record.devphyid)
+ .append("/api/auth/authentication/").append(record.devphyid).append("?")
- val secret = CryptUtil.HMACSHA256(token, pos.getDynamicPara()!!.appsecret!!)
+ val secret = CryptUtil.HMACSHA256(pos.getDynamicPara()!!.appsecret!!, token)
val params = WebParams()
params.setParameter("appid", pos.getDynamicPara()!!.appid)
- .setParameter("app_secret", secret)
+ .setParameter("secret", secret)
val resp = NetworkHandler.getInstance().get(url.toString(), params)
?: throw AuthEpayError("jwt请求超时")
if (resp.retcode != HttpStatus.SC_OK) {
throw AuthEpayError("jwt错误码=${resp.retcode}")
}
- val retBean = GsonUtil.GsonToBean(resp.retjson!!, AuthJwtRetBean::class.java)
+ val retBean = try {
+ GsonUtil.GsonToBean(resp.retjson!!, AuthJwtRetBean::class.java)
+ } catch (ex: Exception) {
+ throw AuthEpayError("jwt json异常:${ex.message}")
+ }
dealSession(retBean)
}
@@ -105,7 +120,11 @@
if (resp.retcode != HttpStatus.SC_OK) {
throw AuthEpayError("错误码=${resp.retcode}")
}
- val retBean = GsonUtil.GsonToBean(resp.retjson!!, AuthRetBean::class.java)
+ val retBean = try {
+ GsonUtil.GsonToBean(resp.retjson!!, AuthRetBean::class.java)
+ } catch (ex: Exception) {
+ throw AuthEpayError("json异常:${ex.message}")
+ }
if (retBean.retcode != PublicDef.SUCCESS) {
throw AuthEpayError(retBean.retmsg!!)
}
@@ -123,7 +142,6 @@
val dyRecord = pos.getDynamicPara()
dyRecord!!.jwt = bean.jwt
- //TODO
dyRecord.jwtExpire = DateUtil.utcToLocal(bean.expiredAt!!)
if (!pos.replaceDynamicPara(dyRecord)) {
throw AuthEpayError("保存参数失败")
diff --git a/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt b/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt
index 446fab4..517819d 100644
--- a/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt
+++ b/app/src/main/java/com/supwisdom/service/EpayApiImpl.kt
@@ -40,7 +40,11 @@
if (resp.retcode != HttpStatus.SC_OK) {
throw HeartBeatError("错误码=${resp.retcode}")
}
- val retBean = GsonUtil.GsonToBean(resp.retjson!!, HeartBeatRetBean::class.java)
+ val retBean = try {
+ GsonUtil.GsonToBean(resp.retjson!!, HeartBeatRetBean::class.java)
+ } catch (ex: Exception) {
+ throw HeartBeatError("json异常:${ex.message}")
+ }
if (retBean.retcode != PublicDef.SUCCESS) {
throw HeartBeatError(retBean.retmsg!!)
}
@@ -82,21 +86,26 @@
if (resp.retcode != HttpStatus.SC_OK) {
throw SysParaError("错误码=${resp.retcode}")
}
- val retBean = GsonUtil.GsonToBean(resp.retjson!!, SystemParaRetBean::class.java)
+ val retBean = try {
+ GsonUtil.GsonToBean(resp.retjson!!, SystemParaRetBean::class.java)
+ } catch (ex: Exception) {
+ throw SysParaError("json异常:${ex.message}")
+ }
if (retBean.retcode != PublicDef.SUCCESS) {
throw SysParaError(retBean.retmsg!!)
}
val record = pos.getSysPara() ?: SysParaRecord()
retBean.syspara?.forEach {
when {
- it.paraname == "heartbeat" -> record.heatBeat = it.paraval!!.toInt()
- it.paraname == "returnFlag" -> record.returnFlag = it.paraval!!.toInt()
- it.paraname == "sucShowtime" -> record.sucShowtime = it.paraval!!.toInt()
- it.paraname == "failShowtime" -> record.failShowtime = it.paraval!!.toInt()
- it.paraname == "fixpayGap" -> record.fixpayGap = it.paraval!!.toInt()
- it.paraname == "mngPasswd" -> record.mngPasswd = it.paraval
- it.paraname == "offlineEnable" -> record.offlineEnable = it.paraval == "true"
- it.paraname == "maxOfflineDays" -> record.maxOfflineDays = it.paraval!!.toInt()
+ it.paraname == "heat_beat" -> record.heatBeat = it.paraval!!.toInt()
+ it.paraname == "return_flag" -> record.returnFlag = it.paraval!!.toInt()
+ it.paraname == "consume_show_time" -> record.sucShowtime = it.paraval!!.toInt()
+ it.paraname == "consume_fail_show_time" -> record.failShowtime = it.paraval!!.toInt()
+ it.paraname == "fixpay_consume_gap" -> record.fixpayGap = it.paraval!!.toInt()
+ it.paraname == "manage_passwd" -> record.mngPasswd = it.paraval
+ it.paraname == "offline_flag" -> record.offlineEnable = it.paraval == "1"
+ it.paraname == "max_offline_days" -> record.maxOfflineDays = it.paraval!!.toInt()
+ it.paraname == "communicate_time" -> record.commTime = it.paraval!!.toInt()
}
}
if (!pos.replaceSysPara(record)) {
@@ -106,22 +115,29 @@
@Throws(WhiteListError::class)
override fun downloadWhitelist(maxCardverno: String) {
- val count = 20
+ val maxcount = 20
do {
val params = WebParams()
params.setParameter("devphyid", pos.getConfigPara()!!.devphyid)
.setParameter("cardverno", pos.getDynamicPara()!!.cardverno)
- .setParameter("maxcount", count)
+ .setParameter("maxcount", maxcount)
val resp = YktSession.getInstance().sendYktRequestPost("/api/pos/whitelist", "", params)
?: throw WhiteListError("请求超时")
if (resp.retcode != HttpStatus.SC_OK) {
throw WhiteListError("错误码=${resp.retcode}")
}
- val retBean = GsonUtil.GsonToBean(resp.retjson!!, WhiteListRetBean::class.java)
+ val retBean = try {
+ GsonUtil.GsonToBean(resp.retjson!!, WhiteListRetBean::class.java)
+ } catch (ex: Exception) {
+ throw WhiteListError("json异常:${ex.message}")
+ }
if (retBean.retcode != PublicDef.SUCCESS) {
throw WhiteListError(retBean.retmsg!!)
}
+ if (retBean.count != retBean.whitelist?.size) {
+ throw WhiteListError("白名单数量不对[${retBean.count},${retBean.whitelist?.size}]")
+ }
val list = ArrayList<WhiteListRecord>()
retBean.whitelist?.forEach {
val record = WhiteListRecord()
@@ -139,7 +155,7 @@
if (!pos.replaceDynamicPara(dyRecord)) {
throw WhiteListError("保存参数失败")
}
- } while (retBean.maxcount == count)
+ } while (retBean.count == maxcount)
}
@Throws(TransdtlUploadError::class)
@@ -172,7 +188,11 @@
if (resp.retcode != HttpStatus.SC_OK) {
throw TransdtlUploadError("错误码=${resp.retcode}")
}
- val retBean = GsonUtil.GsonToBean(resp.retjson!!, TransdtlRetBean::class.java)
+ val retBean = try {
+ GsonUtil.GsonToBean(resp.retjson!!, TransdtlRetBean::class.java)
+ } catch (ex: Exception) {
+ throw TransdtlUploadError("json异常:${ex.message}")
+ }
if (retBean.retcode != PublicDef.SUCCESS) {
throw TransdtlUploadError(retBean.retmsg!!)
}
@@ -210,7 +230,11 @@
if (resp.retcode != HttpStatus.SC_OK) {
throw TransdtlUploadError("错误码=${resp.retcode}")
}
- val retBean = GsonUtil.GsonToBean(resp.retjson!!, TransdtlRetBean::class.java)
+ val retBean = try {
+ GsonUtil.GsonToBean(resp.retjson!!, TransdtlRetBean::class.java)
+ } catch (ex: Exception) {
+ throw TransdtlUploadError("json异常:${ex.message}")
+ }
if (retBean.retcode != PublicDef.SUCCESS) {
throw TransdtlUploadError(retBean.retmsg!!)
}
diff --git a/app/src/main/java/com/supwisdom/service/WebsocketProcess.kt b/app/src/main/java/com/supwisdom/service/WebsocketProcess.kt
index 53eafa3..2a8ca33 100644
--- a/app/src/main/java/com/supwisdom/service/WebsocketProcess.kt
+++ b/app/src/main/java/com/supwisdom/service/WebsocketProcess.kt
@@ -2,7 +2,6 @@
import android.os.Handler
import android.os.Message
-import com.alibaba.fastjson.JSONObject
import com.koushikdutta.async.callback.CompletedCallback
import com.koushikdutta.async.future.Future
import com.koushikdutta.async.http.AsyncHttpClient
@@ -10,10 +9,7 @@
import com.supwisdom.activities.SPApplication
import com.supwisdom.db.Pos
import com.supwisdom.utils.CommonUtil
-import com.supwisdom.utils.DateUtil
import com.supwisdom.utils.LogUtil
-import com.supwisdom.utils.PublicDef
-import java.util.*
/**
** create by zzq on 2019/7/23
diff --git a/app/src/main/java/com/supwisdom/utils/DateUtil.kt b/app/src/main/java/com/supwisdom/utils/DateUtil.kt
index a134bac..c93d962 100644
--- a/app/src/main/java/com/supwisdom/utils/DateUtil.kt
+++ b/app/src/main/java/com/supwisdom/utils/DateUtil.kt
@@ -133,17 +133,17 @@
fun utcToLocal(utctime: String): String {
val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
- sdf.timeZone = TimeZone.getTimeZone("TUC")
- try {
+ sdf.timeZone = TimeZone.getTimeZone("UTC")
+ return try {
val utcDate = sdf.parse(utctime)
sdf.timeZone = TimeZone.getDefault()
val localTime = sdf.format(utcDate.time)
val localDate = sdf.parse(localTime)
- System.out.println("test")
+ FORMAT_yyyyMMddHHmmss.format(localDate.time)
} catch (ex: ParseException) {
ex.printStackTrace()
+ ""
}
- return ""
}
@@ -240,6 +240,13 @@
}
/**
+ * @return yyyy-MM-dd HH:mm:ss
+ */
+ fun getNowDateTime(): String {
+ return FORMAT_yyyy_MM_dd_HH_mm_ss.format(Date())
+ }
+
+ /**
* @return yyyy-MM-dd
*/
fun getNowDate(): String {
@@ -247,22 +254,10 @@
}
/**
- * @return yyyy-MM-dd
- */
- fun getNowDate2(date: Date): String? {
- try {
- return FORMAT_yyyy_MM_dd.format(date)
- } catch (e: Exception) {
- e.printStackTrace()
- }
- return null
- }
-
- /**
* @param dateStr yyyy-MM-dd
* @return
*/
- fun getNowDate(dateStr: String): Date? {
+ fun getNowDateTime(dateStr: String): Date? {
try {
return FORMAT_yyyy_MM_dd.parse(dateStr)
} catch (e: ParseException) {
diff --git a/app/src/main/java/com/supwisdom/utils/GsonUtil.kt b/app/src/main/java/com/supwisdom/utils/GsonUtil.kt
index 2c6d722..12e9209 100644
--- a/app/src/main/java/com/supwisdom/utils/GsonUtil.kt
+++ b/app/src/main/java/com/supwisdom/utils/GsonUtil.kt
@@ -1,12 +1,14 @@
package com.supwisdom.utils
-import com.alibaba.fastjson.JSON
+import com.google.gson.Gson
/**
** create by zzq on 2019/7/24
** @desc
**/
object GsonUtil {
+ private val gson = Gson()
+
/**
* 转成json
*
@@ -14,7 +16,8 @@
* @return
*/
fun GsonString(obj: Any): String {
- return JSON.toJSONString(obj)
+ return gson.toJson(obj)
+// return JSON.toJSONString(obj)
}
/**
@@ -25,6 +28,7 @@
* @return
*/
fun <T> GsonToBean(gsonString: String, cls: Class<T>): T {
- return JSON.parseObject(gsonString, cls)
+ return gson.fromJson(gsonString, cls)
+// return JSON.parseObject(gsonString, cls)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/utils/LogUtil.kt b/app/src/main/java/com/supwisdom/utils/LogUtil.kt
index 75b8079..210fbd1 100644
--- a/app/src/main/java/com/supwisdom/utils/LogUtil.kt
+++ b/app/src/main/java/com/supwisdom/utils/LogUtil.kt
@@ -33,7 +33,7 @@
}
private fun writeLog(tag: String, msg: String) {
- val time = DateUtil.getNowDate() + "--"
+ val time = DateUtil.getNowDateTime() + "--"
FileUtil.writeLogFile("$tag:$time--$msg")
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/utils/PublicDef.kt b/app/src/main/java/com/supwisdom/utils/PublicDef.kt
index 0ac5f89..b67e05b 100644
--- a/app/src/main/java/com/supwisdom/utils/PublicDef.kt
+++ b/app/src/main/java/com/supwisdom/utils/PublicDef.kt
@@ -83,4 +83,9 @@
* 消费冲正时限
*/
const val REVERSE_MS_GAP = 600000
+ /**
+ *
+ */
+ const val APP_ID = "3000004"
+ const val APP_SECRET = "c9ae5b4fe5014b5b9eb19e1a0797a3a3"
}
\ No newline at end of file