Skip to content

Commit

Permalink
Merge pull request #48 from Ajou-Hertz/feature/#46-implement-instrume…
Browse files Browse the repository at this point in the history
…nt-entity

악기 관련 entity 구현
  • Loading branch information
tinon1004 authored Feb 26, 2024
2 parents 9aa17a3 + 3b39bbc commit be37cd7
Show file tree
Hide file tree
Showing 29 changed files with 894 additions and 0 deletions.
44 changes: 44 additions & 0 deletions src/main/java/com/ajou/hertz/common/entity/Address.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.ajou.hertz.common.entity;

import java.util.Objects;

import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

@AllArgsConstructor(access = AccessLevel.PRIVATE)
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Embeddable
public class Address {

@Column(nullable = false)
private String sido;

@Column(nullable = false)
private String sgg;

@Column(nullable = false)
private String emd;

@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof Address address)) {
return false;
}
return Objects.equals(getSido(), address.getSido())
&& Objects.equals(getSgg(), address.getSgg())
&& Objects.equals(getEmd(), address.getEmd());
}

@Override
public int hashCode() {
return Objects.hash(getSido(), getSgg(), getEmd());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.ajou.hertz.domain.instrument.constant;

import static com.ajou.hertz.domain.instrument.constant.ProductOrigin.*;

import lombok.AllArgsConstructor;

@AllArgsConstructor
public enum AcousticAndClassGuitarBrand {

PRAYTON(DOMESTIC),
CRAFTER(DOMESTIC),
GOPHERWOOD(DOMESTIC),
HEX(DOMESTIC),
BENTIVOGLIO(DOMESTIC),
PARKWOOD(DOMESTIC),
ORANGEWOOD(DOMESTIC),
CORT(DOMESTIC),
MARTIN(FOREIGN),
TAYLOR(FOREIGN),
GIBSON(FOREIGN),
SEAGULL(FOREIGN),
EASTMAN(FOREIGN),
SIGMA(FOREIGN),
YAMAHA(FOREIGN),
LAVA(FOREIGN),
ETC(null);

private final ProductOrigin origin;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.ajou.hertz.domain.instrument.constant;

public enum AcousticAndClassGuitarModel {

DREADNOUGHT,
CUTAWAY,
JUMBO_BODY,
SLIM_BODY,
PARLOR_BODY,
OM_BODY
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.ajou.hertz.domain.instrument.constant;

import lombok.AllArgsConstructor;

@AllArgsConstructor
public enum AcousticAndClassGuitarPickUp {

VIBRATION_SENSING("진동감지형"),
MAGNETIC("마그네틱"),
MICROPHONE("마이크");

private final String description;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.ajou.hertz.domain.instrument.constant;

public enum AcousticAndClassGuitarWood {

PLYWOOD,
SOLID_WOOD,
PLYWOOD_AND_SOLID_WOOD
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.ajou.hertz.domain.instrument.constant;

public enum AmplifierBrand {

FENDER,
MARSHALL,
VOX,
ORANGE,
MESA_BOOGIE,
PEAVEY,
EVH,
BOGNER,
BLACKSTAR,
YAMAHA,
ETC
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.ajou.hertz.domain.instrument.constant;

public enum AmplifierType {

GUITAR,
BASS
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.ajou.hertz.domain.instrument.constant;

import lombok.AllArgsConstructor;

@AllArgsConstructor
public enum AmplifierUsage {

HOME("가정용"),
PERFORMANCE("공연용");

private final String description;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.ajou.hertz.domain.instrument.constant;

public enum AudioEquipmentType {

AUDIO_EQUIPMENT,
ACCESSORY,
ETC
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.ajou.hertz.domain.instrument.constant;

public enum BassGuitarBrand {

FENDER,
IBANEZ,
SPECTOR,
MUSIC_MAN,
SCHETOR,
ESP,
WARWICK,
DINGWALL,
YAMAHA,
NA,
SADOWSKY,
SANDBERG,
SQUIER,
LAKLAND,
SIRE,
ETC
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.ajou.hertz.domain.instrument.constant;

public enum BassGuitarPickUp {

JAZZ,
PRECISION,
PJ,
HUMBUCKER,
ETC
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.ajou.hertz.domain.instrument.constant;

public enum BassGuitarPreAmplifier {

ACTIVE,
PASSIVE,
SWITCHABLE
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.ajou.hertz.domain.instrument.constant;

import static com.ajou.hertz.domain.instrument.constant.EffectorType.*;

import lombok.AllArgsConstructor;

@AllArgsConstructor
public enum EffectorFeature {

GUITAR_WAH(GUITAR, "와우"),
GUITAR_EQ(GUITAR, "Eq"),
GUITAR_VOLUME(GUITAR, "볼륨"),
GUITAR_COMPRESSOR(GUITAR, "컴프레서"),
GUITAR_OVER(GUITAR, "오버"),
GUITAR_DISTORTION(GUITAR, "디스토션"),
GUITAR_BOOST(GUITAR, "부스트"),
GUITAR_SPATIOTEMPORAL_EFFECT(GUITAR, "공간계"),
GUITAR_MODULATION(GUITAR, "모듈레이션"),
GUITAR_AMPLIFIER_SIMULATOR(GUITAR, "앰프시뮬"),
GUITAR_MULTI(GUITAR, "멀티"),
GUITAR_BOARD_PARTS(GUITAR, "보드용부품"),

BASS_COMPRESSOR(BASS, "컴프레서"),
BASS_LIMITER(BASS, "리미터"),
BASS_DRIVE(BASS, "드라이브"),

MULTI_MULTI(MULTI, "멀티"),

PEDAL_BOARD_BOARD(PEDAL_BOARD, "보드"),
PEDAL_BOARD_POWER_SUPPLY(PEDAL_BOARD, "파워서플라이"),
PEDAL_BOARD_BUFFER(PEDAL_BOARD, "버퍼"),
PEDAL_BOARD_PARALLEL_MIXER(PEDAL_BOARD, "병렬 믹서"),

ETC(null, "그 외");

private final EffectorType effectorType;
private final String description;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.ajou.hertz.domain.instrument.constant;

public enum EffectorType {
GUITAR,
BASS,
MULTI,
PEDAL_BOARD
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.ajou.hertz.domain.instrument.constant;

public enum ElectricGuitarBrand {

FENDER_USA,
FENDER_JAPAN,
FENDER_MEXICO,
GIBSON,
IBANEZ,
PRS,
SCHECTER,
EPIPHONE,
ESP_LTD,
SQUIER,
JACKSON,
ESP,
CUSTOM,
HIGH_END,
ETC
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.ajou.hertz.domain.instrument.constant;

public enum ElectricGuitarModel {

TELECASTER,
STRATOCASTER,
LESS,
SUPERSTRAT,
SEMI_HOLLOW,
HEAVY_SHAPE,
JAZZMASTER_JAGUAR,
PRS,
ETC
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.ajou.hertz.domain.instrument.constant;

public enum GuitarColor {

RED,
ORANGE,
YELLOW,
GREEN,
BLUE,
NAVY,
VIOLET,
WHITE,
BLACK,
ETC
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.ajou.hertz.domain.instrument.constant;

public enum InstrumentCategory {

ELECTRIC_GUITAR,
BASS_GUITAR,
ACOUSTIC_AND_CLASSIC_GUITAR,
AMPLIFIER,
EFFECTOR,
AUDIO_EQUIPMENT
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.ajou.hertz.domain.instrument.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;

@AllArgsConstructor
@Getter
public enum InstrumentProgressStatus {

SELLING("판매중"),
RESERVED("예약중"),
SOLD_OUT("판매 완료");

private final String description;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.ajou.hertz.domain.instrument.constant;

import lombok.AllArgsConstructor;

@AllArgsConstructor
public enum ProductOrigin {

DOMESTIC("국내"),
FOREIGN("국외");

private final String description;
}
Loading

0 comments on commit be37cd7

Please sign in to comment.