forked from Cookies_Github_mirror/AquaDX
[chuni] fix user item being overwritten
[api] fix set diva news
This commit is contained in:
@@ -15,7 +15,7 @@ import java.util.Optional;
|
||||
@Repository
|
||||
public interface UserItemRepository extends JpaRepository<UserItem, Long> {
|
||||
|
||||
Optional<UserItem> findTopByUserAndItemIdOrderByIdDesc(UserData user, int itemId);
|
||||
Optional<UserItem> findTopByUserAndItemIdAndItemKindOrderByIdDesc(UserData user, int itemId, int itemKind);
|
||||
|
||||
Page<UserItem> findAllByUser_Card_ExtIdAndItemKind(long extId, int itemKind, Pageable pageable);
|
||||
}
|
||||
|
||||
@@ -191,16 +191,17 @@ public class UpsertUserAllHandler implements BaseHandler {
|
||||
|
||||
userItemList.forEach(userItemMap -> {
|
||||
String itemId = (String) userItemMap.get("itemId");
|
||||
String itemKind = (String) userItemMap.get("itemKind");
|
||||
|
||||
|
||||
Optional<UserItem> userItemOptional = userItemService.getByUserAndItemId(newUserData, itemId);
|
||||
Optional<UserItem> userItemOptional = userItemService.getByUserAndItemId(newUserData, itemId, itemKind);
|
||||
UserItem userItem = userItemOptional.orElseGet(() -> new UserItem(newUserData));
|
||||
|
||||
UserItem newUserItem = mapper.convert(userItemMap, UserItem.class);
|
||||
newUserItem.setId(userItem.getId());
|
||||
newUserItem.setUser(userItem.getUser());
|
||||
|
||||
newUserItemMap.put(itemId, newUserItem);
|
||||
newUserItemMap.put(itemId + "-" + itemKind, newUserItem);
|
||||
});
|
||||
userItemService.saveAll(newUserItemMap.values());
|
||||
}
|
||||
|
||||
@@ -25,8 +25,8 @@ public class UserItemService {
|
||||
}
|
||||
|
||||
|
||||
public Optional<UserItem> getByUserAndItemId(UserData user, String itemId) {
|
||||
return userItemRepository.findTopByUserAndItemIdOrderByIdDesc(user, Integer.parseInt(itemId));
|
||||
public Optional<UserItem> getByUserAndItemId(UserData user, String itemId, String itemKind) {
|
||||
return userItemRepository.findTopByUserAndItemIdAndItemKindOrderByIdDesc(user, Integer.parseInt(itemId), Integer.parseInt(itemKind));
|
||||
}
|
||||
|
||||
public UserItem save(UserItem userItem) {
|
||||
|
||||
Reference in New Issue
Block a user