Unverified Commit 604ec72e authored by Mahesh Kumar Gangula's avatar Mahesh Kumar Gangula Committed by GitHub
Browse files

Merge pull request #386 from RevathiKotla/release-4.1.0

SB-26091: Fix assessment event with proper profile userid
parents ebfff659 14f013f5
master 4.1.0-loadtest-fixes SB-25890-1 bootcamp dependabot/maven/course-mw/course-actors-common/com.fasterxml.jackson.core-jackson-databind-2.12.7.1 dependabot/maven/course-mw/course-actors-common/org.postgresql-postgresql-42.4.1 dependabot/maven/course-mw/enrolment-actor/com.fasterxml.jackson.core-jackson-databind-2.12.7.1 dependabot/maven/course-mw/sunbird-util/sunbird-cassandra-utils/com.fasterxml.jackson.core-jackson-databind-2.12.7.1 dependabot/maven/course-mw/sunbird-util/sunbird-notification/com.fasterxml.jackson.core-jackson-databind-2.12.7.1 dependabot/maven/course-mw/sunbird-util/sunbird-platform-core/actor-core/com.fasterxml.jackson.core-jackson-databind-2.12.7.1 dependabot/maven/course-mw/sunbird-util/sunbird-platform-core/actor-util/com.fasterxml.jackson.core-jackson-databind-2.12.7.1 dependabot/maven/course-mw/sunbird-util/sunbird-platform-core/auth-verifier/com.fasterxml.jackson.core-jackson-databind-2.12.7.1 dependabot/maven/course-mw/sunbird-util/sunbird-platform-core/common-util/com.fasterxml.jackson.core-jackson-databind-2.12.7.1 dependabot/maven/course-mw/sunbird-util/sunbird-platform-core/common-util/org.apache.kafka-kafka-clients-0.10.2.2 dependabot/maven/service/com.fasterxml.jackson.core-jackson-databind-2.12.7.1 helmchart release-4.1.0 release-4.2.0 release-4.4.0 release-4.5.0 release-4.6.0 release-4.8.0 release-4.9.0 release-5.0.0 release-5.0.1 release-5.0.2 release-5.1.0 release-5.2.0 release-5.2.1 release-5.3.0 release-5.3.1 release-5.4.0 release-5.3.1_RC1 release-5.3.0_RC1 release-5.2.0_RC2 release-5.2.0_RC1 release-5.1.0_RC2 release-5.1.0_RC1 release-5.0.1_RC3 release-5.0.1_RC2 release-5.0.1_RC1 release-5.0.0_RC6 release-5.0.0_RC5 release-5.0.0_RC4 release-5.0.0_RC3 release-5.0.0_RC2 release-5.0.0_RC1 release-4.9.0_RC4 release-4.9.0_RC3 release-4.9.0_RC2 release-4.9.0_RC1 release-4.8.0_RC2 release-4.8.0_RC1 release-4.6.0_RC10 release-4.6.0_RC9 release-4.6.0_RC8 release-4.6.0_RC7 release-4.6.0_RC6 release-4.6.0_RC5 release-4.6.0_RC4 release-4.6.0_RC3 release-4.6.0_RC2 release-4.6.0_RC1 release-4.5.0_RC4 release-4.5.0_RC3 release-4.5.0_RC2 release-4.5.0_RC1 release-4.4.0_RC3 release-4.4.0_RC2 release-4.4.0_RC1 release-4.2.0_RC1 release-4.1.0_RC4 release-4.1.0_RC3 release-4.1.0_RC2
No related merge requests found
Showing with 23 additions and 1 deletion
+23 -1
......@@ -83,6 +83,26 @@ class ContentConsumptionActor @Inject() extends BaseEnrolmentActor {
sender().tell(finalResponse, self)
}
}
def updateAssessEventUserid(data: List[java.util.Map[String, AnyRef]], requestedBy: String, requestedFor: String): Map[String, List[util.Map[String, AnyRef]]] = {
val primaryUserId = if(StringUtils.isNotBlank(requestedFor)) requestedFor else requestedBy
val updatedData: java.util.List[java.util.Map[String, AnyRef]] = data.map(assess => {
assess.put(JsonKey.USER_ID, primaryUserId)
val assessEvents = assess.getOrDefault(JsonKey.ASSESSMENT_EVENTS_KEY, new java.util.ArrayList[java.util.Map[String, AnyRef]])
.asInstanceOf[java.util.List[java.util.Map[String, AnyRef]]]
val assessEventData :java.util.List[java.util.Map[String, AnyRef]]= assessEvents.map(event=> {
val actorEvent = event.getOrDefault(JsonKey.ASSESSMENT_ACTOR,
new java.util.HashMap[String,AnyRef]).asInstanceOf[java.util.Map[String,AnyRef]]
if(!actorEvent.isEmpty) {
actorEvent.put("id",primaryUserId)
event.put("actor",actorEvent)
}
event
}).toList
assess.put("events",assessEventData)
assess
})
updatedData.toList.groupBy(d => d.get(JsonKey.USER_ID).asInstanceOf[String])
}
def processAssessments(assessmentEvents: java.util.List[java.util.Map[String, AnyRef]], requestContext: RequestContext, requestedBy: String, requestedFor: String): Option[Response] = {
if(CollectionUtils.isNotEmpty(assessmentEvents)) {
......@@ -98,7 +118,7 @@ class ContentConsumptionActor @Inject() extends BaseEnrolmentActor {
batchAssessmentList.foreach(input => {
val batchId = input._1
if(!invalidBatchIds.contains(batchId) && !completedBatchIds.contains(batchId)) {
val userAssessments = getDataGroupedByUserId(input._2, requestedBy, requestedFor)
val userAssessments = updateAssessEventUserid(input._2, requestedBy, requestedFor)
userAssessments.foreach(assessments => {
val userId = assessments._1
if(validUserIds.contains(userId)){
......
......@@ -79,6 +79,8 @@ public final class JsonKey {
public static final String ASSESSMENT_STATUS = "assessmentStatus";
public static final String ASSESSMENT_TYPE = "assessmentType";
public static final String ATTEMPT_ID = "attemptId";
public static final String ASSESSMENT_EVENTS_KEY = "events";
public static final String ASSESSMENT_ACTOR = "actor";
public static final String ATTEMPTED_COUNT = "attemptedCount";
public static final String AUTH_TOKEN = "authToken";
public static final String AUTH_USER_HEADER = "X-Authenticated-Userid";
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment