Skip to content

Commit

Permalink
[코드 컨벤션 맞춤 리팩터링] Merge pull request #307 from SINZAK/refactor/convention
Browse files Browse the repository at this point in the history
1. 코드 컨벤션 맞춤 리팩터링 (글자 간격)
2. 코드 컨벤션 맞춤 리팩터링 (메소드명 교체)
3. 코드 컨벤션 맞춤 리팩터링 (SinzakResponse 클래스를 활용한 응답 객체 정형화)
  • Loading branch information
in-seo authored Jul 17, 2023
2 parents f34e19e + fcc2ba1 commit df5f42a
Show file tree
Hide file tree
Showing 90 changed files with 857 additions and 873 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@
@RequiredArgsConstructor
public class AlarmController {
private final AlarmService alarmService;
@GetMapping(value ="/alarms")
public JSONObject getAlarms(){

@GetMapping(value = "/alarms")
public JSONObject getAlarms() {
return alarmService.getAlarms();
}
}
5 changes: 3 additions & 2 deletions src/main/java/net/sinzak/server/alarm/domain/Alarm.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,14 @@ public class Alarm extends BaseTimeEntity {
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name ="user_id")
@JoinColumn(name = "user_id")
private User user;


private String opponentUserName;

@Enumerated(EnumType.STRING)
private AlarmType alarmType;

private String thumbnail;
private String route;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import java.util.Set;

public interface AlarmRepository extends JpaRepository<Alarm,Long> {
public interface AlarmRepository extends JpaRepository<Alarm, Long> {

@Query("select a from Alarm a where a.user.id = :userId")
Set<Alarm> findByUserId(@Param("userId") Long userId);
Expand Down
17 changes: 10 additions & 7 deletions src/main/java/net/sinzak/server/alarm/service/AlarmService.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import net.sinzak.server.alarm.domain.AlarmType;
import net.sinzak.server.alarm.dto.GetAlarmDto;
import net.sinzak.server.alarm.repository.AlarmRepository;
import net.sinzak.server.common.PropertyUtil;
import net.sinzak.server.common.SinzakResponse;
import net.sinzak.server.common.UserUtils;
import net.sinzak.server.user.domain.User;
import org.json.simple.JSONObject;
Expand All @@ -21,33 +21,36 @@
public class AlarmService {
private final UserUtils userUtils;
private final AlarmRepository alarmRepository;

@Transactional
public JSONObject getAlarms(){
public JSONObject getAlarms() {
List<GetAlarmDto> getAlarmDtos = new ArrayList<>();
Set<Alarm> alarms = alarmRepository.findByUserId(userUtils.getCurrentUserId());
for(Alarm alarm : alarms){
for (Alarm alarm : alarms) {
GetAlarmDto getAlarmDto = GetAlarmDto.builder()
.date(alarm.getCreatedDate().toString())
.date(alarm.getCreatedDate()
.toString())
.alarmType(alarm.getAlarmType())
.thumbnail(alarm.getThumbnail())
.route(alarm.getRoute())
.opponentUserName(alarm.getOpponentUserName())
.build();
getAlarmDtos.add(getAlarmDto);
}
return PropertyUtil.response(getAlarmDtos);
return SinzakResponse.success(getAlarmDtos);
}

@Transactional
public void makeAlarm(User user, String thumbnail, String route, AlarmType alarmType,String opponentUserName){
public void makeAlarm(User user, String thumbnail, String route, AlarmType alarmType, String opponentUserName) {
Alarm alarm = Alarm.builder()
.user(user)
.thumbnail(thumbnail)
.route(route)
.alarmType(alarmType)
.opponentUserName(opponentUserName)
.build();
user.getAlarms().add(alarm);
user.getAlarms()
.add(alarm);
alarmRepository.save(alarm);
}
}
7 changes: 4 additions & 3 deletions src/main/java/net/sinzak/server/banner/Banner.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

@Getter
@Entity
@SequenceGenerator(name = "Banner_SEQ_GEN",sequenceName = "Banner_SEQ")
@SequenceGenerator(name = "Banner_SEQ_GEN", sequenceName = "Banner_SEQ")
public class Banner {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "Banner_SEQ")
Expand All @@ -30,15 +30,16 @@ public Banner(String content, String imageUrl, String pcImageUrl) {
this.href = "";
}

protected Banner() {}
protected Banner() {
}

public void setImageUrl(String imageUrl) {
this.imageUrl = imageUrl;
this.pcImageUrl = imageUrl;
}

public void setUserInfo(Long userId, String nickName) {
this.href = "/profile/"+userId.toString();
this.href = "/profile/" + userId.toString();
this.content = nickName;
}

Expand Down
30 changes: 8 additions & 22 deletions src/main/java/net/sinzak/server/banner/BannerController.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,50 +24,36 @@ public class BannerController {
private final BannerService bannerService;

@ApiDocumentResponse
@ApiOperation(value = "배너 생성",notes = "{\"success\":true, \"id\":2}\n해당 글의 id를 전해드리니 이 /banner/{id}/image 에 넘겨주세요\n")
@ApiOperation(value = "배너 생성", notes = "{\"success\":true, \"id\":2}\n해당 글의 id를 전해드리니 이 /banner/{id}/image 에 넘겨주세요\n")
@PostMapping(value = "/admin/banner/build", consumes = {MediaType.APPLICATION_JSON_VALUE})
public JSONObject makeProductPost(@RequestBody BannerDto buildDto) {
public JSONObject makeBanner(@RequestBody BannerDto buildDto) {
return bannerService.make(buildDto);
}

@ApiDocumentResponse
@ApiOperation(value = "배너 이미지 등록")
@PostMapping(value = "/admin/banner/{id}/image", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
@ApiImplicitParam(name = "multipartFile", dataType = "multipartFile",
value = "파일 보내주시면 파일 s3서버에 저장 및, 해당 파일이 저장되어 있는 URL을 디비에 저장합니다")
public JSONObject makeProductPost(@PathVariable("id") Long bannerId, @RequestPart MultipartFile multipartFile) {
@ApiImplicitParam(name = "multipartFile", dataType = "multipartFile", value = "파일 보내주시면 파일 s3서버에 저장 및, 해당 파일이 저장되어 있는 URL을 디비에 저장합니다")
public JSONObject makeBanner(@PathVariable("id") Long bannerId, @RequestPart MultipartFile multipartFile) {
return bannerService.saveImage(bannerId, multipartFile);
}

@Cacheable(value = "banner", cacheManager = "testCacheManager")
@ApiDocumentResponse
@ApiOperation(value = "배너 정보 출력", notes = "{\n" +
" \"id\": 3,\n" +
" \"content\": \"TEST\",\n" +
" \"imageUrl\": \"https://sinzakimage.s3.ap-northeast-2.amazonaws.com/static/banner3.png\",\n" +
" \"pcImageUrl\": \"https://sinzakimage.s3.ap-northeast-2.amazonaws.com/static/webBanner3.png\",\n" +
" \"href\": \"\"\n" +
" },\n" +
" {\n" +
" \"id\": 4,\n" +
" \"content\": \"신작\",\n" +
" \"imageUrl\": \"https://sinzakimage.s3.ap-northeast-2.amazonaws.com/static/banner4.png\",\n" +
" \"pcImageUrl\": \"https://sinzakimage.s3.ap-northeast-2.amazonaws.com/static/webBanner4.png\",\n" +
" \"href\": \"/profile/106\"\n" +
" }")
@ApiOperation(value = "배너 정보 출력", notes = "{\n" + " \"id\": 3,\n" + " \"content\": \"TEST\",\n" + " \"imageUrl\": \"https://sinzakimage.s3.ap-northeast-2.amazonaws.com/static/banner3.png\",\n" + " \"pcImageUrl\": \"https://sinzakimage.s3.ap-northeast-2.amazonaws.com/static/webBanner3.png\",\n" + " \"href\": \"\"\n" + " },\n" + " {\n" + " \"id\": 4,\n" + " \"content\": \"신작\",\n" + " \"imageUrl\": \"https://sinzakimage.s3.ap-northeast-2.amazonaws.com/static/banner4.png\",\n" + " \"pcImageUrl\": \"https://sinzakimage.s3.ap-northeast-2.amazonaws.com/static/webBanner4.png\",\n" + " \"href\": \"/profile/106\"\n" + " }")
@GetMapping(value = "/banner")
public JSONObject showBannerList() {
public JSONObject showBanners() {
return bannerService.getList();
}

@ApiDocumentResponse
@ApiOperation(value = "떠오르는 작가 임의 설정",notes = "이거는 추후에 수익창출을 위해 필요할 듯 프론트단은 신경 안쓰셔도됩니다")
@ApiOperation(value = "떠오르는 작가 임의 설정", notes = "이거는 추후에 수익창출을 위해 필요할 듯 프론트단은 신경 안쓰셔도됩니다")
@PostMapping(value = "/admin/banner/pick", consumes = {MediaType.APPLICATION_JSON_VALUE})
public JSONObject pickUser(@RequestBody IdDto idDto) {
return bannerService.pick(idDto.getId());
}

@Scheduled(fixedDelay = 21600000, initialDelay = 100000) /** 6시간 **/
@Scheduled(fixedDelay = 21600000, initialDelay = 100000) // 6시간
@ApiOperation(value = "무시", hidden = true)
@PostMapping("/banner/reset")
public void resetBanner() throws NoSuchAlgorithmException {
Expand Down
3 changes: 1 addition & 2 deletions src/main/java/net/sinzak/server/banner/BannerListDto.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import lombok.Getter;

@Getter
public class BannerListDto extends BannerDto{

public class BannerListDto extends BannerDto {
private String image;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import java.util.List;

public interface BannerRepository extends JpaRepository<Banner,Long> {
public interface BannerRepository extends JpaRepository<Banner, Long> {
@Query("select b from Banner b where b.href != '' ")
List<Banner> findAuthorBanner();
}
31 changes: 17 additions & 14 deletions src/main/java/net/sinzak/server/banner/BannerService.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.sinzak.server.common.PropertyUtil;
import net.sinzak.server.common.SinzakResponse;
import net.sinzak.server.common.error.InstanceNotFoundException;
import net.sinzak.server.image.S3Service;
import net.sinzak.server.user.service.UserQueryService;
Expand All @@ -25,20 +25,23 @@ public class BannerService {
private final S3Service s3Service;

@Transactional(rollbackFor = {Exception.class})
public JSONObject make(BannerDto dto){ // 배너 생성
public JSONObject make(BannerDto dto) { // 배너 생성
Banner banner = Banner.builder()
.pcImageUrl("")
.imageUrl("")
.content(dto.getContent()).build();
Long id = bannerRepository.save(banner).getId();
return PropertyUtil.response(id);
.pcImageUrl("")
.imageUrl("")
.content(dto.getContent())
.build();
Long id = bannerRepository.save(banner)
.getId();
return SinzakResponse.success(id);
}

@Transactional(rollbackFor = {Exception.class})
public JSONObject saveImage(Long id, MultipartFile file){ // 글 생성
Banner banner = bannerRepository.findById(id).orElseThrow(InstanceNotFoundException::new);
public JSONObject saveImage(Long id, MultipartFile file) { // 글 생성
Banner banner = bannerRepository.findById(id)
.orElseThrow(InstanceNotFoundException::new);
uploadImageAndSetThumbnail(banner, file);
return PropertyUtil.response(true);
return SinzakResponse.success(true);
}

private String uploadImageAndSetThumbnail(Banner banner, MultipartFile file) {
Expand All @@ -48,16 +51,16 @@ private String uploadImageAndSetThumbnail(Banner banner, MultipartFile file) {
}

@Transactional(readOnly = true)
public JSONObject getList(){
return PropertyUtil.response(bannerRepository.findAll());
public JSONObject getList() {
return SinzakResponse.success(bannerRepository.findAll());
}

@Transactional
public JSONObject pick(Long id){
public JSONObject pick(Long id) {
List<Banner> banners = bannerRepository.findAuthorBanner();
userQueryService.getUserNickName(id)
.ifPresent(name -> banners.forEach((banner) -> banner.setUserInfo(id, name)));
return PropertyUtil.response(true);
return SinzakResponse.success(true);
}

@Transactional
Expand Down
29 changes: 10 additions & 19 deletions src/main/java/net/sinzak/server/cert/CertController.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,38 +20,33 @@
@RequiredArgsConstructor
public class CertController {
private final CertService certService;
private final static String univCertAPI ="df6ea145-4134-40a3-a298-764cd7d5d7bb";
private final static String univCertAPI = "df6ea145-4134-40a3-a298-764cd7d5d7bb";

@ApiDocumentResponse
@ApiOperation(value = "대학 메일 인증 시작", notes = "인증코드는 아예 생략하시고, univ_email, univName 주시면 됩니다 1000~9999의 인증번호 메일전송 예정 \n" +
"success : true 로 올 경우 메일 발송된 것.")
@ApiOperation(value = "대학 메일 인증 시작", notes = "인증코드는 아예 생략하시고, univ_email, univName 주시면 됩니다 1000~9999의 인증번호 메일전송 예정 \n" + "success : true 로 올 경우 메일 발송된 것.")
@PostMapping("/certify/mail/send")
public JSONObject sendUnivCertMail(@RequestBody MailDto mailDto) throws IOException {
boolean univ_check = false;
Map<String, Object> check = UnivCert.check(mailDto.getUnivName());
if((boolean) check.get("success"))
univ_check = true;
if ((boolean) check.get("success")) univ_check = true;
Map<String, Object> response = UnivCert.certify(univCertAPI, mailDto.getUniv_email(), mailDto.getUnivName(), univ_check);

return new JSONObject(response);
}

@ApiDocumentResponse
@ApiOperation(value = "인증코드 입력", notes = "인증코드 필수, 1000~9999의 인증번호 양식준수 \n" +
"success : true 면 끝이고 아니면 학생증 인증이나 나중에 하기 버튼 클릭 유도")
@ApiOperation(value = "인증코드 입력", notes = "인증코드 필수, 1000~9999의 인증번호 양식준수 \n" + "success : true 면 끝이고 아니면 학생증 인증이나 나중에 하기 버튼 클릭 유도")
@PostMapping("/certify/mail/receive")
public JSONObject receiveUnivCertMail(@RequestBody MailDto mailDto) throws IOException {
Map<String, Object> response = UnivCert.certifyCode(univCertAPI, mailDto.getUniv_email(), mailDto.getUnivName(), mailDto.getCode());
boolean success = (boolean) response.get("success");
if(success)
certService.updateCertifiedUniv(mailDto);
if (success) certService.updateCertifiedUniv(mailDto);
return new JSONObject(response);
}


@ApiDocumentResponse
@ApiOperation(value = "대학교 학생증 인증", notes = "대학명만 보내주세요. 메일은 무시.\n" +
"{\"success\":true, \"id\":3}\n해당 유저의 id를 전해드리니 이 /certify/{id}/univ 에 넘겨주세요), \n 학생증 인증은 디폴트로 대학인증 된거로 처리 할 예정. 나중에 시간날 때 아니다 싶으면 인증 해제 하면됨.")
@ApiOperation(value = "대학교 학생증 인증", notes = "대학명만 보내주세요. 메일은 무시.\n" + "{\"success\":true, \"id\":3}\n해당 유저의 id를 전해드리니 이 /certify/{id}/univ 에 넘겨주세요), \n 학생증 인증은 디폴트로 대학인증 된거로 처리 할 예정. 나중에 시간날 때 아니다 싶으면 인증 해제 하면됨.")
@PostMapping(value = "/certify/univ", consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE})
public JSONObject certifyUniv(@RequestBody UnivDto univDto) {
return certService.certifyUniv(univDto);
Expand All @@ -60,31 +55,27 @@ public JSONObject certifyUniv(@RequestBody UnivDto univDto) {
@ApiDocumentResponse
@ApiOperation(value = "대학교 학생증 사진 업로드")
@PostMapping(value = "/certify/{id}/univ", consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE})
@ApiImplicitParam(name = "multipartFile", dataType = "multipartFile",
value = "파일 보내주시면 파일 s3서버에 저장 및, 해당 파일이 저장되어 있는 URL을 디비에 저장합니다, \n 학생증 인증은 디폴트로 대학인증 된거로 처리 할 예정. 나중에 시간날 때 아니다 싶으면 인증 해제 하면됨.")
@ApiImplicitParam(name = "multipartFile", dataType = "multipartFile", value = "파일 보내주시면 파일 s3서버에 저장 및, 해당 파일이 저장되어 있는 URL을 디비에 저장합니다, \n 학생증 인증은 디폴트로 대학인증 된거로 처리 할 예정. 나중에 시간날 때 아니다 싶으면 인증 해제 하면됨.")
public JSONObject uploadUnivCard(@PathVariable("id") Long certId, @RequestPart MultipartFile multipartFile) {
return certService.uploadUnivCard(certId, multipartFile);
}

@ApiDocumentResponse
@ApiOperation(value = "대학교 학생증 인증 허용",notes = "프론트에서 구현은 X 관리자용")
@ApiOperation(value = "대학교 학생증 인증 허용", notes = "프론트에서 구현은 X 관리자용")
@PostMapping(value = "/certify/{id}/univ/complete")
public JSONObject completeUnivCard(@PathVariable("id") Long certId) {
return certService.completeUnivCard(certId);
}

@ApiDocumentResponse
@ApiOperation(value = "인증작가 신청", notes = "대학인증 마친 상태에서 요청할 수 있도록 해주세요. \n ***중요*** " +
"인증작가 신청하기 시 status가 'PROCESS'면 처리 중인거니까 더 이상 요청 못 보내게 해주세요. status가 YET인 상황일 때만 보낼 수 있도록 해주세요. 완료시 status = COMPLETE\n" +
"대학인증 여부는 /my-profile에서 받았던거 그대로 됩니다 \n" +
"cert_celeb은 저희가 직접 확인하기 전까지 false")
@ApiOperation(value = "인증작가 신청", notes = "대학인증 마친 상태에서 요청할 수 있도록 해주세요. \n ***중요*** " + "인증작가 신청하기 시 status가 'PROCESS'면 처리 중인거니까 더 이상 요청 못 보내게 해주세요. status가 YET인 상황일 때만 보낼 수 있도록 해주세요. 완료시 status = COMPLETE\n" + "대학인증 여부는 /my-profile에서 받았던거 그대로 됩니다 \n" + "cert_celeb은 저희가 직접 확인하기 전까지 false")
@PostMapping(value = "/certify/author")
public JSONObject updateCertifiedAuthor(@RequestBody PortFolioDto dto) {
return certService.applyCertifiedAuthor(dto.getPortFolio());
}

@ApiDocumentResponse
@ApiOperation(value = "대학교 학생증 인증 허용",notes = "프론트에서 구현은 X 관리자용")
@ApiOperation(value = "대학교 학생증 인증 허용", notes = "프론트에서 구현은 X 관리자용")
@PostMapping(value = "/certify/{id}/author/complete")
public JSONObject completeAuthor(@PathVariable("id") Long certId) {
return certService.completeAuthor(certId);
Expand Down
Loading

0 comments on commit df5f42a

Please sign in to comment.