AuctionActivityController.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.izouma.nineth.web;
  2. import com.izouma.nineth.domain.AuctionActivity;
  3. import com.izouma.nineth.dto.PageQuery;
  4. import com.izouma.nineth.dto.auction.AuctionInputDTO;
  5. import com.izouma.nineth.exception.BusinessException;
  6. import com.izouma.nineth.repo.AuctionActivityRepo;
  7. import com.izouma.nineth.repo.NewsLikeRepo;
  8. import com.izouma.nineth.service.AuctionActivityService;
  9. import com.izouma.nineth.utils.ObjUtils;
  10. import com.izouma.nineth.utils.SecurityUtils;
  11. import com.izouma.nineth.utils.excel.ExcelUtils;
  12. import lombok.AllArgsConstructor;
  13. import org.springframework.data.domain.Page;
  14. import org.springframework.web.bind.annotation.*;
  15. import javax.servlet.http.HttpServletResponse;
  16. import java.io.IOException;
  17. import java.util.List;
  18. @RestController
  19. @RequestMapping("/auctionActivity")
  20. @AllArgsConstructor
  21. public class AuctionActivityController extends BaseController {
  22. private AuctionActivityService auctionActivityService;
  23. private AuctionActivityRepo auctionActivityRepo;
  24. private NewsLikeRepo newsLikeRepo;
  25. //@PreAuthorize("hasRole('ADMIN')")
  26. @PostMapping("/save")
  27. public AuctionActivity save(@RequestBody AuctionActivity record, @RequestParam(required = false) String code) {
  28. if (record.getId() != null) {
  29. AuctionActivity orig = auctionActivityRepo.findById(record.getId())
  30. .orElseThrow(new BusinessException("无记录"));
  31. ObjUtils.merge(orig, record);
  32. return auctionActivityService.save(orig, code);
  33. }
  34. return auctionActivityService.save(record, code);
  35. }
  36. @PostMapping("/create")
  37. public AuctionActivity createFromAsset(@RequestBody AuctionInputDTO dto) {
  38. return auctionActivityService.createFromAsset(dto);
  39. }
  40. //@PreAuthorize("hasRole('ADMIN')")
  41. @PostMapping("/all")
  42. public Page<AuctionActivity> all(@RequestBody PageQuery pageQuery) {
  43. return auctionActivityService.all(pageQuery);
  44. }
  45. @GetMapping("/get/{id}")
  46. public AuctionActivity get(@PathVariable Long id) {
  47. AuctionActivity auctionActivity = auctionActivityRepo.findById(id).orElseThrow(new BusinessException("无记录"));
  48. if (SecurityUtils.getAuthenticatedUser() != null) {
  49. if (newsLikeRepo.findByUserIdAndAuctionId(SecurityUtils.getAuthenticatedUser().getId(), id).size() > 0) {
  50. auctionActivity.setLiked(true);
  51. return auctionActivity;
  52. }
  53. }
  54. auctionActivity.setLiked(false);
  55. return auctionActivity;
  56. }
  57. // @PostMapping("/del/{id}")
  58. // public void del(@PathVariable Long id) {
  59. // auctionActivityRepo.softDelete(id);
  60. // }
  61. @GetMapping("/excel")
  62. @ResponseBody
  63. public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
  64. List<AuctionActivity> data = all(pageQuery).getContent();
  65. ExcelUtils.export(response, data);
  66. }
  67. }