Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,7 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<scope>provided</scope>
</dependency>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,4 +70,8 @@ public interface OrgHierarchyRepository extends JpaRepository<OrgHierarchy, Inte
@Query(value = "UPDATE org_hierarchy_v4 SET orgname = ?2 WHERE sborgid = ?1", nativeQuery = true)
void updateOrgNameBySbOrgId(String sbOrgId, String orgName);

@Query(value = "SELECT sborgid FROM org_hierarchy_v4 WHERE sbrootorgid = ?1 AND orgname ILIKE CONCAT('%', ?2, '%')",
countQuery = "SELECT COUNT(*) FROM org_hierarchy_v4 WHERE sbrootorgid = ?1 AND orgname ILIKE CONCAT('%', ?2, '%')", nativeQuery = true)
Page<String> findAllBySbRootOrgIdAndQuery(String sbRootOrgId, String query, Pageable pageable);

}
14 changes: 10 additions & 4 deletions src/main/java/org/sunbird/org/service/ExtendedOrgServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -250,15 +250,21 @@ public SBApiResponse orgExtSearch(Map<String, Object> request) throws Exception

Map<String, Object> requestData = (Map<String, Object>) request.get(Constants.REQUEST);
Map<String, Object> filters = (Map<String, Object>) requestData.get(Constants.FILTERS);
// sbRootOrgId is State Id. Let's get all the children.
String sbRootOrgId = (String) filters.get(Constants.SB_ROOT_ORG_ID);

// sbRootOrgId is State Id. Let's get all the children (i.e. departments)
String query = Optional.ofNullable(requestData.get(Constants.QUERY)).map(Object::toString).orElse(null);

int limit = Optional.ofNullable((Integer) requestData.get(Constants.LIMIT)).orElse(20);
int offset = Optional.ofNullable((Integer) requestData.get(Constants.OFFSET)).orElse(0);
int page = offset / limit;
Pageable pageable = PageRequest.of(page, limit);

Pageable pageable = PageRequest.of(offset, limit);
Page<String> orgIdPage = orgRepository.findAllBySbRootOrgId(sbRootOrgId, pageable);
Page<String> orgIdPage;
if (StringUtils.isNotEmpty(query)) {
orgIdPage = orgRepository.findAllBySbRootOrgIdAndQuery(sbRootOrgId, query, pageable);
} else {
orgIdPage = orgRepository.findAllBySbRootOrgId(sbRootOrgId, pageable);
}
long totalOrgCount = orgIdPage.getTotalElements();
List<String> orgIdList = orgIdPage.getContent();
if (CollectionUtils.isNotEmpty(orgIdList)) {
Expand Down
59 changes: 55 additions & 4 deletions src/main/java/org/sunbird/profile/service/ProfileServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -912,7 +912,7 @@ public SBApiResponse userSignup(Map<String, Object> request) {
request.put(Constants.USER_NAME, userData.get(Constants.USER_NAME));
request.put(Constants.ROOT_ORG_ID, userData.get(Constants.ROOT_ORG_ID));
request.put(Constants.ORG_NAME, userData.get(Constants.CHANNEL));
retValue = updateUser(request);
retValue = updateUserForParichaySignup(request);
if (retValue) {
response.getResult().put(Constants.RESPONSE, Constants.SUCCESS);
response.getResult().put(Constants.USER_ID, userId);
Expand Down Expand Up @@ -1288,7 +1288,8 @@ private String updateUserProfile(Map<String, Object> request) {
}

List<Map<String, Object>> professionalDetails;
if (existingProfile.containsKey(Constants.PROFESSIONAL_DETAILS)) {
if (existingProfile.containsKey(Constants.PROFESSIONAL_DETAILS)
&& ((List<Map<String, Object>>)existingProfile.get(Constants.PROFESSIONAL_DETAILS)).size() > 0) {
professionalDetails = (List<Map<String, Object>>) existingProfile.get(Constants.PROFESSIONAL_DETAILS);
} else {
professionalDetails = new ArrayList<Map<String, Object>>() {
Expand All @@ -1300,8 +1301,34 @@ private String updateUserProfile(Map<String, Object> request) {
};
existingProfile.put(Constants.PROFESSIONAL_DETAILS, professionalDetails);
}
professionalDetails.get(0).put(Constants.GROUP, request.get(Constants.GROUP));
if (StringUtils.isNotEmpty((String) request.get(Constants.GROUP))
&& userUtilityService.validateGroup((String) request.get(Constants.GROUP))) {
professionalDetails.get(0).put(Constants.GROUP, request.get(Constants.GROUP));
}
professionalDetails.get(0).put(Constants.ORGANIZATION_TYPE, Constants.GOVERNMENT);
if (StringUtils.isNotEmpty((String) request.get(Constants.DESIGNATION))) {
professionalDetails.get(0).put(Constants.DESIGNATION, request.get(Constants.DESIGNATION));
}

if (StringUtils.isNotEmpty((String) professionalDetails.get(0).get(Constants.DESIGNATION))) {
existingProfile.put(Constants.PROFILE_DESIGNATION_STATUS, Constants.VERIFIED);
} else {
existingProfile.put(Constants.PROFILE_DESIGNATION_STATUS, Constants.NOT_VERIFIED);
}

if (StringUtils.isNotEmpty((String) professionalDetails.get(0).get(Constants.GROUP))) {
existingProfile.put(Constants.PROFILE_GROUP_STATUS, Constants.VERIFIED);
} else {
existingProfile.put(Constants.PROFILE_GROUP_STATUS, Constants.NOT_VERIFIED);
}

if (Constants.VERIFIED.equalsIgnoreCase((String) existingProfile.get(Constants.PROFILE_GROUP_STATUS)) &&
Constants.VERIFIED
.equalsIgnoreCase((String) existingProfile.get(Constants.PROFILE_DESIGNATION_STATUS))) {
existingProfile.put(Constants.PROFILE_STATUS, Constants.VERIFIED);
} else {
existingProfile.put(Constants.PROFILE_STATUS, Constants.NOT_VERIFIED);
}

Map<String, Object> empDetails;
if (existingProfile.containsKey(Constants.EMPLOYMENTDETAILS)) {
Expand Down Expand Up @@ -1480,7 +1507,7 @@ public List<Map<String, Object>> getAdminUserSearchData(String searchTerm, Strin
return resultArray;
}

private boolean updateUser(Map<String, Object> requestObject) {
private boolean updateUserForParichaySignup(Map<String, Object> requestObject) {
boolean retValue = false;
Map<String, Object> updateRequest = new HashMap<>();
Map<String, Object> updateRequestBody = new HashMap<String, Object>();
Expand Down Expand Up @@ -1512,6 +1539,30 @@ private boolean updateUser(Map<String, Object> requestObject) {
if (StringUtils.isNotEmpty((String) requestObject.get(Constants.POSITION))) {
professionDetailObj.put(Constants.DESIGNATION, requestObject.get(Constants.POSITION));
}
if (StringUtils.isNotEmpty((String) requestObject.get(Constants.GROUP))
&& userUtilityService.validateGroup((String) requestObject.get(Constants.GROUP))) {
professionDetailObj.put(Constants.GROUP, requestObject.get(Constants.GROUP));
}

if (StringUtils.isNotEmpty((String) professionDetailObj.get(Constants.DESIGNATION))) {
profileDetails.put(Constants.PROFILE_DESIGNATION_STATUS, Constants.VERIFIED);
} else {
profileDetails.put(Constants.PROFILE_DESIGNATION_STATUS, Constants.NOT_VERIFIED);
}

if (StringUtils.isNotEmpty((String) professionDetailObj.get(Constants.GROUP))) {
profileDetails.put(Constants.PROFILE_GROUP_STATUS, Constants.VERIFIED);
} else {
profileDetails.put(Constants.PROFILE_GROUP_STATUS, Constants.NOT_VERIFIED);
}

if (Constants.VERIFIED.equalsIgnoreCase((String) profileDetails.get(Constants.PROFILE_GROUP_STATUS)) &&
Constants.VERIFIED
.equalsIgnoreCase((String) profileDetails.get(Constants.PROFILE_DESIGNATION_STATUS))) {
profileDetails.put(Constants.PROFILE_STATUS, Constants.VERIFIED);
} else {
profileDetails.put(Constants.PROFILE_STATUS, Constants.NOT_VERIFIED);
}
List<Map<String, Object>> professionalDetailsList = new ArrayList<Map<String, Object>>();
professionalDetailsList.add(professionDetailObj);
profileDetails.put(Constants.PROFESSIONAL_DETAILS, professionalDetailsList);
Expand Down