From 2e51000fd3f776346bc7f4c22cd3d5b2db441198 Mon Sep 17 00:00:00 2001 From: nivetha <nivetha.mariappan@tarento.com> Date: Mon, 11 Apr 2022 10:45:44 +0530 Subject: [PATCH] Fixed issue with updating device token --- .../com/tarento/retail/controller/UserController.java | 2 ++ src/main/java/com/tarento/retail/dao/UserDao.java | 2 ++ .../java/com/tarento/retail/dao/impl/UserDaoImpl.java | 11 +++++++++++ .../java/com/tarento/retail/service/UserService.java | 2 ++ .../tarento/retail/service/impl/UserServiceImpl.java | 5 +++++ src/main/java/com/tarento/retail/util/Sql.java | 1 + 6 files changed, 23 insertions(+) diff --git a/src/main/java/com/tarento/retail/controller/UserController.java b/src/main/java/com/tarento/retail/controller/UserController.java index 787f013..a1c8b85 100644 --- a/src/main/java/com/tarento/retail/controller/UserController.java +++ b/src/main/java/com/tarento/retail/controller/UserController.java @@ -211,6 +211,8 @@ public class UserController { Gson gson = new GsonBuilder().setPrettyPrinting().create(); User thisUser = gson.fromJson(xUserInfo, User.class); if (userService.checkUserTokenExists(thisUser.getId(), deviceToken.getDeviceToken())) { + Long authTokenRef = userService.fetchAuthTokenReference(thisUser.getAuthToken()); + userService.updateDeviceAuthRef(thisUser.getId(), deviceToken.getDeviceToken(), authTokenRef); return ResponseGenerator.successResponse("Success"); } Long authTokenRef = userService.fetchAuthTokenReference(thisUser.getAuthToken()); diff --git a/src/main/java/com/tarento/retail/dao/UserDao.java b/src/main/java/com/tarento/retail/dao/UserDao.java index ed4f3f0..b9a674b 100644 --- a/src/main/java/com/tarento/retail/dao/UserDao.java +++ b/src/main/java/com/tarento/retail/dao/UserDao.java @@ -264,4 +264,6 @@ public interface UserDao { public Boolean deleteDeviceToken(Long userId, String deviceId); + public Boolean updateDeviceAuthRef(Long userId, String deviceToken, Long authId); + } 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 a20161e..c7e2dfd 100644 --- a/src/main/java/com/tarento/retail/dao/impl/UserDaoImpl.java +++ b/src/main/java/com/tarento/retail/dao/impl/UserDaoImpl.java @@ -1025,4 +1025,15 @@ public class UserDaoImpl implements UserDao { } return Boolean.FALSE; } + + @Override + public Boolean updateDeviceAuthRef(Long userId, String deviceToken, Long authId) { + try { + jdbcTemplate.update(UserQueries.UPDATE_DEVICE_AUTH_REF, new Object[] { authId, userId, deviceToken }); + return Boolean.TRUE; + } catch (Exception e) { + LOGGER.error(String.format(Constants.EXCEPTION_METHOD, "updateDeviceAuthRef", e.getMessage())); + } + return Boolean.FALSE; + } } diff --git a/src/main/java/com/tarento/retail/service/UserService.java b/src/main/java/com/tarento/retail/service/UserService.java index bad0433..0bf7e78 100644 --- a/src/main/java/com/tarento/retail/service/UserService.java +++ b/src/main/java/com/tarento/retail/service/UserService.java @@ -243,4 +243,6 @@ public interface UserService { public Boolean deleteDeviceToken(Long userId, String deviceId); + public Boolean updateDeviceAuthRef(Long userId, String deviceToken, Long authId); + } \ No newline at end of file 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 bbff912..12b64ee 100644 --- a/src/main/java/com/tarento/retail/service/impl/UserServiceImpl.java +++ b/src/main/java/com/tarento/retail/service/impl/UserServiceImpl.java @@ -612,4 +612,9 @@ public class UserServiceImpl implements UserDetailsService, UserService { return userDao.deleteDeviceToken(userId, deviceId); } + @Override + public Boolean updateDeviceAuthRef(Long userId, String deviceToken, Long authId) { + return userDao.updateDeviceAuthRef(userId, deviceToken, authId); + } + } diff --git a/src/main/java/com/tarento/retail/util/Sql.java b/src/main/java/com/tarento/retail/util/Sql.java index 7da9170..480a4ed 100644 --- a/src/main/java/com/tarento/retail/util/Sql.java +++ b/src/main/java/com/tarento/retail/util/Sql.java @@ -149,6 +149,7 @@ public interface Sql { final String INSERT_USER_DEVICE_TOKEN = "INSERT INTO user_device (user_id, device_token, device_id, created_date, user_auth_id) VALUES (?,?,?,?,?) "; final String UPDATE_USER_DEVICE_TOKEN = "UPDATE user_device SET device_token = ?, created_date = ? WHERE user_id = ? "; final String FETCH_USER_DEVICE_TOKEN = " SELECT device.id, device.user_id, device.device_token, auth_token FROM user_device device, user_authentication WHERE device.user_auth_id = user_authentication.id AND device.user_id IN "; + final String UPDATE_DEVICE_AUTH_REF = "UPDATE user_device SET user_auth_id= ? WHERE user_id= ? and device_token= ?"; final String USER_DEVICE_ROLE_CONDITION = " and exists (select 1 from user_role where user_id = device.user_id and role_id IN (1,2)) " + "and not exists (select 1 from user_role where user_id = device.user_id and role_id NOT IN (1,2)) "; final String FETCH_AUTH_TOKEN_REF = "SELECT id FROM user_authentication WHERE auth_token = ? "; -- GitLab