diff --git a/src/main/java/com/tarento/retail/controller/UserController.java b/src/main/java/com/tarento/retail/controller/UserController.java index 787f0132b9a9444f6ec8fb23d1dce83ff44e9a78..a1c8b8575851e1b788fe295b2d33bd09bd7cae5d 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 ed4f3f0c167bca7fda4c0a2d23b4df6d595530ee..b9a674b7e6436b90ccc437cb01849dbe18732caf 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 a20161ed8d175ad64997d7fa88f50f7b7d2a802e..c7e2dfdbc022b4687c6e971d74855e942523c541 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 bad0433a811d6fb690715e8ee9355f4f787b8993..0bf7e782d6a1fad8101b9debe8a0eec15f2bd3bc 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 bbff912c3264d63ead68a5831fa4c6b16bef97b4..12b64eea48ea00b5765b3da0a81b1004d8bac0a1 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 7da9170dd662a76e27d8b9dea53d7a8bb58f79b8..480a4ed0dee81004a59f26423cee2686870b757b 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 = ? ";