From 6c7f45871b93ef26d353a5a3596701ac2f39ed9c Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 10 九月 2024 17:48:27 +0800
Subject: [PATCH] 1. 新增问题更新接口

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/MediafileServiceImpl.kt |   68 ++++++++++++++++++++++-----------
 1 files changed, 45 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..27ca9c2 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
@@ -4,8 +4,9 @@
 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.repository.MediaFileRep
 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 +14,17 @@
 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,
+    @Value("\${filePath}") var filePath: String,
+    @Value("\${imgPath}") var imgPath: String,
+) : MediafileService {
 
     private val logging: Logger = LoggerFactory.getLogger(MediafileServiceImpl::class.java)
 
@@ -32,34 +39,34 @@
     }
 
     //鏍规嵁闂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 +79,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 +96,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)
@@ -117,10 +124,25 @@
         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
+        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