package cn.flightfeather.supervision.lightshare.repository.impl
|
|
import cn.flightfeather.supervision.domain.entity.Signature
|
import cn.flightfeather.supervision.domain.mapper.SignatureMapper
|
import cn.flightfeather.supervision.lightshare.repository.MeetingSignatureRepository
|
import org.springframework.stereotype.Repository
|
import tk.mybatis.mapper.entity.Example
|
|
/**
|
* @author riku
|
* Date: 2019/12/27
|
*/
|
@Repository
|
class MeetingSignatureRepositoryImpl(val signatureMapper: SignatureMapper) : MeetingSignatureRepository {
|
override fun addSignature(signature: Signature): Int {
|
return signatureMapper.insert(signature)
|
}
|
|
override fun updateSignature(signature: Signature): Int {
|
return signatureMapper.updateByPrimaryKey(signature)
|
}
|
|
override fun deleteSignatureByUser(meetingId: String, roomId: String?, participantId: String): Int {
|
return signatureMapper.deleteByExample(Example(Signature::class.java).apply {
|
createCriteria().andEqualTo("msMguid", meetingId)
|
.apply {
|
roomId?.let {
|
andEqualTo("mcVmroomguid", roomId)
|
}
|
}
|
.andEqualTo("msParticipantid", participantId)
|
})
|
}
|
|
override fun getSignatureByUser(meetingId: String, roomId: String?, participantId: String): Signature? {
|
val result = signatureMapper.selectByExample(Example(Signature::class.java).apply {
|
createCriteria().andEqualTo("msMguid", meetingId)
|
.apply {
|
if (roomId != null) {
|
andEqualTo("mcVmroomguid", roomId)
|
}
|
}
|
.andEqualTo("msParticipantid", participantId)
|
})
|
return if (result.isNotEmpty()) {
|
result[0]
|
} else {
|
null
|
}
|
}
|
|
override fun getSignatureRecord(meetingId: String, roomId: String?): List<Signature> {
|
return signatureMapper.selectByExample(Example(Signature::class.java).apply {
|
createCriteria().andEqualTo("msMguid", meetingId)
|
.apply {
|
roomId?.let {
|
andEqualTo("mcVmroomguid", it)
|
}
|
}
|
})
|
}
|
}
|