From 82baf5d28ce79aa4d3b64956207d247596726924 Mon Sep 17 00:00:00 2001
From: hcong <1050828145@qq.com>
Date: 星期二, 10 十二月 2024 11:21:33 +0800
Subject: [PATCH] 1. BgTaskStatus状态属性序列化
---
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MediafileServiceImpl.kt | 119 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 96 insertions(+), 23 deletions(-)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MediafileServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MediafileServiceImpl.kt
index f320255..4081cf9 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MediafileServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MediafileServiceImpl.kt
@@ -1,11 +1,17 @@
package cn.flightfeather.supervision.lightshare.service.impl
+import cn.flightfeather.supervision.common.exception.BizException
import cn.flightfeather.supervision.domain.ds1.entity.Mediafile
import cn.flightfeather.supervision.domain.ds1.mapper.MediafileMapper
import cn.flightfeather.supervision.common.utils.Constant
import cn.flightfeather.supervision.common.utils.FileUtil
+import cn.flightfeather.supervision.domain.ds1.entity.Inspection
+import cn.flightfeather.supervision.domain.ds1.repository.InspectionRep
+import cn.flightfeather.supervision.domain.ds1.repository.MediaFileRep
+import cn.flightfeather.supervision.domain.ds1.repository.SceneRep
+import cn.flightfeather.supervision.domain.ds1.repository.SubTaskRep
import cn.flightfeather.supervision.lightshare.service.MediafileService
-import cn.flightfeather.supervision.lightshare.vo.MediafileVo
+import cn.flightfeather.supervision.lightshare.vo.MediaFileVo
import com.fasterxml.jackson.core.type.TypeReference
import org.springframework.beans.BeanUtils
import org.springframework.stereotype.Service
@@ -13,11 +19,20 @@
import com.fasterxml.jackson.databind.ObjectMapper
import org.slf4j.Logger
import org.slf4j.LoggerFactory
+import org.springframework.beans.factory.annotation.Value
import java.io.File
@Service
-class MediafileServiceImpl(val mediafileMapper: MediafileMapper) : MediafileService {
+class MediafileServiceImpl(
+ val mediafileMapper: MediafileMapper,
+ private val mediaFileRep: MediaFileRep,
+ private val inspectionRep: InspectionRep,
+ private val subTaskRep: SubTaskRep,
+ private val sceneRep: SceneRep,
+ @Value("\${filePath}") var filePath: String,
+ @Value("\${imgPath}") var imgPath: String,
+) : MediafileService {
private val logging: Logger = LoggerFactory.getLogger(MediafileServiceImpl::class.java)
@@ -31,35 +46,57 @@
return mediafilelist
}
+ /**
+ * 鑾峰彇鎵�鏈変换鎰忔媿甯歌璁板綍鍥剧墖
+ * @param iGuid
+ */
+ override fun getRoutineRecord(iGuid: String?, stGuid: String?): List<Mediafile?> {
+ var inspectionGuid = iGuid
+ val sceneId = if (iGuid != null) {
+ inspectionRep.findOne(iGuid)?.sguid
+ } else if (stGuid != null) {
+ val s = subTaskRep.findOne(stGuid)
+ val ins = inspectionRep.findOne(Inspection().apply { stguid = stGuid })
+ inspectionGuid = ins?.guid
+ s?.scenseid
+ } else {
+ throw BizException("宸℃煡璁板綍id鍜屽贰鏌ヤ换鍔d鑷冲皯濉啓鍏朵腑涓�涓�")
+ }
+ sceneId ?: throw BizException("璁板綍瀵瑰簲鐨勫満鏅笉瀛樺湪")
+ val sceneInfo = sceneRep.findScene(sceneId = sceneId)
+ val mediaFileTypeList = Constant.MediaFileType.getList(sceneInfo?.typeid).map { it.value }
+ return mediaFileRep.findList(inspectionGuid, mediaFileTypeList)
+ }
+
//鏍规嵁闂id鑾峰彇濯掍綋鏂囦欢
- override fun findByProblemID(id: String): List<MediafileVo> {
- val mediafileVos = mutableListOf<MediafileVo>()
+ override fun findByProblemID(id: String): List<MediaFileVo> {
+ val mediaFileVos = mutableListOf<MediaFileVo>()
val mediafile = Mediafile()
mediafile.iguid = id
val mediafiles = mediafileMapper.select(mediafile)
if (mediafiles.isNotEmpty()) {
mediafiles.forEach {
- val mediafileVo = MediafileVo()
+ val mediafileVo = MediaFileVo()
BeanUtils.copyProperties(it, mediafileVo)
- mediafileVos.add(mediafileVo)
+ mediaFileVos.add(mediafileVo)
}
}
- mediafileVos.sortBy { it.savetime }
- return mediafileVos
+ mediaFileVos.sortBy { it.savetime }
+ return mediaFileVos
}
//鏂板濯掍綋鏂囦欢
override fun addMedifile(mediafileVoList: String, files: Array<MultipartFile>) {
- logging.info("涓婁紶鏂囦欢鏂规硶璋冪敤")
- logging.info("mediafileVoList:" + mediafileVoList)
+// logging.info("涓婁紶鏂囦欢鏂规硶璋冪敤")
+// logging.info("mediafileVoList:" + mediafileVoList)
val mapper = ObjectMapper()
//json杞琽bject
- val mediafileVos =
- mapper.readValue<List<MediafileVo>>(mediafileVoList, object : TypeReference<List<MediafileVo>>() {})
+ val mediaFileVos =
+ mapper.readValue<List<MediaFileVo>>(mediafileVoList, object : TypeReference<List<MediaFileVo>>() {})
- if (mediafileVos.isNotEmpty()) {
- mediafileVos.forEach {
+ if (mediaFileVos.isNotEmpty()) {
+ mediaFileVos.forEach {
val mediafile = Mediafile()
BeanUtils.copyProperties(it, mediafile)
@@ -72,14 +109,14 @@
}
//鏍规嵁鎵╁睍瀛楁1鑾峰彇淇濆瓨璺緞
- val path = mediafileVos[0].extension1
+ val path = mediaFileVos[0].extension1
for (image in files) {
val fileName = image.originalFilename
- val filePath = "${Constant.DEFAULT_FILE_PATH}/images/$path/"
+ val filePath = "${imgPath}/$path/"
try {
//璋冪敤鏂囦欢淇濆瓨鏂规硶
- FileUtil().uploadFile(image.bytes, filePath, fileName!!)
+ FileUtil.uploadFile(image.bytes, filePath, fileName!!)
} catch (e: Exception) {
// TODO: handle exception
}
@@ -89,17 +126,17 @@
//鏍规嵁涓氬姟绫诲瀷ID鑾峰彇濯掍綋鏂囦欢
- override fun findByBusinessGUID(businessGuid: String): List<MediafileVo> {
- val mediafileVoList = mutableListOf<MediafileVo>()
+ override fun findByBusinessGUID(businessGuid: String): List<MediaFileVo> {
+ val mediaFileVoList = mutableListOf<MediaFileVo>()
val mediafile = Mediafile()
mediafile.businessguid = businessGuid
val mediafiles = mediafileMapper.select(mediafile)
mediafiles.forEach {
- val mediafileVo = MediafileVo()
+ val mediafileVo = MediaFileVo()
BeanUtils.copyProperties(it, mediafileVo)
- mediafileVoList.add(mediafileVo)
+ mediaFileVoList.add(mediafileVo)
}
- return mediafileVoList
+ return mediaFileVoList
}
override fun findOne(id: String): Mediafile = mediafileMapper.selectByPrimaryKey(id)
@@ -107,6 +144,26 @@
override fun findAll(): MutableList<Mediafile> = mediafileMapper.selectAll()
override fun save(mediafile: Mediafile): Int = mediafileMapper.updateByPrimaryKey(mediafile)
+
+ override fun saveMediaFile(files: Array<MultipartFile>, getMediaFile: () -> Mediafile): Int {
+ var res = 0
+ // 淇濆瓨鍥剧墖
+ for (image in files) {
+ val mediaFile = getMediaFile()
+ 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 update(mediafile: Mediafile): Int = mediafileMapper.updateByPrimaryKey(mediafile)
@@ -117,10 +174,26 @@
val path = mediafile.extension1
//File("/Users/liwei/images/${path}/${id}.jpg").delete()
//鍏堝垹鍥剧墖
- val f = File("${Constant.DEFAULT_FILE_PATH}/images/$path/$id.jpg")
+ val f = File("${imgPath}/$path/$id.jpg")
if (f.exists()) {
f.delete()
}
return mediafileMapper.deleteByPrimaryKey(id)
}
+
+ override fun deleteList(idList: List<String>): Int {
+ var res = 0
+ if (idList.isEmpty()) return res
+ mediaFileRep.findList(idList).forEach {
+ //鏈嶅姟鍣ㄤ繚瀛樿矾寰�
+ val path = it?.extension1
+ //鍏堝垹鍥剧墖
+ val f = File("${imgPath}/$path/${it?.guid}.jpg")
+ if (f.exists()) {
+ f.delete()
+ }
+ res += mediaFileRep.deleteOne(it?.guid)
+ }
+ return res
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3