Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.0.6 #218

Merged
merged 5 commits into from
Sep 10, 2024
Merged
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
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# auth
layer-api/src/main/resources/application.yml

layer-api/src/main/resources/application-secret.properties

# q
layer-domain/src/main/generated/

Expand Down Expand Up @@ -42,7 +44,9 @@ out/

### VS Code ###
.vscode/
*.properties
#*.properties


*.sql

layer-domain/src/main/generated
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
package org.layer.domain.admin.controller;

import java.time.LocalDateTime;

import org.layer.domain.admin.controller.dto.AdminRetrospectsGetResponse;
import org.layer.domain.admin.controller.dto.AdminSpacesGetResponse;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.layer.domain.admin.controller.dto.AdminRetrospectCountGetResponse;
import org.layer.domain.admin.controller.dto.AdminRetrospectsGetResponse;
import org.layer.domain.admin.controller.dto.AdminSpaceCountGetResponse;
import org.layer.domain.admin.controller.dto.AdminSpacesGetResponse;
import org.layer.domain.retrospect.dto.AdminRetrospectCountGroupBySpaceGetResponse;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestParam;

import java.time.LocalDateTime;
import java.util.List;

@Tag(name = "์–ด๋“œ๋ฏผ", description = "์–ด๋“œ๋ฏผ ๊ด€๋ จ API")
public interface AdminApi {
Expand All @@ -32,4 +34,41 @@ ResponseEntity<AdminSpacesGetResponse> getSpaceData(@RequestParam("startDate") L
@Parameter(name = "password", description = "๋น„๋ฐ€๋ฒˆํ˜ธ [์นดํ†ก๋ฐฉ์œผ๋กœ ๊ณต์œ ]", example = "[์นดํ†ก๋ฐฉ์œผ๋กœ ๊ณต์œ ]", required = true, schema = @Schema(type = "string", format = "string"))})
ResponseEntity<AdminRetrospectsGetResponse> getRetrospectData(@RequestParam("startDate") LocalDateTime startDate,
@RequestParam("endDate") LocalDateTime endDate, @RequestParam("password") String password);

@Operation(summary = "์ŠคํŽ˜์ด์Šค ๊ฐœ์ˆ˜ ์กฐํšŒ", description = "ํŠน์ • ๊ธฐ๊ฐ„๋‚ด์— ๋งŒ๋“ค์–ด์ง„ ์ŠคํŽ˜์ด์Šค ๊ฐœ์ˆ˜๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. (์šฐ๋ฆฌ ํŒ€์›์ด ๋งŒ๋“  ์ŠคํŽ˜์ด์Šค๋Š” ์ œ์™ธ)")
@Parameters({
@Parameter(name = "startDate", description = "๊ฒ€์ƒ‰ ์‹œ์ž‘ ์‹œ๊ฐ„", example = "2024-09-05T15:30:45", required = true, schema = @Schema(type = "string")),
@Parameter(name = "endDate", description = "๊ฒ€์ƒ‰ ์ข…๋ฃŒ ์‹œ๊ฐ„", example = "2024-09-13T15:30:45", required = true, schema = @Schema(type = "string")),
@Parameter(name = "password", description = "๋น„๋ฐ€๋ฒˆํ˜ธ [์นดํ†ก๋ฐฉ์œผ๋กœ ๊ณต์œ ]", example = "[์นดํ†ก๋ฐฉ์œผ๋กœ ๊ณต์œ ]", required = true, schema = @Schema(type = "string", format = "string"))})
ResponseEntity<AdminSpaceCountGetResponse> getSpaceCount(@RequestParam("startDate") LocalDateTime startDate,
@RequestParam("endDate") LocalDateTime endDate, @RequestParam("password") String password);

@Operation(summary = "ํšŒ๊ณ  ๊ฐœ์ˆ˜ ์กฐํšŒ", description = "ํŠน์ • ๊ธฐ๊ฐ„๋‚ด์— ์‹œ์ž‘๋œ ํšŒ๊ณ  ๊ฐœ์ˆ˜๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. (์šฐ๋ฆฌ ํŒ€์›์ด ๋งŒ๋“  ์ŠคํŽ˜์ด์Šค์—์„œ ์ง„ํ–‰๋œ ํšŒ๊ณ ๋Š” ์ œ์™ธ)")
@Parameters({
@Parameter(name = "startDate", description = "๊ฒ€์ƒ‰ ์‹œ์ž‘ ์‹œ๊ฐ„", example = "2024-09-05T15:30:45", required = true, schema = @Schema(type = "string")),
@Parameter(name = "endDate", description = "๊ฒ€์ƒ‰ ์ข…๋ฃŒ ์‹œ๊ฐ„", example = "2024-09-13T15:30:45", required = true, schema = @Schema(type = "string")),
@Parameter(name = "password", description = "๋น„๋ฐ€๋ฒˆํ˜ธ [์นดํ†ก๋ฐฉ์œผ๋กœ ๊ณต์œ ]", example = "[์นดํ†ก๋ฐฉ์œผ๋กœ ๊ณต์œ ]", required = true, schema = @Schema(type = "string", format = "string"))})
ResponseEntity<AdminRetrospectCountGetResponse> getRetrospectCount(@RequestParam("startDate") LocalDateTime startDate,
@RequestParam("endDate") LocalDateTime endDate, @RequestParam("password") String password);


@Operation(summary = "ํŠน์ • ์ŠคํŽ˜์ด์Šค ๋‚ด ํšŒ๊ณ  ๊ฐœ์ˆ˜ ์กฐํšŒ", description = "ํŠน์ • ๊ธฐ๊ฐ„๋‚ด์— ํŠน์ • ์ŠคํŽ˜์ด์Šค ์•ˆ์—์„œ ์‹œ์ž‘๋œ ํšŒ๊ณ  ๊ฐœ์ˆ˜๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.")
@Parameters({
@Parameter(name = "startDate", description = "๊ฒ€์ƒ‰ ์‹œ์ž‘ ์‹œ๊ฐ„", example = "2024-09-05T15:30:45", required = true, schema = @Schema(type = "string")),
@Parameter(name = "endDate", description = "๊ฒ€์ƒ‰ ์ข…๋ฃŒ ์‹œ๊ฐ„", example = "2024-09-13T15:30:45", required = true, schema = @Schema(type = "string")),
@Parameter(name = "password", description = "๋น„๋ฐ€๋ฒˆํ˜ธ [์นดํ†ก๋ฐฉ์œผ๋กœ ๊ณต์œ ]", example = "[์นดํ†ก๋ฐฉ์œผ๋กœ ๊ณต์œ ]", required = true, schema = @Schema(type = "string", format = "string"))})
ResponseEntity<AdminRetrospectCountGetResponse> getRetrospectCountInSpace(@RequestParam("startDate") LocalDateTime startDate,
@RequestParam("endDate") LocalDateTime endDate,
@RequestParam("spaceId") Long spaceId,
@RequestParam("password") String password);


@Operation(summary = "ํŠน์ • ๊ธฐ๊ฐ„ ๋‚ด ํšŒ๊ณ  ๊ฐœ์ˆ˜ ์ŠคํŽ˜์ด์Šค ๋ณ„๋กœ ๋ณด๊ธฐ", description = "ํŠน์ • ๊ธฐ๊ฐ„๋‚ด์— ์‹œ์ž‘๋œ ํšŒ๊ณ  ๊ฐœ์ˆ˜๋ฅผ ์ŠคํŽ˜์ด์Šค ๋ณ„๋กœ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. (์šฐ๋ฆฌ ํŒ€์›์ด ๋งŒ๋“  ์ŠคํŽ˜์ด์Šค๋Š” ์ œ์™ธ)")
@Parameters({
@Parameter(name = "startDate", description = "๊ฒ€์ƒ‰ ์‹œ์ž‘ ์‹œ๊ฐ„", example = "2024-09-05T15:30:45", required = true, schema = @Schema(type = "string")),
@Parameter(name = "endDate", description = "๊ฒ€์ƒ‰ ์ข…๋ฃŒ ์‹œ๊ฐ„", example = "2024-09-13T15:30:45", required = true, schema = @Schema(type = "string")),
@Parameter(name = "password", description = "๋น„๋ฐ€๋ฒˆํ˜ธ [์นดํ†ก๋ฐฉ์œผ๋กœ ๊ณต์œ ]", example = "[์นดํ†ก๋ฐฉ์œผ๋กœ ๊ณต์œ ]", required = true, schema = @Schema(type = "string", format = "string"))})
ResponseEntity<List<AdminRetrospectCountGroupBySpaceGetResponse>> getRetrospectCountGroupBySpace (@RequestParam("startDate") LocalDateTime startDate,
@RequestParam("endDate") LocalDateTime endDate,
@RequestParam("password") String password);
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
package org.layer.domain.admin.controller;

import java.time.LocalDateTime;

import org.layer.common.annotation.MemberId;
import lombok.RequiredArgsConstructor;
import org.layer.domain.admin.controller.dto.AdminRetrospectCountGetResponse;
import org.layer.domain.admin.controller.dto.AdminRetrospectsGetResponse;
import org.layer.domain.admin.controller.dto.AdminSpaceCountGetResponse;
import org.layer.domain.admin.controller.dto.AdminSpacesGetResponse;
import org.layer.domain.admin.service.AdminService;
import org.layer.domain.retrospect.dto.AdminRetrospectCountGroupBySpaceGetResponse;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

import lombok.RequiredArgsConstructor;
import java.time.LocalDateTime;
import java.util.List;

@RestController
@RequiredArgsConstructor
Expand All @@ -40,4 +38,39 @@ public ResponseEntity<AdminRetrospectsGetResponse> getRetrospectData(

return ResponseEntity.ok(adminService.getRetrospectData(startDate, endDate, password));
}

@Override
@GetMapping("/space/count/user-only")
public ResponseEntity<AdminSpaceCountGetResponse> getSpaceCount(
@RequestParam("startDate") LocalDateTime startDate,
@RequestParam("endDate") LocalDateTime endDate,
@RequestParam("password") String password) {
return ResponseEntity.ok(adminService.getSpaceCount(startDate, endDate, password));
}

@Override
@GetMapping("/retrospect/count/user-only")
public ResponseEntity<AdminRetrospectCountGetResponse> getRetrospectCount(
@RequestParam("startDate") LocalDateTime startDate,
@RequestParam("endDate") LocalDateTime endDate,
@RequestParam("password") String password) {

return ResponseEntity.ok(adminService.getRetrospectCount(startDate, endDate, password));
}

@Override
@GetMapping("space/{spaceId}/retrospect/count")
public ResponseEntity<AdminRetrospectCountGetResponse> getRetrospectCountInSpace(@RequestParam("startDate") LocalDateTime startDate,
@RequestParam("endDate") LocalDateTime endDate,
@PathVariable("spaceId") Long spaceId,
@RequestParam("password") String password) {
return ResponseEntity.ok(adminService.getRetrospectCountInSpace(startDate, endDate, spaceId, password));
}

@Override
@GetMapping("/retrospect/count/group-by-space")
public ResponseEntity<List<AdminRetrospectCountGroupBySpaceGetResponse>> getRetrospectCountGroupBySpace(LocalDateTime startDate, LocalDateTime endDate, String password) {
return ResponseEntity.ok(adminService.getRetrospectCountGroupSpace(startDate, endDate, password));
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package org.layer.domain.admin.controller.dto;

import io.swagger.v3.oas.annotations.media.Schema;

@Schema(name = "AdminSpaceCountGetResponse", description = "์šฐ๋ฆฌ ํŒ€์ด ๋งŒ๋“  ์ŠคํŽ˜์ด์Šค์—์„œ ์ง„ํ–‰๋œ ํšŒ๊ณ ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๊ธฐ๊ฐ„ ๋‚ด์— ์‹œ์ž‘๋œ ํšŒ๊ณ  ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.")
public record AdminRetrospectCountGetResponse(
@Schema(description = "๊ธฐ๊ฐ„ ๋‚ด์— ๋งŒ๋“ค์–ด์ง„ ํšŒ๊ณ  ๊ฐœ์ˆ˜", example = "20")
Long retrospectCount) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package org.layer.domain.admin.controller.dto;

import io.swagger.v3.oas.annotations.media.Schema;

@Schema(name = "AdminSpaceCountGetResponse", description = "์šฐ๋ฆฌ ํŒ€์ด ๋งŒ๋“  ์ŠคํŽ˜์ด์Šค๋ฅผ ์ œ์™ธํ•˜๊ณ  ๊ธฐ๊ฐ„ ๋‚ด์— ๋งŒ๋“ค์–ด์ง„ ์ŠคํŽ˜์ด์Šค ๊ฐœ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.")
public record AdminSpaceCountGetResponse(
@Schema(description = "๊ธฐ๊ฐ„ ๋‚ด์— ๋งŒ๋“ค์–ด์ง„ ์ŠคํŽ˜์ด์Šค ๊ฐœ์ˆ˜", example = "11")
Long spaceCount) {
}
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
package org.layer.domain.admin.service;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Optional;

import lombok.RequiredArgsConstructor;
import org.layer.domain.admin.controller.dto.AdminRetrospectCountGetResponse;
import org.layer.domain.admin.controller.dto.AdminRetrospectsGetResponse;
import org.layer.domain.admin.controller.dto.AdminSpaceCountGetResponse;
import org.layer.domain.admin.controller.dto.AdminSpacesGetResponse;
import org.layer.domain.retrospect.dto.AdminRetrospectCountGroupBySpaceGetResponse;
import org.layer.domain.retrospect.dto.AdminRetrospectGetResponse;
import org.layer.domain.retrospect.repository.RetrospectAdminRepository;
import org.layer.domain.space.dto.AdminSpaceGetResponse;
import org.layer.domain.space.entity.Space;
import org.layer.domain.space.repository.SpaceAdminRepository;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import lombok.RequiredArgsConstructor;
import java.time.LocalDateTime;
import java.util.List;

@Service
@RequiredArgsConstructor
Expand Down Expand Up @@ -49,4 +49,39 @@ public AdminRetrospectsGetResponse getRetrospectData(LocalDateTime startDate, Lo

return new AdminRetrospectsGetResponse(retrospects, retrospects.size());
}

public AdminSpaceCountGetResponse getSpaceCount(LocalDateTime startDate, LocalDateTime endDate, String requestPassword) {
if(!requestPassword.equals(password)) {
throw new IllegalArgumentException("๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค.");
}

Long count = spaceAdminRepository.countSpacesExceptForAdminSpace(startDate, endDate);
return new AdminSpaceCountGetResponse(count);
}

public AdminRetrospectCountGetResponse getRetrospectCount(LocalDateTime startDate, LocalDateTime endDate, String requestPassword) {
if(!requestPassword.equals(password)) {
throw new IllegalArgumentException("๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค.");
}

Long count = retrospectAdminRepository.countRetrospectsExceptForAdminSpace(startDate, endDate);
return new AdminRetrospectCountGetResponse(count);
}

public AdminRetrospectCountGetResponse getRetrospectCountInSpace(LocalDateTime startDate, LocalDateTime endDate, Long spaceId, String requestPassword) {
if(!requestPassword.equals(password)) {
throw new IllegalArgumentException("๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค.");
}

Long count = retrospectAdminRepository.countRetrospectsBySpaceId(spaceId, startDate, endDate);
return new AdminRetrospectCountGetResponse(count);
}

public List<AdminRetrospectCountGroupBySpaceGetResponse> getRetrospectCountGroupSpace(LocalDateTime startDate, LocalDateTime endDate, String requestPassword) {
if(!requestPassword.equals(password)) {
throw new IllegalArgumentException("๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค.");
}

return retrospectAdminRepository.countRetrospectsGroupBySpace(startDate, endDate);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public ResponseEntity<RecommendFormResponseDto> getRecommendTemplate(
@Valid @ModelAttribute RecommendFormQueryDto queryDto,
@MemberId Long memberId) {

RecommendFormResponseDto response = formService.getRecommendTemplate(queryDto, memberId);
RecommendFormResponseDto response = formService.getRecommendTemplate(queryDto);
return ResponseEntity.ok().body(response);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
import org.layer.domain.form.controller.dto.response.QuestionGetResponse;
import org.layer.domain.form.controller.dto.response.RecommendFormResponseDto;
import org.layer.domain.form.entity.Form;
import org.layer.domain.form.entity.FormType;
import org.layer.domain.form.enums.FormTag;
import org.layer.domain.form.exception.FormException;
import org.layer.domain.form.repository.FormRepository;
import org.layer.domain.question.entity.Question;
Expand Down Expand Up @@ -44,9 +46,6 @@ public class FormService {
private final SpaceRepository spaceRepository;
private final TemplateMetadataRepository metadataRepository;

private static final int MIN = 10000;
private static final int MAX = 10005;

/**
* ํšŒ๊ณ  ํผ ์งˆ๋ฌธ์„ ์กฐํšŒํ•œ๋‹ค.
*
Expand All @@ -72,13 +71,11 @@ public FormGetResponse getForm(Long formId, Long memberId) {
return FormGetResponse.of(form.getTitle(), form.getFormTag().getTag(), questionResponses);
}

public RecommendFormResponseDto getRecommendTemplate(RecommendFormQueryDto queryDto, Long memberId) {
Random random = new Random();
Long formId = random.nextLong(MAX - MIN + 1) + MIN;
public RecommendFormResponseDto getRecommendTemplate(RecommendFormQueryDto queryDto) {
FormTag recommandFormTag = FormTag.getRecommandFormTag(queryDto.purpose());

Form form = formRepository.findByIdOrThrow(formId);
TemplateMetadata metadata = metadataRepository.findByFormIdOrThrow(formId);
// TODO: ํ…œํ”Œ๋ฆฟ ์ด๋ฏธ์ง€ ํ•„์š”
Form form = formRepository.findByFormTagAndFormTypeOrThrow(recommandFormTag, FormType.TEMPLATE);
TemplateMetadata metadata = metadataRepository.findByFormIdOrThrow(form.getId());

return RecommendFormResponseDto.of(form, metadata.getTemplateImageUrl());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;

public record RetrospectCreateRequest(
@Schema(description = "ํšŒ๊ณ  ์ œ๋ชฉ", example = "์ค‘๊ฐ„ ๋ฐœํ‘œ ์ดํ›„ ํšŒ๊ณ ")
Expand All @@ -17,7 +16,6 @@ public record RetrospectCreateRequest(
@NotNull
List<QuestionCreateRequest> questions,
@Schema(description = "ํšŒ๊ณ  ๋งˆ๊ฐ ์ผ์ž", example = "")
@NotNull
LocalDateTime deadline,
@Schema(description = "์งˆ๋ฌธ์„ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ true", example = "true")
Boolean isNewForm,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,6 @@ public Long createRetrospect(RetrospectCreateRequest request, Long spaceId, Long
Team team = new Team(memberSpaceRelationRepository.findAllBySpaceId(spaceId));
team.validateTeamMembership(memberId);



Retrospect retrospect = getRetrospect(request, spaceId);
Retrospect savedRetrospect = retrospectRepository.save(retrospect);

Expand Down
1 change: 1 addition & 0 deletions layer-api/src/main/resources/application-local.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ google:
sheet:
id: ${GOOGLE_SHEET_ID}
token_path: ${LOCAL_GOOGLE_TOKEN_PATH}
credential_path: ${PROD_GOOGLE_CREDENTIAL_PATH}

apple:
login:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,42 @@
package org.layer.domain.form.enums;

import java.util.EnumSet;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
@Getter
public enum FormTag {
KPT("KPT"),
FIVE_F("5F"),
MAD_SAD_GLAD("Mad Sad Glad"),
SSC("SSC"),
PMI("PMI"),
UNTITLED("๋ฌด์ œ"),
CUSTOM("CUSTOM");
KPT("KPT"),
FIVE_F("5F"),
MAD_SAD_GLAD("Mad Sad Glad"),
SSC("SSC"),
PMI("PMI"),
UNTITLED("๋ฌด์ œ"),
CUSTOM("CUSTOM");

private final String tag;

public static FormTag getRecommandFormTag(List<RetrospectPurpose> retrospectPurposes) {
Map<FormTag, Integer> formTagIntegerMap = EnumSet.allOf(FormTag.class).stream()
.collect(Collectors.toMap(tag -> tag, tag -> 0));

retrospectPurposes.forEach(purpose -> {
formTagIntegerMap.put(KPT, formTagIntegerMap.get(KPT) + purpose.getKtpPoint());
formTagIntegerMap.put(FIVE_F, formTagIntegerMap.get(FIVE_F) + purpose.getFiveFPoint());
formTagIntegerMap.put(MAD_SAD_GLAD, formTagIntegerMap.get(MAD_SAD_GLAD) + purpose.getMadSadGladPoint());
formTagIntegerMap.put(SSC, formTagIntegerMap.get(SSC) +purpose.getSscPoint());
formTagIntegerMap.put(PMI, formTagIntegerMap.get(PMI) +purpose.getPmiPont());
});

private final String tag;
return formTagIntegerMap.entrySet()
.stream()
.max(Map.Entry.comparingByValue())
.map(Map.Entry::getKey)
.orElse(FormTag.UNTITLED);
}
}
Loading
Loading