AuctionOrderController.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package com.izouma.nineth.web;
  2. import com.izouma.nineth.domain.AuctionOrder;
  3. import com.izouma.nineth.dto.PageQuery;
  4. import com.izouma.nineth.enums.AuctionPaymentType;
  5. import com.izouma.nineth.exception.BusinessException;
  6. import com.izouma.nineth.repo.AuctionOrderRepo;
  7. import com.izouma.nineth.service.AuctionOrderService;
  8. import com.izouma.nineth.utils.ObjUtils;
  9. import com.izouma.nineth.utils.excel.ExcelUtils;
  10. import io.swagger.annotations.ApiModelProperty;
  11. import io.swagger.annotations.ApiOperation;
  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("/auctionOrder")
  20. @AllArgsConstructor
  21. public class AuctionOrderController extends BaseController {
  22. private AuctionOrderService auctionOrderService;
  23. private AuctionOrderRepo auctionOrderRepo;
  24. //@PreAuthorize("hasRole('ADMIN')")
  25. @PostMapping("/save")
  26. public AuctionOrder save(@RequestBody AuctionOrder record) {
  27. if (record.getId() != null) {
  28. AuctionOrder orig = auctionOrderRepo.findById(record.getId()).orElseThrow(new BusinessException("无记录"));
  29. ObjUtils.merge(orig, record);
  30. return auctionOrderRepo.save(orig);
  31. }
  32. return auctionOrderRepo.save(record);
  33. }
  34. @PostMapping("/create")
  35. @ApiModelProperty(value = "创建拍卖订单(支付)")
  36. public AuctionOrder create(Long userId, @RequestParam(required = false) Long auctionId,
  37. Long addressId, Long auctionRecordId, AuctionPaymentType type) {
  38. return auctionOrderService.create(userId, auctionId, addressId, auctionRecordId, type);
  39. }
  40. @PostMapping("/createFixPrice")
  41. @ApiModelProperty(value = "创建拍卖订单(一口价)")
  42. public AuctionOrder createFixPrice(Long userId, @RequestParam(required = false) Long auctionId,
  43. Long addressId, AuctionPaymentType type) {
  44. // AuctionActivity auctionActivity = auctionActivityRepo.findById(auctionId)
  45. // .orElseThrow(new BusinessException("暂无"));
  46. // AuctionRecord auctionRecord = AuctionRecord.builder()
  47. // .auctionId(auctionId)
  48. // .type(AuctionRecordType.FIXEDPRICE)
  49. // .bidderPrice(auctionActivity.getFixedPrice())
  50. // .auctionPic(null)
  51. // .userId(SecurityUtils.getAuthenticatedUser().getId())
  52. // .avatar(SecurityUtils.getAuthenticatedUser().getAvatar())
  53. // .name(auctionActivity.getName())
  54. // .purchased(false)
  55. // .build();
  56. // AuctionRecord record = auctionRecordRepo.save(auctionRecord);
  57. return auctionOrderService.create(userId, auctionId, addressId, null, type);
  58. }
  59. @PostMapping("/createDeposit")
  60. @ApiModelProperty(value = "创建拍卖订单(保证金)")
  61. public AuctionOrder createDeposit(Long userId, @RequestParam(required = false) Long auctionId,
  62. Long addressId, AuctionPaymentType type) {
  63. // AuctionActivity auctionActivity = auctionActivityRepo.findById(auctionId)
  64. // .orElseThrow(new BusinessException("暂无"));
  65. // AuctionRecord auctionRecord = AuctionRecord.builder()
  66. // .auctionId(auctionId)
  67. // .type(AuctionRecordType.DEPOSIT)
  68. // .bidderPrice(auctionActivity.getDeposit())
  69. // .auctionPic(null)
  70. // .userId(SecurityUtils.getAuthenticatedUser().getId())
  71. // .avatar(SecurityUtils.getAuthenticatedUser().getAvatar())
  72. // .name(auctionActivity.getName())
  73. // .purchased(false)
  74. // .build();
  75. // AuctionRecord record = auctionRecordRepo.save(auctionRecord);
  76. return auctionOrderService.create(userId, auctionId, addressId, null, type);
  77. }
  78. //@PreAuthorize("hasRole('ADMIN')")
  79. @PostMapping("/all")
  80. public Page<AuctionOrder> all(@RequestBody PageQuery pageQuery) {
  81. return auctionOrderService.all(pageQuery);
  82. }
  83. @GetMapping("/get/{id}")
  84. public AuctionOrder get(@PathVariable Long id) {
  85. return auctionOrderRepo.findById(id).orElseThrow(new BusinessException("无记录"));
  86. }
  87. @PostMapping("/del/{id}")
  88. public void del(@PathVariable Long id) {
  89. auctionOrderRepo.softDelete(id);
  90. }
  91. @GetMapping("/excel")
  92. @ResponseBody
  93. public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
  94. List<AuctionOrder> data = all(pageQuery).getContent();
  95. ExcelUtils.export(response, data);
  96. }
  97. @ApiOperation("订单完成")
  98. @GetMapping("/finish/{id}")
  99. public void finish(@PathVariable Long id) {
  100. auctionOrderService.finish(id);
  101. }
  102. @ApiOperation("订单发货")
  103. @GetMapping("/delivery")
  104. public void delivery(@RequestParam Long id, @RequestParam String courierId) {
  105. auctionOrderService.dispatch(id, courierId);
  106. }
  107. }