道路线索应急巡查系统服务后台
feiyu02
2025-09-30 84569abda51ecf6c5549dec4cadee8d043422379
src/main/kotlin/com/flightfeather/grid/service/impl/ClueQuestionServiceImpl.kt
@@ -35,16 +35,18 @@
        return res == 1
    }
    override fun updateQuestionAndImage(question: String, deleteImg: String, files: Array<MultipartFile>): Boolean {
    override fun updateQuestionAndImage(question: String, deleteImg: String?, files: Array<MultipartFile>?): Boolean {
        val questionVo = Gson().fromJson(question, ClueQuestion::class.java)
        val oldOne = clueQuestionMapper.selectByPrimaryKey(questionVo.cqId) ?: throw BizException("问题不存在")
        if (oldOne.cqUploaded) throw BizException("问题已上传,无法修改")
        deleteImageFile(questionVo, deleteImg)
        val picPath = saveImageFile(questionVo, files)
        if (questionVo.cqFilePath.isEmpty()) {
            questionVo.cqFilePath = picPath
        } else {
            questionVo.cqFilePath += ";${picPath}"
        if (deleteImg != null) deleteImageFile(questionVo, deleteImg)
        if (files != null) {
            val picPath = saveImageFile(questionVo, files)
            if (questionVo.cqFilePath.isEmpty()) {
                questionVo.cqFilePath = picPath
            } else {
                questionVo.cqFilePath += ";${picPath}"
            }
        }
        questionVo.cqCreateTime = Date()
        val res = clueQuestionMapper.updateByPrimaryKeySelective(questionVo)
@@ -55,6 +57,20 @@
        val oldOne = clueQuestionMapper.selectByPrimaryKey(questionId) ?: throw BizException("问题不存在")
        if (oldOne.cqUploaded) throw BizException("问题已上传,无法删除")
        deleteImageDirectory(oldOne)
        PageHelper.startPage<ClueQuestion>(1, 1)
        clueQuestionMapper.selectByExample(Example(ClueQuestion::class.java).apply {
            createCriteria().andEqualTo("cId", oldOne.cId)
            orderBy("cqUid").desc()
        })?.takeIf { it.isNotEmpty() }?.let {
            val q = it[0]
            if (q?.cqUid != oldOne.cqUid) {
                q?.cqUid = oldOne.cqUid
                clueQuestionMapper.updateByPrimaryKeySelective(q)
            }
        }
//        clueQuestionMapper.select
        val res = clueQuestionMapper.deleteByPrimaryKey(questionId)
        return res == 1
    }
@@ -147,7 +163,7 @@
                        )
                    }
                }
            orderBy("cqId")
            orderBy("cqUid")
        })
        return res
    }