diff --git a/src/main/java/com/alzzaipo/common/TsidUtil.java b/src/main/java/com/alzzaipo/common/TsidUtil.java new file mode 100644 index 00000000..c1971ae9 --- /dev/null +++ b/src/main/java/com/alzzaipo/common/TsidUtil.java @@ -0,0 +1,14 @@ +package com.alzzaipo.common; + +import com.github.f4b6a3.tsid.Tsid; + +public class TsidUtil { + + public static String toString(Long id) { + return Tsid.from(id).encode(62); + } + + public static Long toLong(String id) { + return Tsid.decode(id, 62).toLong(); + } +} diff --git a/src/main/java/com/alzzaipo/notification/adapter/in/web/criterion/NotificationCriterionController.java b/src/main/java/com/alzzaipo/notification/adapter/in/web/criterion/NotificationCriterionController.java index 6b5f6dff..20306203 100644 --- a/src/main/java/com/alzzaipo/notification/adapter/in/web/criterion/NotificationCriterionController.java +++ b/src/main/java/com/alzzaipo/notification/adapter/in/web/criterion/NotificationCriterionController.java @@ -1,6 +1,7 @@ package com.alzzaipo.notification.adapter.in.web.criterion; import com.alzzaipo.common.MemberPrincipal; +import com.alzzaipo.common.TsidUtil; import com.alzzaipo.common.Uid; import com.alzzaipo.notification.adapter.in.web.criterion.dto.RegisterNotificationCriterionWebRequest; import com.alzzaipo.notification.adapter.in.web.criterion.dto.UpdateNotificationCriterionWebRequest; @@ -57,7 +58,7 @@ public ResponseEntity updateNotificationCriterion(@AuthenticationPrincip @RequestBody UpdateNotificationCriterionWebRequest dto) { UpdateNotificationCriterionCommand command = new UpdateNotificationCriterionCommand( principal.getMemberUID(), - new Uid(dto.getUid()), + new Uid(TsidUtil.toLong(dto.getUid())), dto.getCompetitionRate(), dto.getLockupRate()); @@ -68,10 +69,10 @@ public ResponseEntity updateNotificationCriterion(@AuthenticationPrincip @DeleteMapping("/delete") public ResponseEntity deleteNotificationCriterion(@AuthenticationPrincipal MemberPrincipal principal, - @RequestParam("uid") Long notificationCriterionUID) { + @RequestParam("uid") String uid) { DeleteNotificationCriterionCommand command = new DeleteNotificationCriterionCommand( principal.getMemberUID(), - new Uid(notificationCriterionUID)); + new Uid(TsidUtil.toLong(uid))); deleteNotificationCriterionUseCase.deleteNotificationCriterion(command); diff --git a/src/main/java/com/alzzaipo/notification/adapter/in/web/criterion/dto/UpdateNotificationCriterionWebRequest.java b/src/main/java/com/alzzaipo/notification/adapter/in/web/criterion/dto/UpdateNotificationCriterionWebRequest.java index a9103abf..996e67ad 100644 --- a/src/main/java/com/alzzaipo/notification/adapter/in/web/criterion/dto/UpdateNotificationCriterionWebRequest.java +++ b/src/main/java/com/alzzaipo/notification/adapter/in/web/criterion/dto/UpdateNotificationCriterionWebRequest.java @@ -9,7 +9,7 @@ @NoArgsConstructor public class UpdateNotificationCriterionWebRequest { - private Long uid; + private String uid; private int competitionRate; private int lockupRate; } diff --git a/src/main/java/com/alzzaipo/notification/application/port/dto/NotificationCriterionView.java b/src/main/java/com/alzzaipo/notification/application/port/dto/NotificationCriterionView.java index 630589d4..fcba2e32 100644 --- a/src/main/java/com/alzzaipo/notification/application/port/dto/NotificationCriterionView.java +++ b/src/main/java/com/alzzaipo/notification/application/port/dto/NotificationCriterionView.java @@ -1,16 +1,17 @@ package com.alzzaipo.notification.application.port.dto; +import com.alzzaipo.common.TsidUtil; import lombok.Getter; @Getter public class NotificationCriterionView { - private Long uid; - private int competitionRate; - private int lockupRate; + private final String uid; + private final int competitionRate; + private final int lockupRate; public NotificationCriterionView(Long uid, int competitionRate, int lockupRate) { - this.uid = uid; + this.uid = TsidUtil.toString(uid); this.competitionRate = competitionRate; this.lockupRate = lockupRate; } diff --git a/src/main/java/com/alzzaipo/portfolio/adapter/in/web/PortfolioController.java b/src/main/java/com/alzzaipo/portfolio/adapter/in/web/PortfolioController.java index d56790ce..0c5dfffc 100644 --- a/src/main/java/com/alzzaipo/portfolio/adapter/in/web/PortfolioController.java +++ b/src/main/java/com/alzzaipo/portfolio/adapter/in/web/PortfolioController.java @@ -1,6 +1,7 @@ package com.alzzaipo.portfolio.adapter.in.web; import com.alzzaipo.common.MemberPrincipal; +import com.alzzaipo.common.TsidUtil; import com.alzzaipo.common.Uid; import com.alzzaipo.portfolio.adapter.in.web.dto.RegisterPortfolioWebRequest; import com.alzzaipo.portfolio.adapter.in.web.dto.UpdatePortfolioWebRequest; @@ -64,10 +65,10 @@ public ResponseEntity updateMemberPortfolio(@AuthenticationPrincipal Mem @DeleteMapping("/delete") public ResponseEntity delete(@AuthenticationPrincipal MemberPrincipal principal, - @RequestParam("uid") Long portfolioUID) { + @RequestParam("uid") String uid) { DeletePortfolioCommand command = new DeletePortfolioCommand( principal.getMemberUID(), - new Uid(portfolioUID)); + new Uid(TsidUtil.toLong(uid))); deletePortfolioUseCase.deletePortfolio(command); @@ -86,7 +87,7 @@ private RegisterPortfolioCommand toRegisterPortfolioCommand(MemberPrincipal prin private UpdatePortfolioCommand toUpdateMemberPortfolioCommand(MemberPrincipal principal, UpdatePortfolioWebRequest dto) { return new UpdatePortfolioCommand( - new Uid(dto.getUid()), + new Uid(TsidUtil.toLong(dto.getUid())), principal.getMemberUID(), dto.getStockCode(), dto.getSharesCnt(), diff --git a/src/main/java/com/alzzaipo/portfolio/adapter/in/web/dto/UpdatePortfolioWebRequest.java b/src/main/java/com/alzzaipo/portfolio/adapter/in/web/dto/UpdatePortfolioWebRequest.java index 587e05a0..8a52a191 100644 --- a/src/main/java/com/alzzaipo/portfolio/adapter/in/web/dto/UpdatePortfolioWebRequest.java +++ b/src/main/java/com/alzzaipo/portfolio/adapter/in/web/dto/UpdatePortfolioWebRequest.java @@ -9,7 +9,7 @@ @NoArgsConstructor public class UpdatePortfolioWebRequest { - private Long uid; + private String uid; private int stockCode; private int sharesCnt; private Long profit; diff --git a/src/main/java/com/alzzaipo/portfolio/application/dto/PortfolioView.java b/src/main/java/com/alzzaipo/portfolio/application/dto/PortfolioView.java index f876b4f2..bed456ce 100644 --- a/src/main/java/com/alzzaipo/portfolio/application/dto/PortfolioView.java +++ b/src/main/java/com/alzzaipo/portfolio/application/dto/PortfolioView.java @@ -1,11 +1,12 @@ package com.alzzaipo.portfolio.application.dto; +import com.alzzaipo.common.TsidUtil; import lombok.Getter; @Getter public class PortfolioView { - private final Long uid; + private final String uid; private final String stockName; @@ -22,7 +23,7 @@ public class PortfolioView { private final String memo; public PortfolioView(Long uid, String stockName, int stockCode, int sharesCnt, Long profit, Long profitRate, String agents, String memo) { - this.uid = uid; + this.uid = TsidUtil.toString(uid); this.stockName = stockName; this.stockCode = stockCode; this.sharesCnt = sharesCnt;