Skip to content

Commit

Permalink
Merge pull request #131 from nhnacademy-be4-My-Books/dev
Browse files Browse the repository at this point in the history
7주차 배포
  • Loading branch information
newjaehun authored Mar 22, 2024
2 parents 0974abb + ffaa578 commit a45ec06
Show file tree
Hide file tree
Showing 140 changed files with 5,434 additions and 1,556 deletions.
2 changes: 1 addition & 1 deletion mvnw
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ else
else
jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
fi
while IFS="=" read key value; do
while IFS="=" read key ; do
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
esac
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,17 +143,36 @@ private File convert(MultipartFile file) throws IOException {
* @return bookModifyResponse
*/
@RequiredAuthorization
public BookModifyResponse updateBook(Long bookId, BookModifyRequest modifyRequest) {
ResponseEntity<BookModifyResponse> exchange = restTemplate.exchange(
gatewayAdaptorProperties.getAddress() + ADMIN_URL + "/{id}",
public void updateBook(Long bookId, BookModifyRequest modifyRequest, MultipartFile thumbnailImage,
List<MultipartFile> contentImages) throws IOException {
HttpHeaders headers = Utils.getAuthHeader();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
MultiValueMap<String, Object> parts = new LinkedMultiValueMap<>();
parts.add("request", modifyRequest);
if (thumbnailImage != null && !thumbnailImage.isEmpty()) {
parts.add("thumbnail", new FileSystemResource(convert(thumbnailImage)));
}
if (contentImages != null && !contentImages.isEmpty()) {
for (MultipartFile file : contentImages) {
if (!file.isEmpty()) {
parts.add("content", new FileSystemResource(convert(file)));
}
}
}

HttpEntity<MultiValueMap<String, Object>> requestHttpEntity = new HttpEntity<>(parts, headers);

ResponseEntity<Void> responseEntity = restTemplate.exchange(
gatewayAdaptorProperties.getAddress() + ADMIN_URL + "/" + bookId,
HttpMethod.PUT,
new HttpEntity<>(modifyRequest, Utils.getAuthHeader()),
new ParameterizedTypeReference<>() {
}, bookId);
requestHttpEntity,
Void.class);

return Utils.getResponseEntity(exchange, HttpStatus.OK);

Utils.getResponseEntity(responseEntity, HttpStatus.OK);
}


/**
* methodName : getBookStatus
* author : newjaehun
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ public String getBookUpdatePage(@RequestParam("id") Long bookId, Model model) {
book.getTagList().stream().map(TagGetResponseForBookDetail::getId).collect(Collectors.toList()));
model.addAttribute("bookCategoryList", book.getCategoryList().stream().map(CategoryIdAndName::getId).collect(Collectors.toList()));

model.addAttribute("publishers", publisherService.getAllPublishers());
model.addAttribute("categories", categoryAdminService.getCategories());
model.addAttribute("tags", tagService.getTags());
model.addAttribute("authors", authorService.getAllAuthors());
Expand All @@ -130,8 +131,9 @@ public String getBookUpdatePage(@RequestParam("id") Long bookId, Model model) {
* @return string
*/
@PostMapping("/update/{id}")
public String updateBook(@RequestParam("id") Long bookId, @ModelAttribute BookModifyRequest modifyRequest) {
bookAdminService.updateBook(bookId, modifyRequest);
public String updateBook(@RequestParam("id") Long bookId, @Valid @ModelAttribute BookModifyRequest modifyRequest, @RequestParam(value = "thumbnailImage", required = false)
MultipartFile thumbnailImage, @RequestParam(value = "contentImage", required = false) List<MultipartFile> contentImages) throws IOException {
bookAdminService.updateBook(bookId, modifyRequest, thumbnailImage, contentImages);
return "redirect:/admin/book/update?id=" + bookId;
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
package store.mybooks.front.admin.book.model.request;

import java.time.LocalDate;
import java.util.List;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.PastOrPresent;
import javax.validation.constraints.Positive;
import javax.validation.constraints.PositiveOrZero;
import javax.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.format.annotation.DateTimeFormat;

/**
* packageName : store.mybooks.front.admin.book.model.request <br/>
Expand All @@ -23,19 +28,46 @@
@Getter
@AllArgsConstructor
public class BookModifyRequest {
@NotNull
@Positive
private Integer saleCost;
@NotBlank
@Size(min = 1, max = 20)
private String bookStatusId;
@NotNull
@Min(1)
@Max(100)
private Integer publisherId;
@NotBlank
@Size(min = 1, max = 100)
private String name;
@NotBlank
@Size(min = 13, max = 13)
private String isbn;
@NotNull
@PastOrPresent
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate publishDate;
@NotNull
@Positive
private Integer page;
@NotBlank
private String index;
@NotBlank
private String explanation;
@NotNull
@Positive
private Integer originalCost;
@NotNull
@Positive
private Integer saleCost;
@NotNull
@PositiveOrZero
private Integer stock;
@NotNull
private Boolean isPacking;
@NotNull
@Size(min = 1)
private List<Integer> authorList;
@NotNull
@Size(min = 1, max = 10)
private List<Integer> categoryList;
private List<Integer> tagList;
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import store.mybooks.front.image.dto.ImageResponse;

/**
* packageName : store.mybooks.front.admin.book.model.response <br/>
Expand All @@ -24,11 +23,13 @@
public class BookBriefResponse {
private Long id;

private ImageResponse imageResponse;
private String image;

private String name;

// private Double rate;
private Double rate;

private Long reviewCount;

private Integer cost;

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ public class BookCartResponse {
private String bookImage;
private Integer cost;
private Integer saleCost;
private Integer stock;
private String sellingStatus;
}
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ public class BookDetailResponse {

private Integer disCountRate;

// private Double totalRate;
private Double rate;

// private Integer reviewCount;
private Long reviewCount;

private Integer likeCount;

Expand All @@ -68,7 +68,5 @@ public class BookDetailResponse {

private List<ImageResponse> contentImageList;

// private List<ReviewDetailResponse> review;


}
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,9 @@ public void createBook(BookCreateRequest bookCreateRequest, MultipartFile thumbn
}


public void updateBook(Long bookId, BookModifyRequest modifyRequest) {
bookAdminAdaptor.updateBook(bookId, modifyRequest);
public void updateBook(Long bookId, BookModifyRequest modifyRequest, MultipartFile thumbnailImage,
List<MultipartFile> contentImages) throws IOException {
bookAdminAdaptor.updateBook(bookId, modifyRequest, thumbnailImage, contentImages);
}

public List<BookStatusGetResponse> getBookStatus() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,4 +121,21 @@ public void deleteDeliveryRule(Integer id) {

Utils.getResponseEntity(exchange, HttpStatus.OK);
}

/**
* 이름으로 배송 규정 조회.
*
* @param name the name
* @return the delivery rule by name
*/
public DeliveryRuleResponse getDeliveryRuleByName(String name) {
ResponseEntity<DeliveryRuleResponse> exchange = restTemplate.exchange(
gatewayAdaptorProperties.getAddress() + URL + "/name/{name}",
HttpMethod.GET,
null,
new ParameterizedTypeReference<DeliveryRuleResponse>() {
}, name
);
return Utils.getResponseEntity(exchange, HttpStatus.OK);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,9 @@ public void modifyDeliveryRule(DeliveryRuleModifyRequest deliveryRuleModifyReque
public void deleteDeliveryRule(Integer id) {
deliveryRuleAdaptor.deleteDeliveryRule(id);
}

public DeliveryRuleResponse getDeliveryRuleResponseByName(String name) {
return deliveryRuleAdaptor.getDeliveryRuleByName(name);
}

}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package store.mybooks.front.admin.member.adaptor;
package store.mybooks.front.admin.user.adaptor;

import lombok.RequiredArgsConstructor;
import org.springframework.core.ParameterizedTypeReference;
Expand Down Expand Up @@ -29,15 +29,15 @@

@Component
@RequiredArgsConstructor
public class MemberAdaptor {
public class AdminUserAdaptor {

private final RestTemplate restTemplate;

private final GatewayAdaptorProperties gatewayAdaptorProperties;
private static final String ADMIN_URL = "/api/admin/users";

@RequiredAuthorization
public PageResponse<UserGetResponse> getPagedMembers(Pageable pageable) {
public PageResponse<UserGetResponse> getPagedUsers(Pageable pageable) {

ResponseEntity<PageResponse<UserGetResponse>> exchange = restTemplate.exchange(
gatewayAdaptorProperties.getAddress() + ADMIN_URL + "/page?page=" + pageable.getPageNumber()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package store.mybooks.front.admin.member.controller;
package store.mybooks.front.admin.user.controller;

import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;
Expand All @@ -7,7 +7,7 @@
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import store.mybooks.front.admin.member.service.MemberService;
import store.mybooks.front.admin.user.adaptor.AdminUserAdaptor;

/**
* packageName : store.mybooks.front.admin.member<br>
Expand All @@ -24,16 +24,16 @@
@Controller
@RequiredArgsConstructor
@RequestMapping("/admin/member")
public class MemberController {
public class AdminUserController {

private final MemberService memberService;
private final AdminUserAdaptor adminUserAdaptor;

@GetMapping
public String viewMembers(@PageableDefault Pageable pageable, Model model) {

model.addAttribute("members", memberService.getAllMembers(pageable));
model.addAttribute("users", adminUserAdaptor.getPagedUsers(pageable));

return "admin/view/member/member-all";
return "admin/view/user/user-all";
}


Expand Down
Loading

0 comments on commit a45ec06

Please sign in to comment.