sendAwardToAll method

dynamic sendAwardToAll()

Implementation

sendAwardToAll() async {
  final taskId = "trophy";
  final trophyList = _taskController.getTaskByTaskId(taskId);
  var content = "";
  if (trophyList.isEmpty) {
    content = jsonEncode([
      {"userId": "everyone", "count": 1, "syncAnimation": true},
    ]);
  } else {
    final List<dynamic> contentList = jsonDecode(trophyList.first.content);
    final existingIndex = contentList.indexWhere((e) => e["userId"] == "everyone");
    if (existingIndex >= 0) {
      contentList[existingIndex]["count"] = contentList[existingIndex]["count"] + 1;
      contentList[existingIndex]["syncAnimation"] = true;
    } else {
      contentList.add({"userId": "everyone", "count": 1, "syncAnimation": true});
    }
    content = jsonEncode(contentList);
  }
  TCICLog.info("sendAwardToAll: $content", actionModule: ActionModule.tcicController.name, actionName: ActionName.sendAward.name);
  await _taskController.updateTask(UpdateTaskParams(classId: int.parse(_config.classId), taskId: taskId, content: content));
}