| | |
| | | clueConclusion.cId ?: throw BizException("线索id缺失") |
| | | clueConclusion.ccUploaded = false |
| | | clueConclusion.ccCreateTime = Date() |
| | | if (clueConclusion.ccInternal == null) clueConclusion.ccInternal = false |
| | | try { |
| | | val conclusion = clueConclusionMapper.selectOne(ClueConclusion().apply { cId = clueConclusion.cId }) |
| | | // 更新 |
| | |
| | | } |
| | | } |
| | | |
| | | override fun getClueConclusion(clueId: String): ClueConclusion? { |
| | | override fun getClueConclusion(clueId: String, internal: Boolean?): ClueConclusion? { |
| | | val res = clueConclusionMapper.selectByExample(Example(ClueConclusion::class.java).apply { |
| | | createCriteria().andEqualTo("cId", clueId) |
| | | .apply { |
| | | if (internal == true) { |
| | | andEqualTo("ccInternal", true) |
| | | } else { |
| | | and( |
| | | createCriteria().orIsNull("ccInternal") |
| | | .orEqualTo("ccInternal", false) |
| | | ) |
| | | } |
| | | } |
| | | }) |
| | | return if (res.isNotEmpty()) res[0] else null |
| | | } |
| | | |
| | | override fun pushConclusion(conclusionIdList: List<String>?): Boolean { |
| | | clueConclusionMapper.selectByExample(Example(ClueConclusion::class.java).apply { |
| | | createCriteria().andEqualTo("ccUploaded", false).apply { |
| | | createCriteria() |
| | | .andEqualTo("ccUploaded", false) |
| | | .apply { |
| | | conclusionIdList?.let { |
| | | andIn("ccId", it) |
| | | } |
| | | // 排除掉内部线索结论 |
| | | and( |
| | | createCriteria().orIsNull("ccInternal") |
| | | .orEqualTo("ccInternal", false) |
| | | ) |
| | | } |
| | | }).forEach { |
| | | it?.let { |