瀏覽代碼

完善token刷新机制和重登陆流程;精简蓝牙写入回调

Frankensteinly 11 月之前
父節點
當前提交
69f09ae285

+ 0 - 13
app/src/main/java/com/grkj/iscs/ble/BleCmdManager.kt

@@ -194,16 +194,9 @@ object BleCmdManager {
                     if (res == 0x00.toByte()) idx + 1 else idx,
                     bleBean.bleDevice,
                     object : CustomBleWriteCallback() {
-                        override fun onPrompt(promptStr: String?) {}
-
-                        override fun onConnectPrompt(promptStr: String?) {}
-
-                        override fun onDisConnectPrompt(promptStr: String?) {}
-
                         override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {}
 
                         override fun onWriteFailure(exception: BleException?) {}
-
                     })
             }
         } else {
@@ -270,12 +263,6 @@ object BleCmdManager {
         // TODO 缺少res处理
         if (idx != total - 1) {
             getTicketStatusPart((idx + 1).toByteArray(), total.toByteArray(), byteArrayOf(0x01.toByte()), bleDevice, object : CustomBleWriteCallback() {
-                override fun onPrompt(promptStr: String?) {}
-
-                override fun onConnectPrompt(promptStr: String?) {}
-
-                override fun onDisConnectPrompt(promptStr: String?) {}
-
                 override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
                     println("getTicketStatusPart success")
                 }

+ 28 - 26
app/src/main/java/com/grkj/iscs/model/bo/WorkTicketSendBO.kt

@@ -3,102 +3,104 @@ package com.grkj.iscs.model.bo
 /**
  * 工作票下发BO
  */
-class WorkTicketSendBO {
+data class WorkTicketSendBO(
     /**
      * 权限卡号
      */
-    var cardNo: String? = null
+    var cardNo: String? = null,
     /**
      * 用户密码
      */
-    var password: String? = null
+    var password: String? = null,
     /**
      * 工作有效期(小时)
      */
-    var effectiveTime: Int? = null
+    var effectiveTime: Int? = null,
     /**
      * 工作票数组
      */
-    var data: MutableList<DataDTO>? = null
+    var data: MutableList<DataBO>? = null,
     /**
      * 挂锁数组
      */
-    var lockList: MutableList<LockListBO>? = null
+    var lockList: MutableList<LockListBO>? = null,
 
     /**
      * 辅件数组
      */
     var partList: MutableList<PartListBO>? = null
-
-    class DataDTO {
+) {
+    data class DataBO(
         /**
          * 工作票号
          */
-        var taskCode: String? = null
+        var taskCode: String? = null,
         /**
          * 工作票ID
          */
-        var taskId: String? = null
+        var taskId: String? = null,
         /**
          * 工作票序号
          */
-        var codeId: Int? = null
+        var codeId: Int? = null,
         /**
          * 工作票下挂任务列表
          */
         var dataList: MutableList<DataListBO>? = null
-
-        class DataListBO {
+    ) {
+        data class DataListBO(
             /**
              * 任务ID
              */
-            var dataId: Int? = null
+            var dataId: Int? = null,
             /**
              * 工作点位RFID号
              */
-            var equipRfidNo: String? = null
+            var equipRfidNo: String? = null,
             /**
              * 锁RFID号(只在创建的时候有)
              */
-            var infoRfidNo: String? = null
+            var infoRfidNo: String? = null,
             /**
              * 任务目标 0:挂锁 1:解锁
              */
-            var target: Int? = null
+            var target: Int? = null,
             /**
              * 前序任务ID
              */
-            var prevId: Int? = null
+            var prevId: Int? = null,
             /**
              * 辅件类型编码
              */
             var partCode: MutableList<String>? = null
-        }
+        )
     }
 
-    class LockListBO {
+    data class LockListBO(
         /**
          * 挂锁ID
          */
-        var lockId: String? = null
+        var lockId: String? = null,
         /**
          * 挂锁RFID
          */
         var rfid: String? = null
-    }
+    )
 
-    class PartListBO {
+    data class PartListBO(
         /**
          * 辅件ID
          */
-        var partId: Int? = null
+        var partId: Int? = null,
+
         /**
          * 辅件类型编码
          */
-        var partCode: String? = null
+        var partCode: String? = null,
+
         /**
          * 锁或者辅件的RFID
          */
         var rfid: String? = null
-    }
+    )
 }

+ 1 - 1
app/src/main/java/com/grkj/iscs/presenter/HomePresenter.kt

@@ -11,7 +11,7 @@ import com.grkj.iscs.util.ToastUtils
 class HomePresenter : BasePresenter<IHomeView>() {
 
     fun getTicketCount(ticketStatus: Int?, callBack: (Int?) -> Unit) {
-        val userId = SPUtils.getLoginUser(mContext!!).userId
+        val userId = SPUtils.getLoginUser(mContext!!)?.userId
         if (userId == null) {
             ToastUtils.tip(mContext!!.resources.getString(R.string.please_login))
             return

+ 1 - 1
app/src/main/java/com/grkj/iscs/presenter/TicketListPresenter.kt

@@ -16,7 +16,7 @@ class TicketListPresenter : BasePresenter<ITicketListView>() {
 
     fun initData(ticketStatus: Int?, callBack: (TicketPageRespVO?) -> Unit) {
         val cardInfo = SPUtils.getLoginUser(mContext!!)
-        if (cardInfo.cardNfc == null || cardInfo.userId == 0L) {
+        if (cardInfo?.cardNfc == null || cardInfo.userId == 0L) {
             ToastUtils.tip(mContext!!.resources.getString(R.string.please_login))
             return
         }

+ 16 - 20
app/src/main/java/com/grkj/iscs/util/NetHttpManager.kt

@@ -1,9 +1,8 @@
 package com.grkj.iscs.util
 
 import android.content.Context
-import android.util.Log
-import cn.zhxu.okhttps.HTTP
 import cn.zhxu.data.Mapper
+import cn.zhxu.okhttps.HTTP
 import cn.zhxu.okhttps.HttpResult
 import cn.zhxu.okhttps.HttpTask
 import cn.zhxu.okhttps.OkHttps
@@ -11,14 +10,11 @@ import cn.zhxu.okhttps.gson.GsonMsgConvertor
 import cn.zhxu.okhttps.okhttp.OkHttpClientWrapper
 import com.grkj.iscs.MyApplication
 import com.grkj.iscs.R
-import com.grkj.iscs.model.Constants
 import com.grkj.iscs.model.Token
 import com.grkj.iscs.model.UrlConsts
-import com.grkj.iscs.model.UrlConsts.SIGN_IN
-import com.grkj.iscs.model.vo.BaseVO
+import com.grkj.iscs.model.UrlConsts.LOGIN_CARD
 import com.grkj.iscs.util.log.LogUtil
 import okhttp3.logging.HttpLoggingInterceptor
-import java.io.IOException
 import java.net.SocketTimeoutException
 
 class NetHttpManager {
@@ -80,25 +76,25 @@ class NetHttpManager {
             callback(token.token)
             return
         }
-        // TODO 检查当前登录状态;临时注掉,方便调试
-//        if (SPUtils.getLoginUser(context!!) == null) {
-//            ToastUtils.tip(context!!.resources.getString(R.string.please_login))
-//            return
-//        }
+        if (context == null || SPUtils.getLoginUser(context!!)?.cardNfc == null) {
+            ToastUtils.tip(context!!.resources.getString(R.string.please_login))
+            return
+        }
         doLogin(callback)
     }
 
     private fun doLogin(callback: (String?) -> Unit) {
-        val ctx = MyApplication.instance?.applicationContext
-        // TODO 临时注掉,方便调试
-//        if (ctx == null || SPUtils.getLoginUser(ctx) == null) {
-//            return
-//        }
-        // TODO 后续用SP数据替换
-        myHttp.async(SIGN_IN)
+        if (context == null) {
+            return
+        }
+        val loginUser = SPUtils.getLoginUser(context!!)
+        if (loginUser?.cardNfc == null) {
+            ToastUtils.tip(context!!.resources.getString(R.string.please_login))
+            return
+        }
+        myHttp.async(LOGIN_CARD)
             .skipPreproc()
-            .addBodyPara("username", "admin")
-            .addBodyPara("password", "grkj8888")
+            .addBodyPara("cardNfc", loginUser.cardNfc)
             .nextOnIO()
             .setOnResponse {
                 exceptionCount = 0

+ 2 - 3
app/src/main/java/com/grkj/iscs/util/SPUtils.kt

@@ -16,9 +16,8 @@ object SPUtils {
     private const val KEY_LOGIN_USER_USER_NAME = "user_name"
     private const val KEY_LOGIN_USER_ROLE_KEY = "role_key"
 
-    fun getLoginUser(context: Context): CardInfoRespVO {
-        val sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE)
-
+    fun getLoginUser(context: Context): CardInfoRespVO? {
+        val sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE) ?: return null
         return CardInfoRespVO(
             cardId = sp.getLong(KEY_LOGIN_USER_CARD_ID, 0),
             cardCode = sp.getString(KEY_LOGIN_USER_CARD_CODE, null),