added bookmarked to scan history

This commit is contained in:
heyethereum
2024-07-22 00:48:23 +08:00
parent 77541c2a9d
commit 7cb68e2ec0
7 changed files with 33 additions and 13 deletions

View File

@@ -35,6 +35,9 @@ public class ScanHistoryEntity {
@Column(name = "date_updated")
private OffsetDateTime dateUpdated;
@Column(name = "bookmarked")
private boolean bookmarked;
public enum ScanStatus {
ACTIVE,
INACTIVE

View File

@@ -1,10 +1,11 @@
package com.safeqr.app.qrcode.repository;
import com.safeqr.app.qrcode.entity.QRCodeEntity;
import com.safeqr.app.qrcode.entity.ScanHistoryEntity;
import com.safeqr.app.user.dto.ScannedHistoriesDto;
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 org.springframework.stereotype.Repository;
import java.util.List;
@@ -12,8 +13,9 @@ import java.util.UUID;
@Repository
public interface ScanHistoryRepository extends JpaRepository<ScanHistoryEntity, Long> {
@Query("SELECT sh.qrCodeEntity FROM ScanHistoryEntity sh WHERE sh.userId = :userId AND sh.scanStatus = 'ACTIVE'")
List<QRCodeEntity> findAllQRCodesByUserId(String userId);
@Query("SELECT new com.safeqr.app.user.dto.ScannedHistoriesDto(sh.qrCodeEntity, sh.bookmarked) " +
"FROM ScanHistoryEntity sh WHERE sh.userId = :userId AND sh.scanStatus = 'ACTIVE' ORDER BY sh.dateCreated DESC")
List<ScannedHistoriesDto> findAllQRCodesByUserId(@Param("userId") String userId);
@Modifying
@Query("UPDATE ScanHistoryEntity sh SET sh.scanStatus = com.safeqr.app.qrcode.entity.ScanHistoryEntity$ScanStatus.INACTIVE, sh.dateUpdated = CURRENT_TIMESTAMP WHERE sh.userId = :userId AND sh.scanStatus = com.safeqr.app.qrcode.entity.ScanHistoryEntity$ScanStatus.ACTIVE AND sh.qrCodeId = :qrCodeId")