From 274bc2d0f7fe8fe7525196e4d7d6ece1cafe2c6c Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期日, 04 二月 2024 17:32:14 +0800 Subject: [PATCH] 1. 新增静安50分制评估结果转换逻辑; 2. 新增根据坐标圆心和半径查询范围内场景逻辑; --- src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ScenseServiceImpl.kt | 156 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 95 insertions(+), 61 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ScenseServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ScenseServiceImpl.kt index 5af47d9..ea2e3be 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ScenseServiceImpl.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ScenseServiceImpl.kt @@ -1,8 +1,9 @@ package cn.flightfeather.supervision.lightshare.service.impl +import cn.flightfeather.supervision.business.location.LocationRoadNearby +import cn.flightfeather.supervision.common.utils.Constant import cn.flightfeather.supervision.domain.ds1.entity.* import cn.flightfeather.supervision.domain.ds1.mapper.* -import cn.flightfeather.supervision.common.utils.Constant import cn.flightfeather.supervision.lightshare.service.* import cn.flightfeather.supervision.lightshare.vo.* import com.github.pagehelper.PageHelper @@ -16,13 +17,14 @@ @Service class ScenseServiceImpl( - val scenseMapper: ScenseMapper, - val sceneConstructionSiteMapper: SceneConstructionSiteMapper, - val sceneDeviceMapper: SceneDeviceMapper, - val sceneMixingPlantMapper: SceneMixingPlantMapper, - val sceneStorageYardMapper: SceneStorageYardMapper, - val sceneWharfMapper: SceneWharfMapper, - val userinfoService: UserinfoService + val scenseMapper: ScenseMapper, + val sceneConstructionSiteMapper: SceneConstructionSiteMapper, + val sceneDeviceMapper: SceneDeviceMapper, + val sceneMixingPlantMapper: SceneMixingPlantMapper, + val sceneStorageYardMapper: SceneStorageYardMapper, + val sceneWharfMapper: SceneWharfMapper, + val userinfoService: UserinfoService, + private val locationRoadNearby: LocationRoadNearby, ) : ScenseService { @Autowired @@ -264,10 +266,10 @@ sceneDetail.scense = scene val mapper = when (scene.typeid.toString()) { - Constant.ScenseType.TYPE1.value -> sceneConstructionSiteMapper - Constant.ScenseType.TYPE2.value -> sceneWharfMapper - Constant.ScenseType.TYPE3.value -> sceneMixingPlantMapper - Constant.ScenseType.TYPE14.value -> sceneStorageYardMapper + Constant.SceneType.TYPE1.value -> sceneConstructionSiteMapper + Constant.SceneType.TYPE2.value -> sceneWharfMapper + Constant.SceneType.TYPE3.value -> sceneMixingPlantMapper + Constant.SceneType.TYPE14.value -> sceneStorageYardMapper else -> null } @@ -300,60 +302,92 @@ } } - var r = 0 - var isUpdate = true - when (typeId.toString()) { - Constant.ScenseType.TYPE1.value -> { - val subScene = Gson().fromJson(sceneDetailStr.subScene, SceneConstructionSite::class.java) - if (subScene.getsGuid() != null) { - val record =sceneConstructionSiteMapper.selectByPrimaryKey(subScene.getsGuid()) - isUpdate = record != null - r = if (record == null) { - sceneConstructionSiteMapper.insert(subScene) - } else { - sceneConstructionSiteMapper.updateByPrimaryKeySelective(subScene) + if (sceneDetailStr.subScene != null) { + var r = 0 + var isUpdate = true + when (typeId.toString()) { + Constant.SceneType.TYPE1.value -> { + val subScene = Gson().fromJson(sceneDetailStr.subScene, SceneConstructionSite::class.java) + if (subScene.getsGuid() != null) { + val record = sceneConstructionSiteMapper.selectByPrimaryKey(subScene.getsGuid()) + isUpdate = record != null + r = if (record == null) { + sceneConstructionSiteMapper.insert(subScene) + } else { + sceneConstructionSiteMapper.updateByPrimaryKeySelective(subScene) + } + } + } + Constant.SceneType.TYPE2.value -> { + val subScene = Gson().fromJson(sceneDetailStr.subScene, SceneWharf::class.java) + if (subScene.getsGuid() != null) { + val record = sceneWharfMapper.selectByPrimaryKey(subScene.getsGuid()) + isUpdate = record != null + r = if (record == null) { + sceneWharfMapper.insert(subScene) + } else { + sceneWharfMapper.updateByPrimaryKeySelective(subScene) + } + } + } + Constant.SceneType.TYPE3.value -> { + val subScene = Gson().fromJson(sceneDetailStr.subScene, SceneMixingPlant::class.java) + if (subScene.getsGuid() != null) { + val record = sceneMixingPlantMapper.selectByPrimaryKey(subScene.getsGuid()) + isUpdate = record != null + r = if (record == null) { + sceneMixingPlantMapper.insert(subScene) + } else { + sceneMixingPlantMapper.updateByPrimaryKeySelective(subScene) + } + } + } + Constant.SceneType.TYPE14.value -> { + val subScene = Gson().fromJson(sceneDetailStr.subScene, SceneStorageYard::class.java) + if (subScene.getsGuid() != null) { + val record = sceneStorageYardMapper.selectByPrimaryKey(subScene.getsGuid()) + isUpdate = record != null + r = if (record == null) { + sceneStorageYardMapper.insert(subScene) + } else { + sceneStorageYardMapper.updateByPrimaryKeySelective(subScene) + } } } } - Constant.ScenseType.TYPE2.value -> { - val subScene = Gson().fromJson(sceneDetailStr.subScene, SceneWharf::class.java) - if (subScene.getsGuid() != null) { - val record =sceneWharfMapper.selectByPrimaryKey(subScene.getsGuid()) - isUpdate = record != null - r = if (record == null) { - sceneWharfMapper.insert(subScene) - } else { - sceneWharfMapper.updateByPrimaryKeySelective(subScene) - } - } - } - Constant.ScenseType.TYPE3.value -> { - val subScene = Gson().fromJson(sceneDetailStr.subScene, SceneMixingPlant::class.java) - if (subScene.getsGuid() != null) { - val record =sceneMixingPlantMapper.selectByPrimaryKey(subScene.getsGuid()) - isUpdate = record != null - r = if (record == null) { - sceneMixingPlantMapper.insert(subScene) - } else { - sceneMixingPlantMapper.updateByPrimaryKeySelective(subScene) - } - } - } - Constant.ScenseType.TYPE14.value -> { - val subScene = Gson().fromJson(sceneDetailStr.subScene, SceneStorageYard::class.java) - if (subScene.getsGuid() != null) { - val record =sceneStorageYardMapper.selectByPrimaryKey(subScene.getsGuid()) - isUpdate = record != null - r = if (record == null) { - sceneStorageYardMapper.insert(subScene) - } else { - sceneStorageYardMapper.updateByPrimaryKeySelective(subScene) - } - } - } + result.append("鍦烘櫙鐗规湁淇℃伅${if (isUpdate) "鏇存柊" else "鏂板"}: $r; ") } - result.append("鍦烘櫙鐗规湁淇℃伅${if (isUpdate) "鏇存柊" else "鏂板"}: $r; ") return BaseResponse(true, data = result.toString()) } + + override fun searchScene(areaVo: AreaVo, page: Int?, perPage: Int?): BaseResponse<List<Scense>> { + val p = PageHelper.startPage<Scense>(page ?: 1, perPage ?: 30) + val list = scenseMapper.selectByExample(Example(Scense::class.java).apply { + createCriteria().apply { + areaVo.provincecode?.let { andEqualTo("provincecode", it) } + areaVo.citycode?.let { andEqualTo("citycode", it) } + areaVo.districtcode?.let { andEqualTo("districtcode", it) } + areaVo.towncode?.let { andEqualTo("towncode", it) } + areaVo.scensetypeid?.let { andEqualTo("typeid", it) } + areaVo.sceneName?.let { andLike("name", "%${it}%") } + + } + areaVo.online?.let { + and(createCriteria().apply { + if (it) { + orNotEqualTo("extension1", "0").orIsNull("extension1") + } else { + andEqualTo("extension1", "0") + } + }) + } + orderBy("typeid").orderBy("index") + }) + return BaseResponse(true, head = DataHead(p.pageNum, p.pages, p.total), data = list) + } + + override fun searchByCoordinate(lng: Double, lat: Double, radius: Double): List<Scense> { + return locationRoadNearby.searchByRadius(Pair(lng, lat), radius) + } } \ No newline at end of file -- Gitblit v1.9.3