[maimai2] Add userGeneralData table

This commit is contained in:
Dom Eori
2021-10-07 21:51:44 +09:00
parent c9f80215ca
commit 8b22168df9
4 changed files with 96 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
package icu.samnyan.aqua.sega.maimai2.dao.userdata;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserGeneralData;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Optional;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Repository("Maimai2UserGeneralDataRepository")
public interface UserGeneralDataRepository extends JpaRepository<UserGeneralData, Long> {
List<UserGeneralData> findByUser_Card_ExtId(long userId);
Optional<UserGeneralData> findByUserAndPropertyKey(UserDetail user, String key);
Optional<UserGeneralData> findByUser_Card_ExtIdAndPropertyKey(long userId, String key);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -0,0 +1,44 @@
package icu.samnyan.aqua.sega.maimai2.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
/**
* This is for storing some data only use in aqua
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "Maimai2UserGeneralData")
@Table(name = "maimai2_user_general_data")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserGeneralData implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserDetail user;
private String propertyKey;
@Column(columnDefinition = "TEXT")
private String propertyValue;
public UserGeneralData(UserDetail userData, String key) {
this.user = userData;
this.propertyKey = key;
this.propertyValue = "";
}
}