From 1a677d2b4a4bc615602f8c2a22bc07ec1356e5be Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 16 十月 2025 17:39:06 +0800
Subject: [PATCH] 2025.10.16 1. 根据全局响应增强器GlobalResponseAdvice,将原先的BaseResPack接口包装函数统一去除; 2. 新增三种类型的数据产品数据库实体 3. 新增典型问题场景清单中间数据产品接口
---
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt | 167 ++++++++++++++++++++++++++++++-------------------------
1 files changed, 90 insertions(+), 77 deletions(-)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt
index e84b05a..ccca225 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt
@@ -130,11 +130,11 @@
//鏍规嵁鍖哄幙銆佸満鏅被鍨嬨�佹椂闂磋幏鍙栧悇涓棶棰樻暟閲�
override fun getStatisticalResult(areaVo: AreaVo): List<StatisticsVo> {
- val districtcode = areaVo.districtcode
- val sceneType = areaVo.scensetypeid
- val startTime = areaVo.starttime?.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
- val endTime = areaVo.endtime?.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
- return problemlistMapper.getStatisticalResult(districtcode, startTime, endTime, sceneType, areaVo.sceneId)
+// val districtcode = areaVo.districtcode
+// val sceneType = areaVo.scensetypeid
+// val startTime = areaVo.starttime?.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
+// val endTime = areaVo.endtime?.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
+ return problemlistMapper.getStatisticalResult(areaVo)
}
override fun getChargeResult(areaVo: AreaVo): ChargeInfoVo {
@@ -314,12 +314,12 @@
override fun delete(id: String): Int = problemlistMapper.deleteByPrimaryKey(id)
- override fun setDeleteStatus(id: String): BaseResponse<Int> {
+ override fun setDeleteStatus(id: String): Int {
val p = problemlistMapper.selectByPrimaryKey(id)
return when {
- p.ischanged == true -> BaseResponse(false, "闂宸叉暣鏀癸紝鏃犳硶鍒犻櫎", data = 0)
- p.extension3 != Constant.PROBLEM_UNCHECKED -> BaseResponse(false, "闂宸插鏍革紝鏃犳硶鍒犻櫎", data = 0)
+ p.ischanged == true -> throw BizException("闂宸叉暣鏀癸紝鏃犳硶鍒犻櫎")
+ p.extension3 != Constant.PROBLEM_UNCHECKED -> throw BizException("闂宸插鏍革紝鏃犳硶鍒犻櫎")
else -> {
// 2021/4/25 灏嗗師鏉ョ殑娣诲姞鍒犻櫎鐘舵�佹敼涓虹洿鎺ュ垹闄�
// p.remark = Constant.PROBLEM_DELETED
@@ -333,7 +333,7 @@
inspection.problemcount = inspection.problemcount!! - 1
inspectionMapper.updateByPrimaryKey(inspection)
}
- BaseResponse(true, "闂鍒犻櫎鎴愬姛", data = i)
+ i
}
}
}
@@ -372,11 +372,11 @@
remark: String,
userId: String,
userName: String,
- ): BaseResponse<String> {
- if (action !in 0..3) {
- return BaseResponse(false, "闈炴硶鐨勬搷浣滄寚浠�")
+ ): String {
+ if (action !in 0..5) {
+ throw BizException("闈炴硶鐨勬搷浣滄寚浠�")
}
- val p = problemlistMapper.selectByPrimaryKey(pId) ?: return BaseResponse(false, "闂涓嶅瓨鍦�")
+ val p = problemlistMapper.selectByPrimaryKey(pId) ?: throw BizException("闂涓嶅瓨鍦�")
val subtask = p.stguid?.let { subTaskRep.findOne(it) }
val response = BaseResponse<String>(true)
var event = ""
@@ -397,6 +397,14 @@
-> {
response.success = false
response.message = "闂鎻愪氦杩樻湭瀹℃牳锛屾棤娉曡繘琛屾暣鏀瑰鏍革紒"
+ }
+ 4.toByte() -> {
+ response.success = false
+ response.message = "闂鎻愪氦杩樻湭瀹℃牳锛屾棤娉曡繘琛屾挙鍥炲鏍革紒"
+ }
+ 5.toByte() -> {
+ response.success = false
+ response.message = "闂鏁存敼杩樻湭鎻愪氦锛屾棤娉曡繘琛屾挙鍥炲鏍革紒"
}
}
} else if (extension3 == Constant.PROBLEM_CHECK_PASS || extension3 == Constant.PROBLEM_CHECK_FAIL) {
@@ -419,6 +427,13 @@
response.message = "闂杩樻湭鏁存敼锛屾棤娉曡繘琛屾暣鏀瑰鏍革紒鎿嶄綔鏃犳晥"
}
}
+ 4.toByte() -> {
+ extension3 = Constant.PROBLEM_UNCHECKED
+ }
+ 5.toByte() -> {
+ response.success = false
+ response.message = "闂鏁存敼杩樻湭瀹℃牳锛屾棤娉曡繘琛屾暣鏀瑰鏍告挙鍥炴搷浣滐紒鎿嶄綔鏃犳晥"
+ }
}
} else if (extension3 == Constant.CHANGE_UNCHECKED) {
event = "鍦�${subtask?.scensename}瀹℃牳浜嗕竴涓暣鏀�"
@@ -431,6 +446,14 @@
}
2.toByte() -> extension3 = Constant.CHANGE_CHECK_PASS
3.toByte() -> extension3 = Constant.CHANGE_CHECK_FAIL
+ 4.toByte() -> {
+ response.success = false
+ response.message = "闂鏁存敼杩樻湭瀹℃牳锛屾棤娉曡繘琛屾挙鍥炲鏍革紒"
+ }
+ 5.toByte() -> {
+ response.success = false
+ response.message = "闂鎻愪氦宸插鏍革紝骞朵笖宸茶鏁存敼銆傛搷浣滄棤鏁�"
+ }
}
} else if (extension3 == Constant.CHANGE_CHECK_PASS || extension3 == Constant.CHANGE_CHECK_FAIL) {
when (action) {
@@ -442,6 +465,13 @@
}
2.toByte() -> extension3 = Constant.CHANGE_CHECK_PASS
3.toByte() -> extension3 = Constant.CHANGE_CHECK_FAIL
+ 4.toByte() -> {
+ response.success = false
+ response.message = "闂鎻愪氦宸插鏍革紝骞朵笖宸茶鏁存敼锛屾棤娉曡繘琛岄棶棰樺鏍告挙閿�鎿嶄綔銆傛搷浣滄棤鏁�"
+ }
+ 5.toByte() -> {
+ extension3 = Constant.CHANGE_UNCHECKED
+ }
}
}
}
@@ -455,24 +485,21 @@
bizLog.info(WorkStreamLogInfo(userId, userName, event))
}
}
- return response
+ return if (response.success) "闂瀹℃牳鎴愬姛" else throw BizException(response.message)
}
- override fun newProblem(problem: String, files: Array<MultipartFile>): BaseResponse<String> {
- val mapper = ObjectMapper()
-
+ override fun newProblem(problem: String, files: Array<MultipartFile>): String {
//json杞琽bject
- val problemVo = mapper.readValue(problem, object : TypeReference<ProblemVo>() {})
+ val problemVo = ObjectMapper().readValue(problem, object : TypeReference<ProblemVo>() {})
- val inspection = inspectionMapper.selectByPrimaryKey(problemVo.insGuid) ?: return BaseResponse(false, "宸℃煡璁板綍涓嶅瓨鍦�")
- val scene = scenseMapper.selectByPrimaryKey(inspection.sguid) ?: return BaseResponse(false, "宸℃煡璁板綍瀵瑰簲鍦烘櫙涓嶅瓨鍦�")
-
+ val inspection = inspectionMapper.selectByPrimaryKey(problemVo.insGuid) ?: throw BizException("宸℃煡璁板綍涓嶅瓨鍦�")
+ val scene = scenseMapper.selectByPrimaryKey(inspection.sguid) ?: throw BizException("宸℃煡璁板綍瀵瑰簲鍦烘櫙涓嶅瓨鍦�")
// 淇濆瓨闂
val problemlist = ProblemListVo.newPro(inspection, problemVo, scene)
problemlistMapper.insert(problemlist)
// 淇濆瓨鍥剧墖
- saveProFile(problemlist, inspection, scene, files)
+ mediafileService.saveMediaFile(files) { MediaFileVo.newProFile(inspection, problemlist, scene) }
//鏇存柊宸℃煡淇℃伅鐨勯棶棰樻暟
if (inspection.problemcount != null) {
@@ -486,46 +513,31 @@
bizLog.info(WorkStreamLogInfo(subtask?.executorguids, subtask?.executorrealtimes, event))
}
- return BaseResponse(true)
+ return "success"
}
override fun updateProblem(problem: ProblemListVo, deleteImg: List<String>, files: Array<MultipartFile>): String {
problemRep.findOne(problem.guid) ?: throw BizException("璇ラ棶棰樹笉瀛樺湪")
- val inspection = inspectionMapper.selectByPrimaryKey(problem.guid) ?: throw BizException("宸℃煡璁板綍涓嶅瓨鍦�")
+ problemRep.update(problem)
+ val inspection = inspectionMapper.selectByPrimaryKey(problem.iguid) ?: throw BizException("宸℃煡璁板綍涓嶅瓨鍦�")
val scene = scenseMapper.selectByPrimaryKey(inspection.sguid) ?: throw BizException("宸℃煡璁板綍瀵瑰簲鍦烘櫙涓嶅瓨鍦�")
- saveProFile(problem, inspection, scene, files)
+ mediafileService.saveMediaFile(files) { MediaFileVo.newProFile(inspection, problem, scene) }
mediafileService.deleteList(deleteImg)
return "success"
}
- override fun saveProFile(
- problemlist: Problemlist,
- inspection: Inspection,
- scene: Scense,
- files: Array<MultipartFile>,
- ): Int {
- var res = 0
- // 淇濆瓨鍥剧墖
- for (image in files) {
- val mediaFile = MediaFileVo.newProFile(inspection, problemlist, scene)
- res += mediafileMapper.insert(mediaFile)
- val path = mediaFile.extension1
- val fileName = mediaFile.guid + ".jpg"
- val filePath = "${imgPath}/$path/"
- try {
- //璋冪敤鏂囦欢淇濆瓨鏂规硶
- FileUtil.uploadFile(image.bytes, filePath, fileName)
- } catch (e: Exception) {
- // TODO: handle exception
- }
- }
- return res
- }
+ override fun changeProblem(problemId: String, files: Array<MultipartFile>): String {
+ // 闂鍜岄棶棰樺浘鐗囧悎娉曟�ф鏌�
+ val p = problemlistMapper.selectByPrimaryKey(problemId) ?: throw BizException("闂涓嶅瓨鍦�")
+ val mediaFiles = mediafileMapper.selectByExample(Example(Mediafile::class.java).apply {
+ createCriteria().andEqualTo("businessguid", p.guid)
+ .andEqualTo("businesstypeid", 1)
+ .andEqualTo("ischanged", false)
+ })
+ if (mediaFiles.isEmpty()) throw BizException("闂涓嶅瓨鍦ㄦ垨宸叉暣鏀癸紝鏃犳硶閲嶅鏁存敼")
- override fun changeProblem(problemId: String, files: Array<MultipartFile>): BaseResponse<String> {
// 鏇存柊闂
- val p = problemlistMapper.selectByPrimaryKey(problemId) ?: return BaseResponse(false, "闂涓嶅瓨鍦�")
p.apply {
ischanged = true
changedtime = Date()
@@ -544,39 +556,41 @@
}
problemlistMapper.updateByPrimaryKey(p)
- // 淇濆瓨鍥剧墖
- val now = LocalDateTime.now()
- val mediaFiles = mediafileMapper.selectByExample(Example(Mediafile::class.java).apply {
- createCriteria().andEqualTo("businessguid", p.guid)
- .andEqualTo("businesstypeid", 1)
- .andEqualTo("ischanged", false)
- })
- if (mediaFiles.isEmpty()) return BaseResponse(false, "鍦烘櫙闂鏁伴噺涓�0锛屾棤娉曟暣鏀�")
+ // 淇濆瓨鏁存敼鍥剧墖
val m = mediaFiles[0]
m.path = m.path + "鏁存敼/"
m.savetime = Date()
m.ischanged = true
-
- for (image in files) {
+ mediafileService.saveMediaFile(files) {
m.apply {
guid = UUIDGenerator.generate16ShortUUID()
description = p.problemname + " " + p.location + " 鏁存敼 " + UUIDGenerator.generateUUID(4) + ".jpg"
}
- mediafileMapper.insert(m)
-
- val path = m.extension1
- val fileName = m.guid + ".jpg"
-// val filePath = "E:\\work\\绗笁鏂圭洃绠pp\\鑷姩璇勫垎\\椁愰ギ\\"
- val filePath = "${imgPath}/$path"
- try {
- //璋冪敤鏂囦欢淇濆瓨鏂规硶
- FileUtil.uploadFile(image.bytes, filePath, fileName)
- } catch (e: Exception) {
- println(e)
- }
}
- return BaseResponse(true)
+ return "success"
+ }
+
+ override fun updateChange(problemId: String, deleteImg: List<String>, files: Array<MultipartFile>): String {
+ val p = problemRep.findOne(problemId) ?: throw BizException("璇ラ棶棰樹笉瀛樺湪")
+ val mediaFiles = mediafileMapper.selectByExample(Example(Mediafile::class.java).apply {
+ createCriteria().andEqualTo("businessguid", problemId)
+ .andEqualTo("businesstypeid", 1)
+ .andEqualTo("ischanged", true)
+ })
+ if (mediaFiles.isEmpty()) throw BizException("闂杩樻湭鏁存敼锛屾棤娉曚慨鏀规暣鏀�")
+
+ // 淇濆瓨鏂扮殑鏁存敼鍥剧墖
+ val m = mediaFiles[0]
+ m.savetime = Date()
+ mediafileService.saveMediaFile(files) {
+ m.apply {
+ guid = UUIDGenerator.generate16ShortUUID()
+ description = p.problemname + " " + p.location + " 鏁存敼 " + UUIDGenerator.generateUUID(4) + ".jpg"
+ }
+ }
+ mediafileService.deleteList(deleteImg)
+ return "success"
}
override fun getBySubTask(stGuid: String, all: Boolean?): List<ProblemListVo> {
@@ -612,14 +626,13 @@
override fun getSceneProSummary(
areaVo: AreaVo,
- sortBy: String,
page: Int,
per_page: Int,
): Pair<DataHead?, List<SceneProblemSummary>?> {
- areaVo.scensetypeid ?: throw BizException("缂哄皯鍦烘櫙绫诲瀷鍙傛暟")
- val task = taskRep.findOneTask(areaVo) ?: throw BizException("鏈壘鍒板搴旂殑宸℃煡鎬讳换鍔�")
+// areaVo.scensetypeid ?: throw BizException("缂哄皯鍦烘櫙绫诲瀷鍙傛暟")
+// val task = taskRep.findOneTask(areaVo) ?: throw BizException("鏈壘鍒板搴旂殑宸℃煡鎬讳换鍔�")
val p = PageHelper.startPage<SceneProblemSummary>(page, per_page)
- val res = problemRep.selectSceneProSummary(task.tguid!!, areaVo.scensetypeid!!, areaVo.sort, sortBy)
+ val res = problemRep.selectSceneProSummary(areaVo)
return DataHead(p.pageNum, p.pages, p.total) to res
}
}
\ No newline at end of file
--
Gitblit v1.9.3