From 20ada0c3456b00c413143dec879364ddb65928c8 Mon Sep 17 00:00:00 2001 From: Invidam Date: Sun, 17 Mar 2024 19:16:18 +0900 Subject: [PATCH 1/7] =?UTF-8?q?style:=20=EC=BB=A8=EB=B2=A4=EC=85=98?= =?UTF-8?q?=EC=97=90=20=EB=A7=9E=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../in/service/OwnerServiceImpl.java | 39 ++++++++++++------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/src/main/java/koreatech/in/service/OwnerServiceImpl.java b/src/main/java/koreatech/in/service/OwnerServiceImpl.java index 06526147..ab502cd2 100644 --- a/src/main/java/koreatech/in/service/OwnerServiceImpl.java +++ b/src/main/java/koreatech/in/service/OwnerServiceImpl.java @@ -1,6 +1,20 @@ package koreatech.in.service; +import static koreatech.in.domain.Mail.MailForm.OWNER_FIND_PASSWORD_MAIL_FORM; +import static koreatech.in.domain.Mail.MailForm.OWNER_REGISTRATION_MAIL_FORM; +import static koreatech.in.domain.RedisOwnerKeyPrefix.ownerAuthPrefix; +import static koreatech.in.domain.RedisOwnerKeyPrefix.ownerChangePasswordAuthPrefix; + import java.sql.SQLException; + +import org.apache.velocity.app.VelocityEngine; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException; + import koreatech.in.domain.User.EmailAddress; import koreatech.in.domain.User.User; import koreatech.in.domain.User.owner.CertificationCode; @@ -26,15 +40,6 @@ import koreatech.in.util.SesMailSender; import koreatech.in.util.SlackNotiSender; import koreatech.in.util.StringRedisUtilObj; -import org.apache.velocity.app.VelocityEngine; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import static koreatech.in.domain.Mail.MailForm.*; - -import static koreatech.in.domain.RedisOwnerKeyPrefix.*; @Service public class OwnerServiceImpl implements OwnerService { @@ -90,19 +95,22 @@ public void inputPasswordToChangePassword(OwnerChangePasswordRequest ownerChange public void certificateToChangePassword(VerifyCodeRequest verifyCodeRequest) { OwnerInCertification ownerInCertification = OwnerConverter.INSTANCE.toOwnerInCertification(verifyCodeRequest); - redisOwnerMapper.changeAuthStatus(ownerInCertification, ownerInCertification.getEmail(), ownerChangePasswordAuthPrefix); + redisOwnerMapper.changeAuthStatus(ownerInCertification, ownerInCertification.getEmail(), + ownerChangePasswordAuthPrefix); } public void requestVerificationToChangePassword(VerifyEmailRequest verifyEmailRequest) { EmailAddress emailAddress = OwnerConverter.INSTANCE.toEmailAddress(verifyEmailRequest); validateEmailFromOwner(emailAddress); - CertificationCode certificationCode = mailService.sendMailWithTimes(emailAddress, OWNER_FIND_PASSWORD_MAIL_FORM); + CertificationCode certificationCode = mailService.sendMailWithTimes(emailAddress, + OWNER_FIND_PASSWORD_MAIL_FORM); OwnerInVerification ownerInVerification = OwnerInVerification.of(certificationCode, emailAddress); emailAddress.validateSendable(); - redisOwnerMapper.putRedisFor(ownerChangePasswordAuthPrefix.getKey(emailAddress.getEmailAddress()), ownerInVerification); + redisOwnerMapper.putRedisFor(ownerChangePasswordAuthPrefix.getKey(emailAddress.getEmailAddress()), + ownerInVerification); slackNotiSender.noticeEmailVerification(ownerInVerification); } @@ -112,7 +120,7 @@ private Owner validateEmailFromOwner(EmailAddress emailAddress) { if (user == null || user.isStudent()) { throw new BaseException(ExceptionInformation.NOT_EXIST_EMAIL); } - return (Owner) user; + return (Owner)user; } @Override @@ -224,7 +232,7 @@ private static OwnerAttachments ownerAttachmentsFillWithOwnerId(Owner owner) { } private OwnerAttachments updateAttachment(OwnerAttachments ownerAttachments, - OwnerAttachments ownerAttachmentsInDB) { + OwnerAttachments ownerAttachmentsInDB) { OwnerAttachments result = ownerAttachmentsInDB.intersectionWith(ownerAttachments); OwnerAttachments toAdd = ownerAttachments.removeDuplicatesFrom(ownerAttachmentsInDB); @@ -281,7 +289,8 @@ private void validateOwnerIdUniqueness(int id) { private void putRedisForRequestShop(OwnerShop ownerShop) { try { - stringRedisUtilObj.setDataAsString(StringRedisUtilObj.makeOwnerShopKeyFor(ownerShop.getOwner_id()), ownerShop); + stringRedisUtilObj.setDataAsString(StringRedisUtilObj.makeOwnerShopKeyFor(ownerShop.getOwner_id()), + ownerShop); } catch (Exception exception) { throw new RuntimeException(exception); } From 9e798e33a1a8e64cc499a79e031af58652056b19 Mon Sep 17 00:00:00 2001 From: Invidam Date: Sun, 17 Mar 2024 19:16:33 +0900 Subject: [PATCH 2/7] =?UTF-8?q?fix:=20=EC=9D=B4=EB=A9=94=EC=9D=BC=20?= =?UTF-8?q?=EC=A4=91=EB=B3=B5=20=EC=98=88=EC=99=B8=20=ED=9B=84=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/koreatech/in/service/OwnerServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/koreatech/in/service/OwnerServiceImpl.java b/src/main/java/koreatech/in/service/OwnerServiceImpl.java index ab502cd2..102545e8 100644 --- a/src/main/java/koreatech/in/service/OwnerServiceImpl.java +++ b/src/main/java/koreatech/in/service/OwnerServiceImpl.java @@ -311,6 +311,9 @@ private void createInDBFor(Owner owner) { if (owner.hasRegistrationInformation()) { ownerMapper.insertOwnerAttachments(ownerAttachmentsFillWithOwnerId(owner)); } + } catch (MySQLIntegrityConstraintViolationException e + ) { + throw new BaseException(ExceptionInformation.EMAIL_DUPLICATED); } catch (SQLException e) { throw new RuntimeException(e); } From 1e361a48aa60a2e3ce0eb2ab1f954a775231b2da Mon Sep 17 00:00:00 2001 From: Invidam Date: Sun, 17 Mar 2024 22:54:02 +0900 Subject: [PATCH 3/7] =?UTF-8?q?fix:=20spring=EC=97=90=EC=84=9C=20=EB=9E=98?= =?UTF-8?q?=ED=95=91=ED=95=9C=20=EC=98=88=EC=99=B8=EB=A5=BC=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=ED=95=98=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/koreatech/in/service/OwnerServiceImpl.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/koreatech/in/service/OwnerServiceImpl.java b/src/main/java/koreatech/in/service/OwnerServiceImpl.java index 102545e8..979cb85d 100644 --- a/src/main/java/koreatech/in/service/OwnerServiceImpl.java +++ b/src/main/java/koreatech/in/service/OwnerServiceImpl.java @@ -9,12 +9,11 @@ import org.apache.velocity.app.VelocityEngine; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DuplicateKeyException; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException; - import koreatech.in.domain.User.EmailAddress; import koreatech.in.domain.User.User; import koreatech.in.domain.User.owner.CertificationCode; @@ -154,7 +153,7 @@ public void register(OwnerRegisterRequest ownerRegisterRequest) { validateEmailUniqueness(ownerEmailAddress); validateCompanyRegistrationNumberUniqueness(owner.getCompany_registration_number()); - redisOwnerMapper.validateOwner(ownerEmailAddress, ownerAuthPrefix); + // redisOwnerMapper.validateOwner(ownerEmailAddress, ownerAuthPrefix); encodePassword(owner); @@ -162,7 +161,7 @@ public void register(OwnerRegisterRequest ownerRegisterRequest) { slackNotiSender.noticeRegisterComplete(owner); - redisOwnerMapper.removeRedisFrom(ownerEmailAddress, ownerAuthPrefix); + // redisOwnerMapper.removeRedisFrom(ownerEmailAddress, ownerAuthPrefix); } @Override @@ -311,7 +310,7 @@ private void createInDBFor(Owner owner) { if (owner.hasRegistrationInformation()) { ownerMapper.insertOwnerAttachments(ownerAttachmentsFillWithOwnerId(owner)); } - } catch (MySQLIntegrityConstraintViolationException e + } catch (DuplicateKeyException e ) { throw new BaseException(ExceptionInformation.EMAIL_DUPLICATED); } catch (SQLException e) { From a017357ec5379d5c1a6df53d851adc82558a37bf Mon Sep 17 00:00:00 2001 From: Invidam Date: Sun, 17 Mar 2024 23:13:09 +0900 Subject: [PATCH 4/7] =?UTF-8?q?fix:=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=9C=84=ED=95=B4=20=EB=8B=AB=EC=95=84=EB=86=A8=EB=8D=98=20?= =?UTF-8?q?=EC=A3=BC=EC=84=9D=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/koreatech/in/service/OwnerServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/koreatech/in/service/OwnerServiceImpl.java b/src/main/java/koreatech/in/service/OwnerServiceImpl.java index 979cb85d..2cefddd8 100644 --- a/src/main/java/koreatech/in/service/OwnerServiceImpl.java +++ b/src/main/java/koreatech/in/service/OwnerServiceImpl.java @@ -153,7 +153,7 @@ public void register(OwnerRegisterRequest ownerRegisterRequest) { validateEmailUniqueness(ownerEmailAddress); validateCompanyRegistrationNumberUniqueness(owner.getCompany_registration_number()); - // redisOwnerMapper.validateOwner(ownerEmailAddress, ownerAuthPrefix); + redisOwnerMapper.validateOwner(ownerEmailAddress, ownerAuthPrefix); encodePassword(owner); @@ -161,7 +161,7 @@ public void register(OwnerRegisterRequest ownerRegisterRequest) { slackNotiSender.noticeRegisterComplete(owner); - // redisOwnerMapper.removeRedisFrom(ownerEmailAddress, ownerAuthPrefix); + redisOwnerMapper.removeRedisFrom(ownerEmailAddress, ownerAuthPrefix); } @Override From b6ea4b5adaee9e747a128c5e8cd97ac912b27821 Mon Sep 17 00:00:00 2001 From: Invidam Date: Mon, 18 Mar 2024 14:20:34 +0900 Subject: [PATCH 5/7] =?UTF-8?q?style:=20=EB=9D=BC=EC=9D=B8=20=ED=8F=AC?= =?UTF-8?q?=EB=A7=B7=ED=8C=85=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/koreatech/in/service/OwnerServiceImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/koreatech/in/service/OwnerServiceImpl.java b/src/main/java/koreatech/in/service/OwnerServiceImpl.java index 2cefddd8..2f151f29 100644 --- a/src/main/java/koreatech/in/service/OwnerServiceImpl.java +++ b/src/main/java/koreatech/in/service/OwnerServiceImpl.java @@ -310,8 +310,7 @@ private void createInDBFor(Owner owner) { if (owner.hasRegistrationInformation()) { ownerMapper.insertOwnerAttachments(ownerAttachmentsFillWithOwnerId(owner)); } - } catch (DuplicateKeyException e - ) { + } catch (DuplicateKeyException e) { throw new BaseException(ExceptionInformation.EMAIL_DUPLICATED); } catch (SQLException e) { throw new RuntimeException(e); From 965936a13305ae3e87c05673b3dcf990daa96cfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8E=E1=85=AC=E1=84=8C=E1=85=AE=E1=86=AB=E1=84=92?= =?UTF-8?q?=E1=85=A9?= Date: Mon, 18 Mar 2024 18:41:13 +0900 Subject: [PATCH 6/7] =?UTF-8?q?refactor:=20https=20=EA=B3=B5=ED=86=B5?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../koreatech/in/domain/Upload/UploadFileLocation.java | 8 +++++--- .../java/koreatech/in/service/S3UploadServiceImpl.java | 4 +--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java b/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java index 9e136da1..4b45704e 100644 --- a/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java +++ b/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java @@ -5,6 +5,8 @@ @Getter public class UploadFileLocation { + private static final String HTTPS_PROTOCOL = "https://"; + private final String fileUrl; private final String fileName; @@ -14,13 +16,13 @@ private UploadFileLocation(String fileUrl, String fileName) { } public static UploadFileLocation of(String domainName, UploadFile uploadFile) { - return new UploadFileLocation(domainName + UploadFileFullPath.SLASH + uploadFile.getFullPath(), + return new UploadFileLocation(HTTPS_PROTOCOL + domainName + UploadFileFullPath.SLASH + uploadFile.getFullPath(), uploadFile.getFileName()); } public static UploadFileLocation of(String domainName, UploadFileFullPath uploadFileFullPath) { - return new UploadFileLocation(domainName + UploadFileFullPath.SLASH + uploadFileFullPath.unixValue(), + return new UploadFileLocation( + HTTPS_PROTOCOL + domainName + UploadFileFullPath.SLASH + uploadFileFullPath.unixValue(), uploadFileFullPath.getFileFullName()); } - } diff --git a/src/main/java/koreatech/in/service/S3UploadServiceImpl.java b/src/main/java/koreatech/in/service/S3UploadServiceImpl.java index 29ae66a6..c36ef438 100644 --- a/src/main/java/koreatech/in/service/S3UploadServiceImpl.java +++ b/src/main/java/koreatech/in/service/S3UploadServiceImpl.java @@ -26,8 +26,6 @@ @Service public class S3UploadServiceImpl implements UploadService { - private static final String HTTPS_PROTOCOL = "https://"; - private final S3Util s3Util; private final String bucketName; private final String domainUrlPrefix; @@ -95,7 +93,7 @@ public PreSignedUrlResponse generatePreSignedUrl(DomainEnum domain, PreSignedUrl PreSignedUrlResult preSignedUrlResult = s3Util.generatePreSignedUrlForPut(bucketName, uploadFileMetaData, uploadFileFullPath.unixValue(), new Date()); - UploadFileLocation uploadFileLocation = UploadFileLocation.of(HTTPS_PROTOCOL + domainUrlPrefix, + UploadFileLocation uploadFileLocation = UploadFileLocation.of(domainUrlPrefix, uploadFileFullPath); return UploadFileConverter.INSTANCE.toPreSignedUrlResponse(preSignedUrlResult, uploadFileLocation); } From 51e6328cfe0479331e0167e50ed7266464407084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8E=E1=85=AC=E1=84=8C=E1=85=AE=E1=86=AB=E1=84=92?= =?UTF-8?q?=E1=85=A9?= Date: Mon, 18 Mar 2024 18:58:42 +0900 Subject: [PATCH 7/7] =?UTF-8?q?refactor:=20swagger=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../in/dto/normal/upload/response/UploadFileResponse.java | 2 +- .../in/dto/normal/user/owner/response/OwnerResponse.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/koreatech/in/dto/normal/upload/response/UploadFileResponse.java b/src/main/java/koreatech/in/dto/normal/upload/response/UploadFileResponse.java index 5e0ee55b..ce45bb65 100644 --- a/src/main/java/koreatech/in/dto/normal/upload/response/UploadFileResponse.java +++ b/src/main/java/koreatech/in/dto/normal/upload/response/UploadFileResponse.java @@ -11,7 +11,7 @@ @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) public class UploadFileResponse { @ApiModelProperty(notes = "업로드된 파일 url", - example = "static.koreatech.in/example.png", + example = "https://static.koreatech.in/example.png", required = true ) private final String fileUrl; diff --git a/src/main/java/koreatech/in/dto/normal/user/owner/response/OwnerResponse.java b/src/main/java/koreatech/in/dto/normal/user/owner/response/OwnerResponse.java index 22fbdb26..e2f4f72a 100644 --- a/src/main/java/koreatech/in/dto/normal/user/owner/response/OwnerResponse.java +++ b/src/main/java/koreatech/in/dto/normal/user/owner/response/OwnerResponse.java @@ -52,7 +52,7 @@ public static class Attachment { private Integer id; @ApiModelProperty(notes = "업로드된 파일 url" - , example = "static.koreatech.in/example.png" + , example = "https://static.koreatech.in/example.png" , required = true ) private final String fileUrl;