diff --git a/app/build.gradle b/app/build.gradle index bb3eaac..5ba44f0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -15,11 +15,10 @@ } compileSdkVersion 31 - buildToolsVersion '30.0.3' defaultConfig { applicationId "com.casic.xz.meterage" - minSdkVersion 26 + minSdkVersion 23 targetSdkVersion 31 versionCode 1 versionName "1.0.0.0" @@ -86,8 +85,6 @@ implementation 'top.zibin:Luban:1.1.8' //官方Json解析库 implementation 'com.google.code.gson:gson:2.9.0' - //阿里巴巴JSON库 - implementation 'com.alibaba.fastjson2:fastjson2:2.0.24' //Kotlin协程 implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1' //MVVM+LiveData @@ -115,6 +112,4 @@ implementation 'com.github.tiann:FreeReflection:3.1.0' //单项/数字、二三级联动、日期/时间等滚轮选择器 implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:4.1.8' - //文件/目录选择器 - implementation 'com.github.gzu-liyujiang.AndroidPicker:FilePicker:4.1.1' } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index bb3eaac..5ba44f0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -15,11 +15,10 @@ } compileSdkVersion 31 - buildToolsVersion '30.0.3' defaultConfig { applicationId "com.casic.xz.meterage" - minSdkVersion 26 + minSdkVersion 23 targetSdkVersion 31 versionCode 1 versionName "1.0.0.0" @@ -86,8 +85,6 @@ implementation 'top.zibin:Luban:1.1.8' //官方Json解析库 implementation 'com.google.code.gson:gson:2.9.0' - //阿里巴巴JSON库 - implementation 'com.alibaba.fastjson2:fastjson2:2.0.24' //Kotlin协程 implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1' //MVVM+LiveData @@ -115,6 +112,4 @@ implementation 'com.github.tiann:FreeReflection:3.1.0' //单项/数字、二三级联动、日期/时间等滚轮选择器 implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:4.1.8' - //文件/目录选择器 - implementation 'com.github.gzu-liyujiang.AndroidPicker:FilePicker:4.1.1' } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index f8e690d..f5a333f 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -1,13 +1,13 @@ package com.casic.xz.meterage.utils.retrofit -import com.alibaba.fastjson2.JSON -import com.alibaba.fastjson2.JSONArray -import com.alibaba.fastjson2.JSONObject import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.SampleListModel import com.casic.xz.meterage.utils.AuthenticationHelper import com.casic.xz.meterage.utils.FileType import com.casic.xz.meterage.utils.LocaleConstant +import com.google.gson.Gson +import com.google.gson.JsonObject +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.utils.RetrofitFactory import com.pengxh.kt.lite.utils.SaveKeyValues import okhttp3.MediaType.Companion.toMediaType @@ -26,6 +26,8 @@ ) as String RetrofitFactory.createRetrofit(httpConfig) } + private val gson by lazy { Gson() } + private val typeToken = object : TypeToken>() {}.type /** * 验证PublicKey @@ -38,11 +40,11 @@ * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - val paramObject = JSONObject() - paramObject["sid"] = sid - paramObject["username"] = account - paramObject["password"] = secretKey - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("sid", sid) + param.addProperty("username", account) + param.addProperty("password", secretKey) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.login(requestBody) @@ -87,13 +89,13 @@ noticeEndTime: String, offset: Int ): String { - val paramObject = JSONObject() - paramObject["noticeNo"] = noticeNo - paramObject["noticeTitle"] = noticeTitle - paramObject["noticePublisher"] = noticePublisher - paramObject["noticeStartTime"] = noticeStartTime - paramObject["noticeEndTime"] = noticeEndTime - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("noticeNo", noticeNo) + param.addProperty("noticeTitle", noticeTitle) + param.addProperty("noticePublisher", noticePublisher) + param.addProperty("noticeStartTime", noticeStartTime) + param.addProperty("noticeEndTime", noticeEndTime) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -126,24 +128,25 @@ ids: Array, offset: Int ): String { - val paramObject = JSONObject() - paramObject["equipmentNo"] = equipmentNo - paramObject["equipmentName"] = equipmentName - paramObject["mesureType"] = mesureType - paramObject["managerState"] = managerState - paramObject["useDept"] = useDept - paramObject["assetType"] = assetType - paramObject["equipmentCategory"] = equipmentCategory - paramObject["isCalibrationTestEquipment"] = isCalibrationTestEquipment - paramObject["isMeasureAccount"] = isMeasureAccount - paramObject["isStandardSupportEquipment"] = isStandardSupportEquipment - paramObject["isFixedAssets"] = isFixedAssets - paramObject["validStartDate"] = validStartDate - paramObject["validEndDate"] = validEndDate - paramObject["abc"] = abc - paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + val param = JsonObject() + param.addProperty("sid", "username") + param.addProperty("equipmentNo", equipmentNo) + param.addProperty("equipmentName", equipmentName) + param.addProperty("mesureType", mesureType) + param.addProperty("managerState", managerState) + param.addProperty("useDept", useDept) + param.addProperty("assetType", assetType) + param.addProperty("equipmentCategory", equipmentCategory) + param.addProperty("isCalibrationTestEquipment", isCalibrationTestEquipment) + param.addProperty("isMeasureAccount", isMeasureAccount) + param.addProperty("isStandardSupportEquipment", isStandardSupportEquipment) + param.addProperty("isFixedAssets", isFixedAssets) + param.addProperty("validStartDate", validStartDate) + param.addProperty("validEndDate", validEndDate) + param.addProperty("abc", abc) + param.add("ids", gson.toJsonTree(ids, typeToken).asJsonArray) - val requestBody = paramObject.toString().toRequestBody( + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -159,9 +162,9 @@ * 获取设备详情 */ suspend fun getEquipmentDetail(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getEquipmentDetail(AuthenticationHelper.token!!, requestBody) @@ -180,15 +183,15 @@ id: String, offset: Int ): String { - val paramObject = JSONObject() - paramObject["standardNo"] = standardNo - paramObject["standardName"] = standardName - paramObject["category"] = category - paramObject["managerState"] = managerState - paramObject["standardLaboratory"] = standardLaboratory - paramObject["preparationDate"] = preparationDate - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("standardNo", standardNo) + param.addProperty("standardName", standardName) + param.addProperty("category", category) + param.addProperty("managerState", managerState) + param.addProperty("standardLaboratory", standardLaboratory) + param.addProperty("preparationDate", preparationDate) + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -206,9 +209,9 @@ * 获取标准装置详情 */ suspend fun getStandardDeviceDetail(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getStandardDeviceDetail(AuthenticationHelper.token!!, requestBody) @@ -225,13 +228,13 @@ priceType: String, offset: Int ): String { - val paramObject = JSONObject() - paramObject["checkType"] = checkType - paramObject["priceItem"] = priceItem - paramObject["priceName"] = priceName - paramObject["priceNo"] = priceNo - paramObject["priceType"] = priceType - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("checkType", checkType) + param.addProperty("priceItem", priceItem) + param.addProperty("priceName", priceName) + param.addProperty("priceNo", priceNo) + param.addProperty("priceType", priceType) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -247,9 +250,9 @@ * 获取能力详情 */ suspend fun getCapabilityDetail(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getCapabilityDetail(AuthenticationHelper.token!!, requestBody) @@ -270,18 +273,18 @@ ids: Array, offset: Int ): String { - val paramObject = JSONObject() - paramObject["createStartTime"] = createStartTime - paramObject["createEndTime"] = createEndTime - paramObject["deptId"] = deptId - paramObject["director"] = director - paramObject["effectiveCompany"] = effectiveCompany - paramObject["trainStartTime"] = trainStartTime - paramObject["trainEndTime"] = trainEndTime - paramObject["formId"] = formId - paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + val param = JsonObject() + param.addProperty("createStartTime", createStartTime) + param.addProperty("createEndTime", createEndTime) + param.addProperty("deptId", deptId) + param.addProperty("director", director) + param.addProperty("effectiveCompany", effectiveCompany) + param.addProperty("trainStartTime", trainStartTime) + param.addProperty("trainEndTime", trainEndTime) + param.addProperty("formId", formId) + param.add("ids", gson.toJsonTree(ids, typeToken).asJsonArray) - val requestBody = paramObject.toString().toRequestBody( + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -299,9 +302,9 @@ * 获取培训计划详情 */ suspend fun getMeterageTrainDetail(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getMeterageTrainDetail(AuthenticationHelper.token!!, requestBody) @@ -313,13 +316,13 @@ suspend fun getCustomerList( bussinessSize: String, customerName: String, customerNo: String, grade: String, offset: Int ): String { - val paramObject = JSONObject() - paramObject["bussinessSize"] = bussinessSize - paramObject["customerName"] = customerName - paramObject["customerNo"] = customerNo - paramObject["grade"] = grade + val param = JsonObject() + param.addProperty("bussinessSize", bussinessSize) + param.addProperty("customerName", customerName) + param.addProperty("customerNo", customerNo) + param.addProperty("grade", grade) - val requestBody = paramObject.toString().toRequestBody( + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -335,9 +338,9 @@ * 获取客户详情 */ suspend fun getCustomerDetail(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getCustomerDetail(AuthenticationHelper.token!!, requestBody) @@ -347,9 +350,9 @@ * 获取计量人员列表 */ suspend fun getStaffList(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getStaffList(AuthenticationHelper.token!!, requestBody) @@ -359,9 +362,9 @@ * 获取标准配套设备列表 */ suspend fun getSupportEquipmentList(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getSupportEquipmentList(AuthenticationHelper.token!!, requestBody) @@ -371,9 +374,9 @@ * 获取仪器设备状态变更记录 */ suspend fun getEquipmentStateChangeLog(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getEquipmentStateChangeLog(AuthenticationHelper.token!!, requestBody) @@ -383,9 +386,9 @@ * 获取仪器设备使用记录 */ suspend fun getEquipmentUsageRecord(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getEquipmentUsageRecord(AuthenticationHelper.token!!, requestBody) @@ -395,9 +398,9 @@ * 获取检定规程列表 */ suspend fun getVerifyProcedureList(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getVerifyProcedureList(AuthenticationHelper.token!!, requestBody) @@ -418,18 +421,18 @@ ids: Array, offset: Int ): String { - val paramObject = JSONObject() - paramObject["customerName"] = customerName - paramObject["customerNo"] = customerNo - paramObject["deliverer"] = deliverer - paramObject["orderCode"] = orderCode - paramObject["startTime"] = startTime - paramObject["endTime"] = endTime - paramObject["isUrgent"] = isUrgent - paramObject["status"] = status - paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + val param = JsonObject() + param.addProperty("customerName", customerName) + param.addProperty("customerNo", customerNo) + param.addProperty("deliverer", deliverer) + param.addProperty("orderCode", orderCode) + param.addProperty("startTime", startTime) + param.addProperty("endTime", endTime) + param.addProperty("isUrgent", isUrgent) + param.addProperty("status", status) + param.add("ids", gson.toJsonTree(ids, typeToken).asJsonArray) - val requestBody = paramObject.toString().toRequestBody( + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -445,9 +448,9 @@ * 获取委托书详情 */ suspend fun getEntrustDetail(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getEntrustDetail(AuthenticationHelper.token!!, requestBody) @@ -457,9 +460,9 @@ * 获取委托书操作Log */ suspend fun getEntrustLog(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.getEntrustLog(AuthenticationHelper.token!!, requestBody) @@ -469,9 +472,9 @@ * 接收委托书 */ suspend fun acceptEntrust(id: String): String { - val paramObject = JSONObject() - paramObject["id"] = id - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.acceptEntrust(AuthenticationHelper.token!!, requestBody) @@ -481,10 +484,10 @@ * 退回委托书 */ suspend fun returnEntrust(id: String, selected: ArrayList): String { - val paramObject = JSONObject() - paramObject["id"] = id - paramObject["reason"] = selected.reformat() - val requestBody = paramObject.toString().toRequestBody( + val param = JsonObject() + param.addProperty("id", id) + param.addProperty("reason", selected.reformat()) + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.returnEntrust(AuthenticationHelper.token!!, requestBody) @@ -506,19 +509,19 @@ ids: Array, offset: Int ): String { - val paramObject = JSONObject() - paramObject["customerName"] = customerName - paramObject["customerNo"] = customerNo - paramObject["startTime"] = startTime - paramObject["endTime"] = endTime - paramObject["sampleName"] = sampleName - paramObject["sampleNo"] = sampleNo - paramObject["sampleModel"] = sampleModel - paramObject["sampleBelong"] = sampleBelong - paramObject["overtimeStatus"] = overtimeStatus - paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + val param = JsonObject() + param.addProperty("customerName", customerName) + param.addProperty("customerNo", customerNo) + param.addProperty("startTime", startTime) + param.addProperty("endTime", endTime) + param.addProperty("sampleName", sampleName) + param.addProperty("sampleNo", sampleNo) + param.addProperty("sampleModel", sampleModel) + param.addProperty("sampleBelong", sampleBelong) + param.addProperty("overtimeStatus", overtimeStatus) + param.add("ids", gson.toJsonTree(ids, typeToken).asJsonArray) - val requestBody = paramObject.toString().toRequestBody( + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) @@ -552,26 +555,26 @@ instructions: String, remark: String ): String { - val paramObject = JSONObject() - paramObject["sampleName"] = sampleName - paramObject["sampleModel"] = model - paramObject["manufacturingNo"] = factoryNumber - paramObject["customerName"] = entrustName - paramObject["phone"] = entrustContact - paramObject["postalCode"] = emailCode - paramObject["customerAddress"] = entrustAddress - paramObject["measurePeriod"] = checkCycle - paramObject["manufacturer"] = manufacturer - paramObject["manufacturerCountry"] = country - paramObject["manufacturingDate"] = factoryDate - paramObject["abc"] = abc - paramObject["deliverer"] = sender - paramObject["delivererTel"] = senderContact - paramObject["measureContent"] = checkProject - paramObject["minioFileName"] = instructions - paramObject["remark"] = remark + val param = JsonObject() + param.addProperty("sampleName", sampleName) + param.addProperty("sampleModel", model) + param.addProperty("manufacturingNo", factoryNumber) + param.addProperty("customerName", entrustName) + param.addProperty("phone", entrustContact) + param.addProperty("postalCode", emailCode) + param.addProperty("customerAddress", entrustAddress) + param.addProperty("measurePeriod", checkCycle) + param.addProperty("manufacturer", manufacturer) + param.addProperty("manufacturerCountry", country) + param.addProperty("manufacturingDate", factoryDate) + param.addProperty("abc", abc) + param.addProperty("deliverer", sender) + param.addProperty("delivererTel", senderContact) + param.addProperty("measureContent", checkProject) + param.addProperty("minioFileName", instructions) + param.addProperty("remark", remark) - val requestBody = paramObject.toString().toRequestBody( + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.writeSample(AuthenticationHelper.token!!, requestBody) @@ -595,22 +598,24 @@ isUrgent: String, samples: List ): String { - val paramObject = JSONObject() - paramObject["deliverer"] = deliverer - paramObject["delivererTel"] = delivererTel - paramObject["orderTime"] = orderTime - paramObject["planDeliverTime"] = planDeliverTime - paramObject["requireOverTime"] = requireOverTime - paramObject["customerName"] = customerName - paramObject["customerPhone"] = customerPhone - paramObject["customerAddress"] = customerAddress - paramObject["remark"] = remark - paramObject["minioFileName"] = minioFileName - paramObject["certifications"] = certifications - paramObject["isUrgent"] = isUrgent - paramObject["customerSampleInfoList"] = JSONArray.parseArray(JSON.toJSONString(samples)) + val param = JsonObject() + param.addProperty("deliverer", deliverer) + param.addProperty("delivererTel", delivererTel) + param.addProperty("orderTime", orderTime) + param.addProperty("planDeliverTime", planDeliverTime) + param.addProperty("requireOverTime", requireOverTime) + param.addProperty("customerName", customerName) + param.addProperty("customerPhone", customerPhone) + param.addProperty("customerAddress", customerAddress) + param.addProperty("remark", remark) + param.addProperty("minioFileName", minioFileName) + param.addProperty("certifications", certifications) + param.addProperty("isUrgent", isUrgent) - val requestBody = paramObject.toString().toRequestBody( + val typeToken = object : TypeToken>() {}.type + param.add("customerSampleInfoList", gson.toJsonTree(samples, typeToken).asJsonArray) + + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) return api.addEntrust(AuthenticationHelper.token!!, requestBody) @@ -633,20 +638,20 @@ ids: Array, offset: Int ): String { - val paramObject = JSONObject() - paramObject["formId"] = formId - paramObject["fileType"] = fileType - paramObject["fileName"] = fileName - paramObject["fileNo"] = fileNo - paramObject["fileCode"] = fileCode - paramObject["effectiveStatus"] = effectiveStatus - paramObject["effectiveStartTime"] = effectiveStartTime - paramObject["effectiveEndTime"] = effectiveEndTime - paramObject["publishStartTime"] = publishStartTime - paramObject["publishEndTime"] = publishEndTime - paramObject["ids"] = JSONArray.parseArray(JSON.toJSONString(ids)) + val param = JsonObject() + param.addProperty("formId", formId) + param.addProperty("fileType", fileType) + param.addProperty("fileName", fileName) + param.addProperty("fileNo", fileNo) + param.addProperty("fileCode", fileCode) + param.addProperty("effectiveStatus", effectiveStatus) + param.addProperty("effectiveStartTime", effectiveStartTime) + param.addProperty("effectiveEndTime", effectiveEndTime) + param.addProperty("publishStartTime", publishStartTime) + param.addProperty("publishEndTime", publishEndTime) + param.add("ids", gson.toJsonTree(ids, typeToken).asJsonArray) - val requestBody = paramObject.toString().toRequestBody( + val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() )