package tech.powerjob.server.persistence.remote.repository; import tech.powerjob.server.persistence.remote.model.ServerInfoDO; import com.google.errorprone.annotations.CanIgnoreReturnValue; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import javax.transaction.Transactional; import java.util.Date; /** * 服务器信息 数据操作层 * * @author tjq * @since 2020/4/15 */ public interface ServerInfoRepository extends JpaRepository { ServerInfoDO findByIp(String ip); @Transactional(rollbackOn = Exception.class) @Modifying @CanIgnoreReturnValue @Query(value = "update ServerInfoDO set gmtModified = :gmtModified where ip = :ip") int updateGmtModifiedByIp(@Param("ip") String ip, @Param("gmtModified") Date gmtModified); @Transactional(rollbackOn = Exception.class) @Modifying @CanIgnoreReturnValue @Query(value = "update ServerInfoDO set id = :id where ip = :ip") int updateIdByIp(@Param("id") long id, @Param("ip") String ip); @Transactional(rollbackOn = Exception.class) @Modifying @Query(value = "delete from ServerInfoDO where gmtModified < ?1") int deleteByGmtModifiedBefore(Date threshold); }