From 03ed3f13f49e9a5029e0d9d78d102a7c63d55680 Mon Sep 17 00:00:00 2001 From: Clansty Date: Sun, 28 Jul 2024 00:56:18 +0800 Subject: [PATCH] [+] Support setting favourite music --- .../sega/maimai2/handler/UpsertUserAllHandler.kt | 12 ++++++++++++ .../sega/maimai2/model/request/data/UserAll.java | 2 ++ .../model/request/data/UserFavoriteItem.java | 15 +++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/model/request/data/UserFavoriteItem.java diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/UpsertUserAllHandler.kt b/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/UpsertUserAllHandler.kt index f9fdfbe8..c4206258 100644 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/UpsertUserAllHandler.kt +++ b/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/UpsertUserAllHandler.kt @@ -127,6 +127,18 @@ class UpsertUserAllHandler( }.sortedBy { it.sortNumber }) } + if(req.isNewFavoritemusicList.equals("0")) + // According to code, 0 here represents favourite differ and will send complete new list via userFavoritemusicList. + // Or userFavoritemusicList will be empty + req.userFavoritemusicList?.let { news -> + val key = "favorite_music" + val data = repos.userGeneralData.findByUserAndPropertyKey(u, key)() + ?: Mai2UserGeneralData().apply { user = u; propertyKey = key } + repos.userGeneralData.save(data.apply { + propertyValue = news.map { it.id }.joinToString(",") + }) + } + return SUCCESS } diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/model/request/data/UserAll.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/model/request/data/UserAll.java index 82ba0128..4f249bfc 100644 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/model/request/data/UserAll.java +++ b/src/main/java/icu/samnyan/aqua/sega/maimai2/model/request/data/UserAll.java @@ -34,6 +34,7 @@ public class UserAll implements Serializable { private List userFavoriteList; private List userActivityList; private List> userGamePlaylogList; + private List userFavoritemusicList; private String isNewCharacterList; private String isNewMapList; private String isNewLoginBonusList; @@ -42,4 +43,5 @@ public class UserAll implements Serializable { private String isNewCourseList; private String isNewFavoriteList; private String isNewFriendSeasonRankingList; + private String isNewFavoritemusicList; } diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/model/request/data/UserFavoriteItem.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/model/request/data/UserFavoriteItem.java new file mode 100644 index 00000000..7b03799d --- /dev/null +++ b/src/main/java/icu/samnyan/aqua/sega/maimai2/model/request/data/UserFavoriteItem.java @@ -0,0 +1,15 @@ +package icu.samnyan.aqua.sega.maimai2.model.request.data; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class UserFavoriteItem implements Serializable { + private int orderId; + private int id; +}