Browse Source

Officer API service - getUserMenuItem group id added

master
KaNi-04 3 months ago
parent
commit
7d351931d8
  1. 125
      src/main/java/in/gov/chennaicorporation/mobileservice/service/OfficialAPIService.java

125
src/main/java/in/gov/chennaicorporation/mobileservice/service/OfficialAPIService.java

@ -32,6 +32,7 @@ public class OfficialAPIService {
private JdbcTemplate jdbcUserTemplate;
private JdbcTemplate jdbcOfficalTemplate;
private JdbcTemplate jdbcActivityTemplate;
@Autowired
public void setDataSource(
@Qualifier("oracleERPDataSource") DataSource erpDataSource,
@ -61,26 +62,26 @@ public class OfficialAPIService {
public List<Map<String, Object>> sendOTP(HttpServletRequest request,
String MobileNo,
String OTP,
String checkmobileno
) {
String checkmobileno) {
Boolean sendSMS = true;
Map<String, Object> successResponse = null;
if (!"false".equalsIgnoreCase(checkmobileno)) {
if(getUserListByMobileNumber(MobileNo).size()<=0)
{
if (getUserListByMobileNumber(MobileNo).size() <= 0) {
sendSMS = false;
successResponse = Map.of(
"status", 404,
"message", "Given mobile number “"+MobileNo+"” is not registered."
);
"message", "Given mobile number “" + MobileNo + "” is not registered.");
}
}
if (sendSMS) {
// Integer OTP = OTP;
String generatedToken = "Your OTP is " + OTP + ".OTP is valid for the next 5 minutes.\nBy\nGreater Chennai Corporation.";
//String urlString = "https://tmegov.onex-aura.com/api/sms?key=pfTEYN6H&to="+MobileNo+"&from=GCCCRP&body="+generatedToken+"&entityid=1401572690000011081&templateid=1407165856492044436";
String urlString = "https://tmegov.onex-aura.com/api/sms?key=pfTEYN6H&to=" + MobileNo + "&from=GCCCRP&body=" + generatedToken + "&entityid=1401572690000011081&templateid=1407165856492044436";
String generatedToken = "Your OTP is " + OTP
+ ".OTP is valid for the next 5 minutes.\nBy\nGreater Chennai Corporation.";
// String urlString =
// "https://tmegov.onex-aura.com/api/sms?key=pfTEYN6H&to="+MobileNo+"&from=GCCCRP&body="+generatedToken+"&entityid=1401572690000011081&templateid=1407165856492044436";
String urlString = "https://tmegov.onex-aura.com/api/sms?key=pfTEYN6H&to=" + MobileNo + "&from=GCCCRP&body="
+ generatedToken + "&entityid=1401572690000011081&templateid=1407165856492044436";
// System.out.println(urlString);
RestTemplate restTemplate = new RestTemplate();
// System.out.println(getUserListByMobileNumber(MobileNo).size());
@ -91,8 +92,7 @@ public class OfficialAPIService {
"status", 200,
"message", "SMS Send successfully to Mobile No " + MobileNo + ".",
// "data", Response,
"OTP", OTP
);
"OTP", OTP);
}
return Collections.singletonList(successResponse);
}
@ -105,7 +105,8 @@ public class OfficialAPIService {
try {
switch (usertype) {
case "erp":
//sqlQuery = "SELECT * FROM `EG_USER` WHERE `ISPORTALUSER` <> 1 AND `ISACTIVE` = 1 AND `EXTRAFIELD2` = ? AND `PIN` = ? LIMIT 1";
// sqlQuery = "SELECT * FROM `EG_USER` WHERE `ISPORTALUSER` <> 1 AND `ISACTIVE`
// = 1 AND `EXTRAFIELD2` = ? AND `PIN` = ? LIMIT 1";
sqlQuery = "SELECT id, USER_NAME, EXTRAFIELD2, PIN FROM `EG_USER` WHERE `EXTRAFIELD2` = ? AND `PIN` = ? AND `ISACTIVE`=1 LIMIT 1";
result = jdbcOfficalTemplate.queryForList(sqlQuery, username, password);
break;
@ -124,15 +125,15 @@ public class OfficialAPIService {
// Log the error
e.printStackTrace();
// Return an error message as part of the result list
return Collections.singletonList(Collections.singletonMap("error", "An error occurred while fetching data."));
return Collections
.singletonList(Collections.singletonMap("error", "An error occurred while fetching data."));
}
// If no records found, return a status and message indicating no user found
if (result == null || result.isEmpty()) {
Map<String, Object> response = Map.of(
"status", 404,
"message", "User not found."
);
"message", "User not found.");
return Collections.singletonList(response);
}
@ -140,8 +141,7 @@ public class OfficialAPIService {
Map<String, Object> successResponse = Map.of(
"status", 200,
"message", "login successfuly.",
"data", result
);
"data", result);
return Collections.singletonList(successResponse);
}
@ -154,7 +154,8 @@ public class OfficialAPIService {
// SQL query for updating the password
String sqlQuery = "UPDATE `EG_USER` SET `PIN` = ? WHERE `EXTRAFIELD2` = ?";
// Execute the update query using jdbcTemplate and prepared statements to prevent SQL injection
// Execute the update query using jdbcTemplate and prepared statements to
// prevent SQL injection
int rowsAffected = jdbcOfficalTemplate.update(sqlQuery, password, username);
// Check if any rows were updated
@ -245,7 +246,9 @@ public class OfficialAPIService {
System.out.println("No data found in groupids.");
}
//SqlQuery="SELECT GROUP_CONCAT(`module_id`) AS module_ids FROM `user_group_module_access` WHERE `group_id` IN ("+groups+") GROUP by `group_id`";
// SqlQuery="SELECT GROUP_CONCAT(`module_id`) AS module_ids FROM
// `user_group_module_access` WHERE `group_id` IN ("+groups+") GROUP by
// `group_id`";
SqlQuery = "SELECT GROUP_CONCAT(DISTINCT `department_id` ORDER BY `department_id` ASC) AS department_ids "
+ "FROM `user_group_department_access` "
+ "WHERE `group_id` IN (" + groups + ")";
@ -279,7 +282,9 @@ public class OfficialAPIService {
System.out.println("No data found in groupids.");
}
//SqlQuery="SELECT GROUP_CONCAT(`module_id`) AS module_ids FROM `user_group_module_access` WHERE `group_id` IN ("+groups+") GROUP by `group_id`";
// SqlQuery="SELECT GROUP_CONCAT(`module_id`) AS module_ids FROM
// `user_group_module_access` WHERE `group_id` IN ("+groups+") GROUP by
// `group_id`";
SqlQuery = "SELECT GROUP_CONCAT(DISTINCT `module_id` ORDER BY `module_id` ASC) AS module_ids "
+ "FROM `user_group_module_access` "
+ "WHERE `group_id` IN (" + groups + ")";
@ -287,12 +292,71 @@ public class OfficialAPIService {
return result;
}
/*
* @Transactional
* public List<Map<String, Object>> getUserMenuItem(String loginId) {
*
* String SqlQuery = "";
* String menus ="0";
* List<Map<String, Object>> moduleids=getUserModules(loginId);
*
* // Check if the list is not empty
* if (moduleids != null && !moduleids.isEmpty()) {
* // Retrieve the first map in the list
* Map<String, Object> firstEntry = moduleids.get(0);
*
* // Check if the map contains the "groups" key
* if (firstEntry.containsKey("module_ids")) {
* // Get the "groups" value
* menus = (String) firstEntry.get("module_ids");
*
* // Do something with the groups value
* //System.out.println("Menus: " + menus);
* } else {
* System.out.println("The 'module_ids' key is not present.");
* }
* } else {
* System.out.println("No data found in moduleids.");
* }
*
* //
* SqlQuery="SELECT GROUP_CONCAT(`menuitem_id`) AS menuitem_ids FROM `user_group_menu_access` WHERE `module_id` IN ("
* +menus+") GROUP by `module_id`";
* SqlQuery="SELECT GROUP_CONCAT(DISTINCT `menuitem_id` ORDER BY `menuitem_id` ASC) AS menuitem_ids FROM "
* + "`user_group_menu_access` WHERE `module_id` IN ("+menus+")";
* List<Map<String, Object>> result = jdbcUserTemplate.queryForList(SqlQuery);
* return result;
* }
*/
@Transactional
public List<Map<String, Object>> getUserMenuItem(String loginId) {
String SqlQuery = "";
String groups = "0";
String menus = "0";
List<Map<String, Object>> groupids = getUserGroups(loginId);
// Check if the list is not empty
if (groupids != null && !groupids.isEmpty()) {
// Retrieve the first map in the list
Map<String, Object> firstEntry = groupids.get(0);
// Check if the map contains the "groups" key
if (firstEntry.containsKey("groups")) {
// Get the "groups" value
groups = (String) firstEntry.get("groups");
// Do something with the groups value
// System.out.println("Groups: " + groups);
} else {
System.out.println("The 'groups' key is not present.");
}
} else {
System.out.println("No data found in groupids.");
}
List<Map<String, Object>> moduleids = getUserModules(loginId);
// Check if the list is not empty
@ -314,9 +378,11 @@ public class OfficialAPIService {
System.out.println("No data found in moduleids.");
}
//SqlQuery="SELECT GROUP_CONCAT(`menuitem_id`) AS menuitem_ids FROM `user_group_menu_access` WHERE `module_id` IN ("+menus+") GROUP by `module_id`";
// SqlQuery="SELECT GROUP_CONCAT(`menuitem_id`) AS menuitem_ids FROM
// `user_group_menu_access` WHERE `module_id` IN ("+menus+") GROUP by
// `module_id`";
SqlQuery = "SELECT GROUP_CONCAT(DISTINCT `menuitem_id` ORDER BY `menuitem_id` ASC) AS menuitem_ids FROM "
+ "`user_group_menu_access` WHERE `module_id` IN ("+menus+")";
+ "`user_group_menu_access` WHERE `module_id` IN (" + menus + ") AND `group_id` IN (" + groups + ")";
List<Map<String, Object>> result = jdbcUserTemplate.queryForList(SqlQuery);
return result;
}
@ -326,7 +392,8 @@ public class OfficialAPIService {
// System.out.println("getMenu LoginID: " + loginId);
String SqlQuery = "";
String mainmenus = "0";
if(loginId.isBlank() || loginId.isEmpty() || loginId==null || loginId.equals(null) || loginId.equals("null")) {
if (loginId.isBlank() || loginId.isEmpty() || loginId == null || loginId.equals(null)
|| loginId.equals("null")) {
loginId = "11342";
}
List<Map<String, Object>> mainModuleids = getUserMainMenu(loginId);
@ -351,7 +418,8 @@ public class OfficialAPIService {
}
SqlQuery = "SELECT *,CONCAT('https://gccservices.in/gccofficialapp/files/app_icon/menu/', icon_url) "
+ "AS iconUrl FROM `department` WHERE `ISACTIVE`=1 AND `id` IN ("+mainmenus+") ORDER BY `orderby`, `name` ASC";
+ "AS iconUrl FROM `department` WHERE `ISACTIVE`=1 AND `id` IN (" + mainmenus
+ ") ORDER BY `orderby`, `name` ASC";
List<Map<String, Object>> result = jdbcActivityTemplate.queryForList(SqlQuery);
return result;
}
@ -362,7 +430,8 @@ public class OfficialAPIService {
// System.out.println("getMenu DepartmentID: " + departmentId);
String SqlQuery = "";
String menus = "0";
if(loginId.isBlank() || loginId.isEmpty() || loginId==null || loginId.equals(null) || loginId.equals("null")) {
if (loginId.isBlank() || loginId.isEmpty() || loginId == null || loginId.equals(null)
|| loginId.equals("null")) {
loginId = "11342";
}
List<Map<String, Object>> moduleids = getUserModules(loginId);
@ -403,7 +472,8 @@ public class OfficialAPIService {
String SqlQuery = "";
String menuitem = "0";
if(loginId.isBlank() || loginId.isEmpty() || loginId==null || loginId.equals(null) || loginId.equals("null")) {
if (loginId.isBlank() || loginId.isEmpty() || loginId == null || loginId.equals(null)
|| loginId.equals("null")) {
loginId = "11342";
}
@ -429,7 +499,8 @@ public class OfficialAPIService {
}
SqlQuery = "SELECT *,CONCAT('https://gccservices.in/gccofficialapp/files/app_icon/menu/', icon_url) "
+ "AS iconUrl FROM `menuitem` WHERE `ISACTIVE`=1 AND `module_id`=? AND `id` IN ("+menuitem+") ORDER BY `orderby`, `name` ASC";
+ "AS iconUrl FROM `menuitem` WHERE `ISACTIVE`=1 AND `module_id`=? AND `id` IN (" + menuitem
+ ") ORDER BY `orderby`, `name` ASC";
// System.out.println(SqlQuery);
List<Map<String, Object>> result = jdbcActivityTemplate.queryForList(SqlQuery, menuId);

Loading…
Cancel
Save