package cn.flightfeather.supervision.domain.repository
|
|
import cn.flightfeather.supervision.domain.entity.LedgerRecord
|
import cn.flightfeather.supervision.domain.entity.LedgerSubType
|
import cn.flightfeather.supervision.domain.entity.Userinfo
|
import cn.flightfeather.supervision.domain.mapper.LedgerRecordMapper
|
import cn.flightfeather.supervision.domain.mapper.LedgerSubTypeMapper
|
import org.springframework.stereotype.Repository
|
import tk.mybatis.mapper.entity.Example
|
import java.time.LocalDateTime
|
import java.time.ZoneId
|
import java.util.*
|
|
@Repository
|
class LedgerRep(
|
private val ledgerSubTypeMapper: LedgerSubTypeMapper,
|
private val ledgerRecordMapper: LedgerRecordMapper,
|
) {
|
fun selectLedger(ledgerSubTypeId: Int?): LedgerSubType? {
|
return ledgerSubTypeMapper.selectByPrimaryKey(ledgerSubTypeId)
|
}
|
|
fun insertRecord(ledgerRecord: LedgerRecord?) {
|
ledgerRecord?.let { ledgerRecordMapper.insert(it) }
|
}
|
|
fun updateRecord(ledgerRecord: LedgerRecord?) {
|
ledgerRecord?.let { ledgerRecordMapper.updateByPrimaryKey(it) }
|
}
|
|
fun selectRecord(userId: String, ledgerSubTypeId: Int?, time: Date?): LedgerRecord? {
|
val updateTime = LocalDateTime.ofInstant(time?.toInstant(), ZoneId.systemDefault())
|
return selectRecord(userId, ledgerSubTypeId, updateTime)
|
}
|
|
fun selectRecord(userId: String, ledgerSubTypeId: Int?, time: LocalDateTime?): LedgerRecord? {
|
val year = time?.year
|
val month = time?.monthValue
|
return ledgerRecordMapper.selectOne(LedgerRecord().apply {
|
lsSubtypeid = ledgerSubTypeId
|
year?.let { lrYear = it }
|
month?.let { lrMonth = it.toByte() }
|
lrSubmitid = userId
|
})
|
}
|
}
|