GiftOrderController.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.izouma.nineth.web;
  2. import com.izouma.nineth.domain.GiftOrder;
  3. import com.izouma.nineth.domain.User;
  4. import com.izouma.nineth.dto.GiftOrderDTO;
  5. import com.izouma.nineth.dto.PageQuery;
  6. import com.izouma.nineth.exception.BusinessException;
  7. import com.izouma.nineth.repo.GiftOrderRepo;
  8. import com.izouma.nineth.repo.UserRepo;
  9. import com.izouma.nineth.service.GiftOrderService;
  10. import com.izouma.nineth.utils.excel.ExcelUtils;
  11. import lombok.AllArgsConstructor;
  12. import org.springframework.data.domain.Page;
  13. import org.springframework.web.bind.annotation.*;
  14. import javax.servlet.http.HttpServletResponse;
  15. import java.io.IOException;
  16. import java.util.HashSet;
  17. import java.util.List;
  18. import java.util.Map;
  19. import java.util.Set;
  20. import java.util.stream.Collectors;
  21. @RestController
  22. @RequestMapping("/giftOrder")
  23. @AllArgsConstructor
  24. public class GiftOrderController extends BaseController {
  25. private GiftOrderService giftOrderService;
  26. private GiftOrderRepo giftOrderRepo;
  27. private UserRepo userRepo;
  28. //@PreAuthorize("hasRole('ADMIN')")
  29. @PostMapping("/all")
  30. public Page<GiftOrderDTO> all(@RequestBody PageQuery pageQuery) {
  31. Page<GiftOrder> all = giftOrderService.all(pageQuery);
  32. Set<Long> userIds = new HashSet<>();
  33. all.getContent().forEach(go -> {
  34. userIds.add(go.getUserId());
  35. userIds.add(go.getToUserId());
  36. });
  37. Map<Long, String> userMap = userRepo.findByIdInAndDelFalse(userIds)
  38. .stream()
  39. .collect(Collectors.toMap(User::getId, User::getNickname));
  40. return all.map(go -> {
  41. GiftOrderDTO dto = new GiftOrderDTO(go);
  42. dto.setNickname(userMap.get(go.getUserId()));
  43. dto.setToNickname(userMap.get(go.getToUserId()));
  44. dto.setStatus(go.getStatus() == null ? "" :go.getStatus().getDescription());
  45. dto.setPayMethod(go.getPayMethod() == null ? "" : go.getPayMethod().getDescription());
  46. return dto;
  47. });
  48. }
  49. @GetMapping("/get/{id}")
  50. public GiftOrder get(@PathVariable Long id) {
  51. return giftOrderRepo.findById(id).orElseThrow(new BusinessException("无记录"));
  52. }
  53. @PostMapping("/del/{id}")
  54. public void del(@PathVariable Long id) {
  55. giftOrderRepo.softDelete(id);
  56. }
  57. @PostMapping("/excel")
  58. @ResponseBody
  59. public void excel(HttpServletResponse response, @RequestBody PageQuery pageQuery) throws IOException {
  60. List<GiftOrderDTO> data = all(pageQuery).getContent();
  61. ExcelUtils.export(response, data);
  62. }
  63. }