From 8087434a4b4a4cf1617ce006d96be683387cb775 Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Thu, 7 Mar 2024 20:11:34 -0600 Subject: [PATCH 01/11] Add high quantity items feature --- src/main/java/net/codejava/AppController.java | 9 +++++- src/main/java/net/codejava/SalesDAO.java | 6 ++++ src/main/resources/templates/index.html | 29 +++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/codejava/AppController.java b/src/main/java/net/codejava/AppController.java index 20461cc..be87a2d 100755 --- a/src/main/java/net/codejava/AppController.java +++ b/src/main/java/net/codejava/AppController.java @@ -207,5 +207,12 @@ public void exportToCSV(HttpServletResponse response) throws IOException { writer.newLine(); } writer.flush(); -} + } + + @RequestMapping("/high-quantity-items") + public String getHighQuantityItems(@RequestParam int threshold, Model model) { + List highQuantityItems = dao.getItemsWithHighestQuantity(threshold); + model.addAttribute("highQuantityItems", highQuantityItems); + return "high_quantity_items"; // This should be the name of your view file + } } diff --git a/src/main/java/net/codejava/SalesDAO.java b/src/main/java/net/codejava/SalesDAO.java index 24e1541..4e9e645 100755 --- a/src/main/java/net/codejava/SalesDAO.java +++ b/src/main/java/net/codejava/SalesDAO.java @@ -124,4 +124,10 @@ public List listAll() { List listSale = jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(Sale.class)); return listSale; } + + public List getItemsWithHighestQuantity(int threshold) { + String sql = "SELECT * FROM sales WHERE quantity >= ?"; + List listSale = jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(Sale.class), threshold); + return listSale; + } } diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 9dfc0f8..c6d41c9 100755 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -94,6 +94,35 @@

Inventory Records

Clear + + + + +
+
+ + + +
+
+
+

High Quantity Items

+ + + + + + + + + + + + + + + +
Serial NumberItem NameQuantityAmount
serial NumberItem NameQuantityAmount
From dde500bc51c4bd7a93e65b41ac1ec542a6f11e7b Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Thu, 7 Mar 2024 20:50:23 -0600 Subject: [PATCH 02/11] Add new annotations and classes, update existing classes, and modify database changelog --- .../java/net/codejava/EnableWebSecurity.java | 5 +++-- src/main/java/net/codejava/Role.java | 13 +++++++++++ .../java/net/codejava/RoleRepository.java | 8 +++++++ src/main/java/net/codejava/Sale.java | 15 +++++++++++++ src/main/java/net/codejava/SalesManager.java | 15 +++++++++---- src/main/java/net/codejava/SessionConfig.java | 20 ++++++++++++++++- .../net/codejava/UserDetailsServiceImpl.java | 2 +- .../java/net/codejava/UserRepository.java | 7 ------ .../db/changelog/changelog_version-3.3.xml | 22 +++++++++++++++++++ 9 files changed, 92 insertions(+), 15 deletions(-) create mode 100644 src/main/java/net/codejava/Role.java create mode 100644 src/main/java/net/codejava/RoleRepository.java delete mode 100644 src/main/java/net/codejava/UserRepository.java diff --git a/src/main/java/net/codejava/EnableWebSecurity.java b/src/main/java/net/codejava/EnableWebSecurity.java index b09b2b8..58d673a 100644 --- a/src/main/java/net/codejava/EnableWebSecurity.java +++ b/src/main/java/net/codejava/EnableWebSecurity.java @@ -1,5 +1,6 @@ package net.codejava; public @interface EnableWebSecurity { - -} + String message() default "Web security enabled"; + int securityLevel() default 1; +} \ No newline at end of file diff --git a/src/main/java/net/codejava/Role.java b/src/main/java/net/codejava/Role.java new file mode 100644 index 0000000..f552ca0 --- /dev/null +++ b/src/main/java/net/codejava/Role.java @@ -0,0 +1,13 @@ +package net.codejava; + +import javax.persistence.Entity; +import javax.persistence.Id; + +@Entity +public class Role { + @Id + private Long id; + private String roleName; + + // getters and setters +} \ No newline at end of file diff --git a/src/main/java/net/codejava/RoleRepository.java b/src/main/java/net/codejava/RoleRepository.java new file mode 100644 index 0000000..faaaf21 --- /dev/null +++ b/src/main/java/net/codejava/RoleRepository.java @@ -0,0 +1,8 @@ +package net.codejava; + +import org.springframework.data.jpa.repository.JpaRepository; +import java.util.List; + +public interface RoleRepository extends JpaRepository { + List findByRoleName(String roleName); +} \ No newline at end of file diff --git a/src/main/java/net/codejava/Sale.java b/src/main/java/net/codejava/Sale.java index 7560878..cf5c1ba 100755 --- a/src/main/java/net/codejava/Sale.java +++ b/src/main/java/net/codejava/Sale.java @@ -83,4 +83,19 @@ public void setEditing(boolean isEditing) { public String toString() { return "Sale [serial_number=" + serialNumber + ", item=" + item + ", quantity=" + quantity + ", amount=" + amount + ", date=" + date + "]"; } + + public float calculateTotalAmount(float pricePerItem) { + return this.quantity * pricePerItem; + } + + public boolean isRecentSale(int days) { + Date now = new Date(); + long millisInADay = 24 * 60 * 60 * 1000; + return (now.getTime() - this.date.getTime()) / millisInADay <= days; + } + + public void updateSale(int quantity, float amount) { + this.quantity = quantity; + this.amount = amount; + } } \ No newline at end of file diff --git a/src/main/java/net/codejava/SalesManager.java b/src/main/java/net/codejava/SalesManager.java index 92d1016..3031602 100755 --- a/src/main/java/net/codejava/SalesManager.java +++ b/src/main/java/net/codejava/SalesManager.java @@ -6,10 +6,17 @@ @SpringBootApplication public class SalesManager { - /** - * @param args - */ public static void main(String[] args) { SpringApplication.run(SalesManager.class, args); } -} + + // A simple static method to print a greeting + public static void printGreeting() { + System.out.println("Hello, welcome to Sales Manager!"); + } + + // A simple static method to calculate the sum of two numbers + public static int sum(int a, int b) { + return a + b; + } +} \ No newline at end of file diff --git a/src/main/java/net/codejava/SessionConfig.java b/src/main/java/net/codejava/SessionConfig.java index 4ad5a38..b6aba40 100644 --- a/src/main/java/net/codejava/SessionConfig.java +++ b/src/main/java/net/codejava/SessionConfig.java @@ -1,10 +1,28 @@ package net.codejava; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.session.data.redis.config.ConfigureRedisAction; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; @Configuration @EnableRedisHttpSession public class SessionConfig { - // This class is intentionally left blank. + + // Override Redis configuration action + @Bean + public static ConfigureRedisAction configureRedisAction() { + return ConfigureRedisAction.NO_OP; + } + + // Customize Redis template + @Bean + public RedisTemplate sessionRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate template = new RedisTemplate<>(); + template.setConnectionFactory(connectionFactory); + // Add any custom configuration here + return template; + } } \ No newline at end of file diff --git a/src/main/java/net/codejava/UserDetailsServiceImpl.java b/src/main/java/net/codejava/UserDetailsServiceImpl.java index 4766bea..7e402cf 100644 --- a/src/main/java/net/codejava/UserDetailsServiceImpl.java +++ b/src/main/java/net/codejava/UserDetailsServiceImpl.java @@ -17,7 +17,7 @@ public class UserDetailsServiceImpl implements UserDetailsService { private static final Logger logger = LoggerFactory.getLogger(UserDetailsServiceImpl.class); @Autowired - private UserRepository userRepository; + private RoleRepository userRepository; @Autowired private PasswordEncoder passwordEncoder; diff --git a/src/main/java/net/codejava/UserRepository.java b/src/main/java/net/codejava/UserRepository.java deleted file mode 100644 index 09fd5b0..0000000 --- a/src/main/java/net/codejava/UserRepository.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.codejava; - -import org.springframework.data.jpa.repository.JpaRepository; - -public interface UserRepository extends JpaRepository { - User findByUsername(String username); -} \ No newline at end of file diff --git a/src/main/resources/db/changelog/changelog_version-3.3.xml b/src/main/resources/db/changelog/changelog_version-3.3.xml index 3406fd2..f390386 100755 --- a/src/main/resources/db/changelog/changelog_version-3.3.xml +++ b/src/main/resources/db/changelog/changelog_version-3.3.xml @@ -59,4 +59,26 @@ + + + + + + + + + + + + + + + + + + name = 'ROLE_USER' + + + + \ No newline at end of file From bf779dba6823f3701e03fb4273efe780a981b85c Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Thu, 14 Mar 2024 13:30:21 -0500 Subject: [PATCH 03/11] Update redis_db-deployment.yaml --- my-chart/templates/redis_db-deployment.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/my-chart/templates/redis_db-deployment.yaml b/my-chart/templates/redis_db-deployment.yaml index c5c3f45..5f49599 100644 --- a/my-chart/templates/redis_db-deployment.yaml +++ b/my-chart/templates/redis_db-deployment.yaml @@ -54,4 +54,5 @@ spec: ports: - containerPort: 6379 resources: {{- toYaml .Values.redisDatabaseDeployment.redisDatabaseContainer.resources - | nindent 10 }} \ No newline at end of file + | nindent 10 }} + From ad8b3f6ae14a1dbe8cb2ab8964169a61b444b0f4 Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Tue, 19 Mar 2024 09:08:16 -0500 Subject: [PATCH 04/11] Added new changes to README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5a65bc6..76c9291 100644 --- a/README.md +++ b/README.md @@ -186,4 +186,4 @@ graph TB style K fill:#6cf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5 style L fill:#f6c,stroke:#333,stroke-width:2px style M fill:#6fc,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5 -``` \ No newline at end of file +```## PD-463 From 406bdf2e058dbb06b1c1547632325a5b9bbc2c1a Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Tue, 19 Mar 2024 09:13:58 -0500 Subject: [PATCH 05/11] Added new changes to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 76c9291..668be61 100644 --- a/README.md +++ b/README.md @@ -187,3 +187,4 @@ graph TB style L fill:#f6c,stroke:#333,stroke-width:2px style M fill:#6fc,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5 ```## PD-463 +## PD-464 From 1e11814217aad00a66ff37775662e33f1acffc25 Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Tue, 19 Mar 2024 09:26:55 -0500 Subject: [PATCH 06/11] Added new changes to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 668be61..515fddc 100644 --- a/README.md +++ b/README.md @@ -188,3 +188,4 @@ graph TB style M fill:#6fc,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5 ```## PD-463 ## PD-464 +## PD-465 From 1dae867f999ebb6f9fcba18cbf2ff4f9162a9cf1 Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Tue, 19 Mar 2024 14:59:00 -0500 Subject: [PATCH 07/11] Added new changes to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 515fddc..2175ffa 100644 --- a/README.md +++ b/README.md @@ -189,3 +189,4 @@ graph TB ```## PD-463 ## PD-464 ## PD-465 +## PD-466 From 9ae6b5178f0c9f956c174511df6117db46df0407 Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Tue, 19 Mar 2024 23:05:53 -0500 Subject: [PATCH 08/11] Added new changes to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2175ffa..eb7ab6d 100644 --- a/README.md +++ b/README.md @@ -190,3 +190,4 @@ graph TB ## PD-464 ## PD-465 ## PD-466 +## PD-467 From 1984a7e2cfb9c5f49fdebe4a6d3a895e758099bb Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Wed, 20 Mar 2024 10:29:38 -0500 Subject: [PATCH 09/11] Added new changes to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eb7ab6d..f2a3351 100644 --- a/README.md +++ b/README.md @@ -191,3 +191,4 @@ graph TB ## PD-465 ## PD-466 ## PD-467 +## PD-468 From 0d8d0a2ec3f26c6504c8b9d58aca7084d06c2178 Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Tue, 9 Apr 2024 14:51:47 -0500 Subject: [PATCH 10/11] Added new changes to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f2a3351..da0e272 100644 --- a/README.md +++ b/README.md @@ -192,3 +192,4 @@ graph TB ## PD-466 ## PD-467 ## PD-468 +## PD-469 From 16a40c9d196e5a45ff718ff7ad7936c61fd88f08 Mon Sep 17 00:00:00 2001 From: Tsvi Zandany Date: Tue, 9 Apr 2024 14:52:26 -0500 Subject: [PATCH 11/11] Added new changes to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index da0e272..fb3a933 100644 --- a/README.md +++ b/README.md @@ -193,3 +193,4 @@ graph TB ## PD-467 ## PD-468 ## PD-469 +## PD-470