18034727885
2026-04-17 bddc945a6d0a6ac33300bddde6b4afe6461741fa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package com.xw.yunwei.net
 
import com.blankj.utilcode.util.GsonUtils
import com.xw.common.net.BaseHttpManager.Companion.getBody
import com.xw.common.net.interceptAwait
import com.xw.yunwei.model.CheckRecordModel
import com.xw.yunwei.model.CruiseCheckInMissionInfo
import com.xw.yunwei.model.MaintainRecordModel
import com.xw.yunwei.model.SiteModel
import com.xw.yunwei.model.UploadModel
 
class WorkRepository(private val api: WorkApi) {
 
    suspend fun querySites(map: Map<String, Any?>) = api.querySites(getBody(map)).interceptAwait()
    suspend fun queryCars(map: Map<String, Any?>) = api.queryCars(getBody(map)).interceptAwait()
    suspend fun vehicleDispatchAccept(map: Map<String, Any?>) =
        api.vehicleDispatchAccept(getBody(map)).interceptAwait()
 
    suspend fun vehicleDispatchDeparture(map: Map<String, Any?>) =
        api.vehicleDispatchDeparture(getBody(map)).interceptAwait()
 
    suspend fun unlockByType(map: Map<String, Any?>) =
        api.unlockByType(getBody(map)).interceptAwait()
 
    suspend fun saveRepair(map: Map<String, Any?>) =
        api.saveRepair(getBody(map)).interceptAwait()
 
    suspend fun saveReturnRepair(map: Map<String, Any?>) =
        api.saveReturnRepair(getBody(map)).interceptAwait()
 
    suspend fun cleanCar(map: Map<String, Any?>) =
        api.cleanCar(getBody(map)).interceptAwait()
 
    suspend fun savePreparation(body: MaintainRecordModel) =
        api.savePreparation(body).interceptAwait()
 
    suspend fun getRecord(map: Map<String, Any?>) =
        api.getRecord(getBody(map)).interceptAwait()
 
    suspend fun startCharging(map: Map<String, Any?>) =
        api.startCharging(getBody(map)).interceptAwait()
 
    suspend fun stopCharging(map: Map<String, Any?>) =
        api.stopCharging(getBody(map)).interceptAwait()
 
    suspend fun saveDetection(body: CheckRecordModel) = api.saveDetection(body).interceptAwait()
    suspend fun queryCarInfo(id: Long) = api.queryCarInfo(id).interceptAwait()
    suspend fun getDesc(type: Int) = api.getDesc(type).interceptAwait()
    suspend fun startCheck(id: Long) = api.startCheck(id).interceptAwait()
    suspend fun queryChargingStatus(id: Long) = api.queryChargingStatus(id).interceptAwait()
    suspend fun queryRepairStatus(id: Long) = api.queryRepairStatus(id).interceptAwait()
    suspend fun preparationDetail(id: Long) = api.preparationDetail(id).interceptAwait()
    suspend fun chargingDetail(id: Long) = api.chargingDetail(id).interceptAwait()
    suspend fun detectionDetail(id: Long) = api.detectionDetail(id).interceptAwait()
    suspend fun repairDetail(id: Long) = api.repairDetail(id).interceptAwait()
    suspend fun cleanDetail(id: Long) = api.cleanDetail(id).interceptAwait()
    suspend fun queryPolicyInfoByVid(id: Long) = api.queryPolicyInfoByVid(id).interceptAwait()
    suspend fun applyPolicyInformation(id: Long) = api.applyPolicyInformation(id).interceptAwait()
    suspend fun getFenceByCode(cityCode: String) = api.getFenceByCode(cityCode).interceptAwait()
    suspend fun queryArea() = api.queryArea().interceptAwait()
 
    /* 现场情况上报 */
    suspend fun addPointSituationReport(
        work: Boolean,
        model: SiteModel,
        sceneDescription: String,
        scenePhoto: MutableList<UploadModel>,
    ): Boolean {
        val map = mapOf<String, Any>(
            "fieldSituation" to if (work) 1 else 2,//现场情况(1=正常,2=异常)
            "pointId" to model.id.toString(),//点位id
            "sceneDescription" to sceneDescription,//现场情况说明
            "scenePhoto" to GsonUtils.toJson(scenePhoto),//现场照片JSON数组
        )
        api.addPointSituationReport(getBody(map)).interceptAwait()
        return true
    }
 
    /* 获取个人中心巡游打卡任务 */
    suspend fun getMyCruiseCheckInMissionInfo(): CruiseCheckInMissionInfo? {
        return api.getMyCruiseCheckInMissionInfo().interceptAwait()
    }
}