Skip to content

Commit 5fb8be3

Browse files
authored
Merge pull request #88 from xdorro/dev
Merge v1.0.2
2 parents db787f6 + 686f6a5 commit 5fb8be3

File tree

173 files changed

+1447
-541
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

173 files changed

+1447
-541
lines changed

build.gradle

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,24 @@ dependencies {
2525
implementation 'org.springframework.boot:spring-boot-starter-validation'
2626
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
2727
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
28+
implementation 'org.springframework.boot:spring-boot-starter-cache'
29+
implementation 'org.springframework.session:spring-session-data-redis'
30+
implementation 'org.springframework.data:spring-data-commons'
2831

2932
implementation 'org.hibernate.validator:hibernate-validator:7.0.4.Final'
3033

3134
implementation 'org.springframework.session:spring-session-core:2.7.0'
32-
implementation 'org.springframework.session:spring-session-data-redis:2.7.0'
35+
implementation 'org.springframework.data:spring-data-redis:2.7.0'
36+
3337

3438
implementation 'org.apache.commons:commons-lang3:3.12.0'
3539

3640
implementation 'com.google.code.gson:gson:2.9.0'
3741

3842
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.1.0'
3943

44+
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
45+
4046
runtimeOnly 'org.postgresql:postgresql:42.3.6'
4147
compileOnly 'org.projectlombok:lombok'
4248
developmentOnly 'org.springframework.boot:spring-boot-devtools'

src/main/java/com/example/multikart/Application.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
55
import org.springframework.boot.autoconfigure.domain.EntityScan;
6+
import org.springframework.cache.annotation.EnableCaching;
67
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
78

89
@EnableJpaRepositories("com.example.multikart.repo")
910
@EntityScan("com.example.multikart.domain.model")
1011
@SpringBootApplication
12+
@EnableCaching
1113
public class Application {
1214

1315
public static void main(String[] args) {

src/main/java/com/example/multikart/common/Const.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,9 @@ public static final class DefaultStatus {
99

1010
public static final class OrderStatus {
1111
public static final Integer DELETED = 0;
12-
public static final Integer ACTIVE = 1;
13-
public static final Integer DISABLED = 2;
14-
public static final Integer PENDING = 3;
15-
public static final Integer SHIPPING = 4;
16-
public static final Integer CANCELED = 5;
17-
public static final Integer SHIPPED = 6;
12+
public static final Integer PENDING = 1;
13+
public static final Integer SHIPPING = 2;
14+
public static final Integer CANCELED = 3;
15+
public static final Integer SHIPPED = 4;
1816
}
1917
}

src/main/java/com/example/multikart/common/Utils.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,20 @@
33
import com.example.multikart.domain.dto.CartDTO;
44
import com.example.multikart.domain.model.Customer;
55
import com.example.multikart.domain.model.User;
6+
import org.springframework.web.multipart.MultipartFile;
67

78
import javax.servlet.http.HttpSession;
9+
import java.io.IOException;
10+
import java.io.InputStream;
11+
import java.nio.file.Files;
12+
import java.nio.file.Path;
13+
import java.nio.file.Paths;
14+
import java.nio.file.StandardCopyOption;
815
import java.text.Normalizer;
916
import java.util.ArrayList;
1017
import java.util.List;
1118
import java.util.Locale;
19+
import java.util.Optional;
1220
import java.util.regex.Pattern;
1321

1422
public class Utils {
@@ -23,6 +31,12 @@ public static String toSlug(String input) {
2331
return slug.toLowerCase(Locale.ENGLISH);
2432
}
2533

34+
public static String getExtensionByStringHandling(String filename) {
35+
return Optional.ofNullable(filename)
36+
.filter(f -> f.contains("."))
37+
.map(f -> f.substring(filename.lastIndexOf(".") + 1)).orElse("");
38+
}
39+
2640
public static boolean checkExistCart(List<CartDTO> carts, long id) {
2741
return carts.stream().anyMatch(c -> c.getProductId().equals(id));
2842
}
@@ -58,4 +72,19 @@ public static User getUserSession(HttpSession session) {
5872

5973
return user;
6074
}
75+
76+
public static void saveFile(String uploadDir, String filename, MultipartFile multipartFile) throws IOException {
77+
Path uploadPath = Paths.get(uploadDir);
78+
79+
if (!Files.exists(uploadPath)) {
80+
Files.createDirectories(uploadPath);
81+
}
82+
83+
try (InputStream inputStream = multipartFile.getInputStream()) {
84+
Path filePath = uploadPath.resolve(filename);
85+
Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING);
86+
} catch (IOException ioe) {
87+
throw new IOException("Could not save image file: " + filename, ioe);
88+
}
89+
}
6190
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.example.multikart.config;
2+
3+
import lombok.Getter;
4+
import lombok.Setter;
5+
import org.springframework.boot.context.properties.ConfigurationProperties;
6+
import org.springframework.boot.context.properties.EnableConfigurationProperties;
7+
import org.springframework.context.annotation.Bean;
8+
import org.springframework.context.annotation.Configuration;
9+
import org.springframework.data.redis.connection.RedisConnectionFactory;
10+
import org.springframework.data.redis.core.RedisTemplate;
11+
12+
@Configuration
13+
@EnableConfigurationProperties
14+
@ConfigurationProperties("redis")
15+
@Setter
16+
@Getter
17+
public class RedisConfig {
18+
@Bean
19+
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
20+
RedisTemplate<String, Object> template = new RedisTemplate<>();
21+
template.setConnectionFactory(redisConnectionFactory);
22+
return template;
23+
}
24+
}

0 commit comments

Comments
 (0)