Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,10 @@ dependencies {
implementation 'org.springframework.retry:spring-retry'
implementation 'org.springframework.boot:spring-boot-starter-aop'

// Spring Cache 의존성 추가
implementation 'org.springframework.boot:spring-boot-starter-cache'
implementation 'com.github.ben-manes.caffeine:caffeine:3.1.8'


//kafka
implementation "org.springframework.kafka:spring-kafka"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
import org.mapstruct.ReportingPolicy;
import spot.spot.domain.job.command.dto.request.RegisterWorkerRequest;
import spot.spot.domain.job.command.dto.response.JobCertifiationResponse;
import spot.spot.domain.job.query.dto.response.CertificationImgResponse;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.query.util.calculate.DistanceCalculateUtil;
import spot.spot.domain.member.entity.Ability;
import spot.spot.domain.member.entity.AbilityType;
import spot.spot.domain.member.entity.Member;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import spot.spot.domain.job.command.mapper.NotificationMapper;
import spot.spot.domain.job.command.service._docs.ClientCommandServiceDocs;
import spot.spot.domain.job.command.util.ReservationCancelUtil;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.command.dto.request.YesOrNoWorkersRequest;
import spot.spot.domain.job.command.dto.response.RegisterJobResponse;
import spot.spot.domain.job.command.entity.Job;
Expand All @@ -31,7 +30,6 @@
import spot.spot.domain.notification.command.repository.NotificationRepository;
import spot.spot.domain.notification.command.service.FcmAsyncSendingUtil;
import spot.spot.domain.notification.command.service.FcmMessageUtil;
import spot.spot.domain.notification.query.service.NotificationService;
import spot.spot.domain.pay.service.PayService;
import spot.spot.global.response.format.ErrorCode;
import spot.spot.global.response.format.GlobalException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import spot.spot.domain.job.command.entity.Job;
import spot.spot.domain.job.query.repository.jpa.JobRepository;
import spot.spot.domain.job.query.service._docs.ClientQueryServiceDocs;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.query.util.calculate.DistanceCalculateUtil;
import spot.spot.domain.job.query.dto.response.AttenderResponse;
import spot.spot.domain.job.query.dto.response.NearByWorkersResponse;
import spot.spot.domain.job.query.mapper.ClientQueryMapper;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package spot.spot.domain.job.query.util;
package spot.spot.domain.job.query.util.calculate;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
package spot.spot.domain.job.query.util;
package spot.spot.domain.job.query.util.calculate;

import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.GeometryFactory;
import org.locationtech.jts.geom.Point;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Component;
import org.springframework.web.context.WebApplicationContext;
import spot.spot.domain.job.query.util._docs.GeometryUtilDocs;

@Component
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import spot.spot.domain.job.query.dto.response.NearByJobResponse;
import spot.spot.domain.job.query.repository.jpa.JobRepository;
import spot.spot.domain.job.query.util._docs.SearchingJobQueryUtil;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.query.util.calculate.DistanceCalculateUtil;

@Service
@RequiredArgsConstructor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import spot.spot.domain.job.query.dto.response.NearByJobResponse;
import spot.spot.domain.job.query.repository.jpa.JobRepository;
import spot.spot.domain.job.query.util._docs.SearchingJobQueryUtil;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.query.util.calculate.DistanceCalculateUtil;

@Service
@RequiredArgsConstructor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import spot.spot.domain.job.query.dto.response.NearByJobResponse;
import spot.spot.domain.job.query.repository.dsl.SearchingListQueryDsl;
import spot.spot.domain.job.query.util._docs.SearchingJobQueryUtil;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.query.util.calculate.DistanceCalculateUtil;

@Service
@RequiredArgsConstructor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import spot.spot.domain.job.command.dto.Location;
import spot.spot.domain.job.command.entity.Job;
import spot.spot.domain.job.query.dto.response.NearByJobResponse;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.query.util.calculate.DistanceCalculateUtil;
import spot.spot.domain.job.v1.query.mapper.WorkerQueryMapperV1;
import spot.spot.domain.job.v1.query.repository.jpa.JobRepositoryV1;
import spot.spot.domain.job.v1.query.service._docs.SearchingJobQueryUtilV1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import spot.spot.domain.job.command.dto.Location;
import spot.spot.domain.job.command.entity.Job;
import spot.spot.domain.job.query.dto.response.NearByJobResponse;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.query.util.calculate.DistanceCalculateUtil;
import spot.spot.domain.job.v1.query.mapper.WorkerQueryMapperV1;
import spot.spot.domain.job.v1.query.repository.jpa.JobRepositoryV1;
import spot.spot.domain.job.v1.query.service._docs.SearchingJobQueryUtilV1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import spot.spot.domain.job.command.dto.Location;
import spot.spot.domain.job.command.entity.Job;
import spot.spot.domain.job.query.dto.response.NearByJobResponse;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.query.util.calculate.DistanceCalculateUtil;
import spot.spot.domain.job.v1.query.mapper.WorkerQueryMapperV1;
import spot.spot.domain.job.v1.query.repository.dsl.SearchingListQueryDslV1;
import spot.spot.domain.job.v1.query.service._docs.SearchingJobQueryUtilV1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import org.springframework.data.domain.Slice;
import org.springframework.stereotype.Service;
import spot.spot.domain.job.query.dto.response.NearByJobResponse;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.query.util.calculate.DistanceCalculateUtil;
import spot.spot.domain.job.v2.query.repository.jpa.JobRepositoryV2;

@Service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import org.springframework.data.domain.SliceImpl;
import org.springframework.stereotype.Service;
import spot.spot.domain.job.query.dto.response.NearByJobResponse;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.query.util.calculate.DistanceCalculateUtil;
import spot.spot.domain.job.v2.query.repository.jpa.JobRepositoryV2;

@Service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import org.springframework.data.domain.Slice;
import org.springframework.stereotype.Service;
import spot.spot.domain.job.query.dto.response.NearByJobResponse;
import spot.spot.domain.job.query.util.DistanceCalculateUtil;
import spot.spot.domain.job.query.util.calculate.DistanceCalculateUtil;
import spot.spot.domain.job.v2.query.repository.dsl.SearchingListQueryDslv2;

@Service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,13 @@
@Component
public class FcmMessageUtil {

private static final ThreadLocal<StringBuilder> localBuilder = ThreadLocal.withInitial(StringBuilder::new);

public FcmDTO askingJob2WorkerMsg(String ownerName, String workerName, String jobTitle) {
localBuilder.remove();
StringBuilder msg = localBuilder.get();
msg.setLength(0);
msg.append(ownerName).append("님이 ").append(workerName).append("님께 ").append(jobTitle).append("을 신청하였습니다.");
return makeMsg("일 의뢰 알림!",msg.toString());
return makeMsg("일 의뢰 알림!", ownerName + "님이 " + workerName + "님께 " + jobTitle + "을 신청하였습니다.");
}

public FcmDTO sayYes2WorkerMsg(String ownerName, String workerName, String jobTitle) {
localBuilder.remove();
StringBuilder msg = localBuilder.get();
msg.setLength(0);
msg.append(ownerName).append("님이 ").append(workerName).append("님의 ").append(jobTitle).append("해결 요청을 수락하셨습니다!");
return makeMsg("일 신청 수락 알림", msg.toString());
return makeMsg("일 신청 수락 알림",
ownerName + "님이 " + workerName + "님의 " + jobTitle + "해결 요청을 수락하셨습니다!");

}

Expand Down
23 changes: 23 additions & 0 deletions src/main/java/spot/spot/global/config/CacheConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package spot.spot.global.config;

import com.github.benmanes.caffeine.cache.Caffeine;
import java.time.Duration;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.caffeine.CaffeineCacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@EnableCaching
public class CacheConfig {
@Bean
public CacheManager cacheManager() {
CaffeineCacheManager manager = new CaffeineCacheManager("job-geohash");
manager.setCaffeine(Caffeine.newBuilder()
.maximumSize(10_000)
.expireAfterWrite(Duration.ofDays(1))
.recordStats());
return manager;
}
}
Loading