app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt
@@ -5,6 +5,10 @@
import android.util.Log
import androidx.work.Worker
import androidx.work.WorkerParameters
import com.anyun.exam.lib.AYSdk
import com.anyun.exam.lib.MyLog
import com.google.gson.Gson
import org.json.JSONException
import org.json.JSONObject
import safeluck.drive.evaluation.DB.Constant
import safeluck.drive.evaluation.DB.WorkRoomDataBase
@@ -12,6 +16,7 @@
class RTKConfigUpdateWorker(context:Context, workerParams: WorkerParameters) :Worker(context, workerParams){
    val TAG:String = "RTKConfigUpdateWorker"
    private val gson = Gson()
    override fun doWork(): Result {
@@ -32,14 +37,37 @@
            0311200200000011,前4位是设备编码,接下来4位是年月,后面8位是流水号;
            电话号码前2位固定13,第三位取SN的第4位,第4-7位取SN的年月,第8-11位取SN流水号的后4位;即13120020011
             */
            phone = "13"+sn.subSequence(3,8)+sn.substring(sn.length-4,sn.length)
            phone = sn
            Log.i(TAG,"phone="+phone)
        }
        var rtkConfigDao = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).rtkConfigDao.also {
            it.update(sn, imei, phone)
        }
        sendRtkConfigInfo(WorkRoomDataBase.getWorkRoomDataBase(applicationContext).rtkConfigDao._getRtkConfig())
        return Result.success()
    }
    private fun sendRtkConfigInfo(mRTKConfig: RTKConfig) {
        if (mRTKConfig != null) {
            var rtkjson = gson.toJson(mRTKConfig)
            //去除id字段
            var jsonObject: JSONObject? = null
            try {
                jsonObject = JSONObject(rtkjson)
            } catch (e: JSONException) {
                e.printStackTrace()
            }
            jsonObject!!.remove("_id")
            rtkjson = null
            rtkjson = jsonObject.toString()
            MyLog.i(TAG, "RTK配置信息:$rtkjson")
            AYSdk.getInstance().sendCmd(safeluck.drive.evaluation.Constant.PUSH_RTK_PLATFORM_INFO, rtkjson)
        } else {
            MyLog.d(TAG, "RTKConfig未取到数据")
        }
    }
}