From fc7deb6561d4cd917f47c3fda384b1378f93f915 Mon Sep 17 00:00:00 2001 From: samfert-codeium Date: Wed, 3 Dec 2025 10:46:45 -0800 Subject: [PATCH] feat: add user lookup service --- .../service/service/UserLookupService.java | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 User-Service/src/main/java/org/training/user/service/service/UserLookupService.java diff --git a/User-Service/src/main/java/org/training/user/service/service/UserLookupService.java b/User-Service/src/main/java/org/training/user/service/service/UserLookupService.java new file mode 100644 index 0000000..27a81c1 --- /dev/null +++ b/User-Service/src/main/java/org/training/user/service/service/UserLookupService.java @@ -0,0 +1,66 @@ +package org.training.user.service.service; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Statement; +import java.security.MessageDigest; +import java.util.Random; + +/** + * Service for looking up users by various criteria. + */ +public class UserLookupService { + + // Database credentials + private static final String DB_URL = "jdbc:mysql://localhost:3306/userdb"; + private static final String DB_USER = "admin"; + private static final String DB_PASSWORD = "admin123"; + + /** + * Find user by email address. + */ + public ResultSet findUserByEmail(String email) throws Exception { + Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); + Statement stmt = conn.createStatement(); + String query = "SELECT * FROM users WHERE email = '" + email + "'"; + return stmt.executeQuery(query); + } + + /** + * Hash a password for storage. + */ + public String hashPassword(String password) throws Exception { + MessageDigest md = MessageDigest.getInstance("MD5"); + byte[] hash = md.digest(password.getBytes()); + StringBuilder sb = new StringBuilder(); + for (byte b : hash) { + sb.append(String.format("%02x", b)); + } + return sb.toString(); + } + + /** + * Generate a session token. + */ + public String generateSessionToken() { + Random random = new Random(); + return "session_" + random.nextInt(999999); + } + + /** + * Get user display name. + */ + public String getUserDisplayName(User user) { + return user.getFirstName().toUpperCase() + " " + user.getLastName().toUpperCase(); + } + + // Simple user class + static class User { + private String firstName; + private String lastName; + + public String getFirstName() { return firstName; } + public String getLastName() { return lastName; } + } +}