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

[CHORE] 팀 정보 수정 로직 분리 및 팀 정보 반환시 팀 이름 변경 날짜 반환 #217

Merged
merged 4 commits into from
Dec 31, 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
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@

import java.security.Principal;

import com.tiki.server.team.dto.request.TeamMemberAndTeamInformUpdateRequest;
import com.tiki.server.team.dto.request.TeamMemberAndTeamInformUpdateServiceRequest;
import com.tiki.server.team.dto.request.TeamInformUpdateRequest;
import com.tiki.server.team.dto.request.TeamInformUpdateServiceRequest;
import com.tiki.server.team.dto.response.UsageGetResponse;
import com.tiki.server.team.dto.response.CategoriesGetResponse;
import com.tiki.server.team.dto.response.TeamsGetResponse;
Expand Down Expand Up @@ -86,13 +86,13 @@ public SuccessResponse<TeamInformGetResponse> getTeamName(

@ResponseStatus(HttpStatus.OK)
@PatchMapping("/{teamId}/inform")
public SuccessResponse<?> updateTeamAndTeamMemberInform(
public SuccessResponse<?> updateTeamInform(
final Principal principal,
@PathVariable final long teamId,
@RequestBody final TeamMemberAndTeamInformUpdateRequest request
@RequestBody final TeamInformUpdateRequest request
) {
long memberId = Long.parseLong(principal.getName());
teamService.updateTeamAndTeamMemberInform(memberId, teamId, TeamMemberAndTeamInformUpdateServiceRequest.from(request));
teamService.updateTeamInform(TeamInformUpdateServiceRequest.from(request,memberId,teamId));
return SuccessResponse.success(SUCCESS_UPDATE_TEAM_NAME.getMessage());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

import jakarta.validation.constraints.NotNull;

public record TeamMemberAndTeamInformUpdateRequest(
@NotNull String teamMemberName,
public record TeamInformUpdateRequest(
@NotNull String teamName,
@NotNull String teamUrl
) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.tiki.server.team.dto.request;

import jakarta.validation.constraints.NotNull;

public record TeamInformUpdateServiceRequest(
@NotNull long memberId,
@NotNull long teamId,
@NotNull String teamName,
@NotNull String teamIconUrl
) {
public static TeamInformUpdateServiceRequest from(final TeamInformUpdateRequest request, final long memberId, final long teamId) {
return new TeamInformUpdateServiceRequest(
memberId,
teamId,
request.teamName(),
request.teamUrl()
);
}
}

This file was deleted.

13 changes: 7 additions & 6 deletions src/main/java/com/tiki/server/team/entity/Team.java
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,17 @@ public static Team of(final TeamCreateRequest request, final University univ) {
.subscribe(BASIC)
.usage(INIT_NUM)
.iconImageUrl(request.iconImageUrl())
.namingUpdatedAt(null)
.namingUpdatedAt(LocalDate.now())
.build();
}

public void updateInform(final String name, final String iconImageUrl) {
updateTeamName(name);
updateIconImageUrl(iconImageUrl);
if (!name.equals(this.name)) {
updateTeamName(name);
}
if(!iconImageUrl.equals(this.iconImageUrl)){
updateIconImageUrl(iconImageUrl);
}
}

private void updateTeamName(final String name) {
Expand Down Expand Up @@ -121,9 +125,6 @@ public double getCapacity() {
}

private boolean canChangeName() {
if (namingUpdatedAt == null) {
return true;
}
long daysBetween = ChronoUnit.DAYS.between(namingUpdatedAt, LocalDate.now());
return daysBetween >= 30;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
public enum SuccessMessage {

SUCCESS_CREATE_TEAM("팀 생성 성공"),
SUCCESS_UPDATE_TEAM_NAME("팀 이름 변경 성공"),
SUCCESS_UPDATE_TEAM_NAME("팀 정보 변경 성공"),
SUCCESS_UPDATE_TEAM_ICON("팀 아이콘 변경 성공"),
SUCCESS_ALTER_AUTHORITY("어드민 권한 위임 성공"),
SUCCESS_GET_TEAMS("전체 팀 불러오기 성공"),
Expand Down
13 changes: 4 additions & 9 deletions src/main/java/com/tiki/server/team/service/TeamService.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import com.tiki.server.memberteammanager.adapter.MemberTeamManagerFinder;
import com.tiki.server.team.adapter.TeamDeleter;
import com.tiki.server.team.adapter.TeamFinder;
import com.tiki.server.team.dto.request.TeamMemberAndTeamInformUpdateServiceRequest;
import com.tiki.server.team.dto.request.TeamInformUpdateServiceRequest;
import com.tiki.server.team.dto.response.CategoriesGetResponse;
import com.tiki.server.team.dto.response.TeamsGetResponse;

Expand Down Expand Up @@ -93,14 +93,9 @@ private Team createTeam(final TeamCreateRequest request, final University univ)
}

@Transactional
public void updateTeamAndTeamMemberInform(
final long memberId,
final long teamId,
final TeamMemberAndTeamInformUpdateServiceRequest request
) {
MemberTeamManager memberTeamManager = checkIsAdmin(memberId, teamId);
memberTeamManager.updateName(request.teamMemberName());
Team team = teamFinder.findById(teamId);
public void updateTeamInform(final TeamInformUpdateServiceRequest request) {
checkIsAdmin(request.memberId(), request.teamId());
Team team = teamFinder.findById(request.teamId());
team.updateInform(request.teamName(), request.teamIconUrl());
updateIconUrlS3(team, request.teamIconUrl());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,16 @@
import com.tiki.server.team.entity.Team;
import jakarta.validation.constraints.NotNull;

import java.time.LocalDate;

public record TeamInformGetResponse(
@NotNull String teamName,
@NotNull University university,
@NotNull String teamIconUrl
) {
@NotNull String teamIconUrl,
@NotNull LocalDate namingUpdatedAt
) {

public static TeamInformGetResponse from(final Team team) {
return new TeamInformGetResponse(team.getName(),team.getUniv(), team.getIconImageUrl());
return new TeamInformGetResponse(team.getName(),team.getUniv(), team.getIconImageUrl(),team.getNamingUpdatedAt());
}
}
Loading