AuctionActivityController.java 3.0 KB

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