|
- package com.ffii.fpsms.m18.service
-
- import com.ffii.fpsms.m18.entity.M18DataLog
- import com.ffii.fpsms.m18.entity.M18DataLogRepository
- import com.ffii.fpsms.m18.model.M18DataLogResponse
- import com.ffii.fpsms.m18.model.SaveM18DataLogRequest
- import org.springframework.stereotype.Service
- import kotlin.jvm.optionals.getOrDefault
-
- @Service
- class M18DataLogService(
- val m18DataLogRepository: M18DataLogRepository
- ) {
- fun findLatestM18DataLog(m18Id: Long, refType: String): M18DataLog? {
- return m18DataLogRepository.findFirstByM18IdAndRefTypeAndDeletedIsFalseOrderByM18LastModifyDateDesc(m18Id, refType)
- }
-
- fun saveM18DataLog(request: SaveM18DataLogRequest): M18DataLogResponse {
- val id = request.id
- val m18DataLog =
- if (id != null && id > 0) m18DataLogRepository.findById(id).getOrDefault(M18DataLog()) else M18DataLog()
-
- m18DataLog.apply {
- refType = request.refType
- m18Id = request.m18Id
- m18LastModifyDate = request.m18LastModifyDate
- dataLog = request.dataLog
- status = request.status
- }
-
- val response = m18DataLogRepository.saveAndFlush(m18DataLog).let { dataLog ->
- M18DataLogResponse(
- id = dataLog.id,
- refType = dataLog.refType,
- m18Id = dataLog.m18Id,
- status = dataLog.status,
- )
- }
-
- return response
- }
- }
|