From 5bc59e07f8951e4a73cb87fa7df98bd315528c33 Mon Sep 17 00:00:00 2001 From: nivetha <nivetha.mariappan@tarento.com> Date: Wed, 9 Feb 2022 19:31:57 +0530 Subject: [PATCH] User default pwd & search user modifications --- .../tarento/retail/dao/impl/UserDaoImpl.java | 24 ++++++++++++++++++- .../retail/service/impl/UserServiceImpl.java | 7 +++--- .../com/tarento/retail/util/Constants.java | 13 ++++++++++ .../java/com/tarento/retail/util/Sql.java | 3 +++ 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/tarento/retail/dao/impl/UserDaoImpl.java b/src/main/java/com/tarento/retail/dao/impl/UserDaoImpl.java index 76fe4f5..230a1e6 100644 --- a/src/main/java/com/tarento/retail/dao/impl/UserDaoImpl.java +++ b/src/main/java/com/tarento/retail/dao/impl/UserDaoImpl.java @@ -909,7 +909,29 @@ public class UserDaoImpl implements UserDao { paramMap.put(Constants.Parameters.LAST_NAME, keyword); paramMap.put(Constants.Parameters.COUNTRY, keyword); } - + // dynamic key value search + if (searchRequest.getSearch() != null && searchRequest.getSearch().size() > 0) { + for (Map.Entry<String, Object> entry : searchRequest.getSearch().entrySet()) { + condition = addQueryCondition(builder, condition); + if (entry.getValue() instanceof List) { + if (Constants.UserSearchFields.MAPPING.containsKey(entry.getKey())) { + builder.append(Constants.UserSearchFields.MAPPING.get(entry.getKey())); + } else { + builder.append(entry.getKey()); + } + builder.append(NamedUserQueries.IN_CLAUSE); + paramMap.put(Constants.Parameters.IN_VALUE, entry.getValue()); + } else { + if (Constants.UserSearchFields.MAPPING.containsKey(entry.getKey())) { + builder.append(Constants.UserSearchFields.MAPPING.get(entry.getKey())); + } else { + builder.append(entry.getKey()); + } + builder.append(NamedUserQueries.APPEND_VALUE); + paramMap.put(Constants.Parameters.VALUE, entry.getValue()); + } + } + } // limit & offset if (searchRequest.getLimit() > 0) { builder.append(NamedUserQueries.LIMIT); diff --git a/src/main/java/com/tarento/retail/service/impl/UserServiceImpl.java b/src/main/java/com/tarento/retail/service/impl/UserServiceImpl.java index 02e75eb..cba7d19 100644 --- a/src/main/java/com/tarento/retail/service/impl/UserServiceImpl.java +++ b/src/main/java/com/tarento/retail/service/impl/UserServiceImpl.java @@ -156,10 +156,11 @@ public class UserServiceImpl implements UserDetailsService, UserService { @Override public User save(User user) { - if (StringUtils.isNotBlank(user.getPassword())) { - String encryptedPassword = bcryptEncoder.encode(user.getPassword()); - user.setPassword(encryptedPassword); + if (StringUtils.isBlank(user.getPassword())) { + user.setPassword("UP-SMF#User"); } + String encryptedPassword = bcryptEncoder.encode(user.getPassword()); + user.setPassword(encryptedPassword); return userDao.save(user); } diff --git a/src/main/java/com/tarento/retail/util/Constants.java b/src/main/java/com/tarento/retail/util/Constants.java index 6cb7401..d0ced05 100644 --- a/src/main/java/com/tarento/retail/util/Constants.java +++ b/src/main/java/com/tarento/retail/util/Constants.java @@ -1,5 +1,8 @@ package com.tarento.retail.util; +import java.util.HashMap; +import java.util.Map; + public class Constants { /** @@ -96,6 +99,8 @@ public class Constants { public static final String COUNTRY = "country"; public static final String LIMIT = "limit"; public static final String OFFSET = "offset"; + public static final String IN_VALUE = "inValues"; + public static final String VALUE = "value"; } public interface EmailTemplate { @@ -177,4 +182,12 @@ public class Constants { } } + + public interface UserSearchFields { + public static final Map<String, String> MAPPING = new HashMap<String, String>() { + { + put("userId", "usr.id"); + } + }; + } } diff --git a/src/main/java/com/tarento/retail/util/Sql.java b/src/main/java/com/tarento/retail/util/Sql.java index 2ff6619..d333696 100644 --- a/src/main/java/com/tarento/retail/util/Sql.java +++ b/src/main/java/com/tarento/retail/util/Sql.java @@ -190,6 +190,9 @@ public interface Sql { Constants.Parameters.COUNTRY); final String LIMIT = String.format(" limit :%s ", Constants.Parameters.LIMIT); final String OFFSET = String.format(" offset :%s ", Constants.Parameters.OFFSET); + + final String IN_CLAUSE = String.format(" IN (:%s)", Constants.Parameters.IN_VALUE); + final String APPEND_VALUE = String.format(" = :%s ", Constants.Parameters.VALUE); } } -- GitLab