wangqifan 3 лет назад
Родитель
Сommit
423ddf43e1

+ 3 - 0
src/main/java/com/izouma/nineth/domain/AuctionOrder.java

@@ -104,4 +104,7 @@ public class AuctionOrder extends BaseEntityNoID {
 
     @ApiModelProperty("拍卖记录id")
     private Long auctionRecordId;
+
+    @ApiModelProperty("拍卖记录id")
+    private String courierId;
 }

+ 4 - 1
src/main/java/com/izouma/nineth/enums/AuctionOrderStatus.java

@@ -5,7 +5,10 @@ public enum AuctionOrderStatus {
     FINISH("已完成"),
     CANCELLED("已取消"),
     REFUNDING("退款中"),
-    REFUNDED("已退款");
+    REFUNDED("已退款"),
+    DELIVERY("待发货"),
+    RECEIVE("待收货"),
+    AIR_DROP("待空投");
 
     private final String description;
 

+ 32 - 3
src/main/java/com/izouma/nineth/service/AuctionOrderService.java

@@ -197,15 +197,20 @@ public class AuctionOrderService {
 
     public void notify(Long id, PayMethod payMethod, String transactionId) {
         AuctionOrder order = auctionOrderRepo.findById(id).orElseThrow(new BusinessException("无记录"));
-        order.setStatus(AuctionOrderStatus.FINISH);
+        AuctionActivity auction = auctionActivityRepo.findById(order.getAuctionId())
+                .orElseThrow(new BusinessException("无拍卖活动"));
+
+        if (auction.getAuctionType().equals(AuctionType.ENTITY)) {
+            order.setStatus(AuctionOrderStatus.DELIVERY);
+        } else {
+            order.setStatus(AuctionOrderStatus.FINISH);
+        }
         order.setPayMethod(payMethod);
         order.setTransactionId(transactionId);
         order.setPayTime(LocalDateTime.now());
         //存订单
         auctionOrderRepo.save(order);
 
-        AuctionActivity auction = auctionActivityRepo.findById(order.getAuctionId())
-                .orElseThrow(new BusinessException("无拍卖活动"));
 
         if (AuctionPaymentType.DEPOSIT.equals(order.getPaymentType())) {
             //改出价记录表
@@ -355,4 +360,28 @@ public class AuctionOrderService {
             });
         }
     }
+
+    /**
+     * 发货
+     *
+     * @param id        编号
+     * @param courierId 快递单号
+     */
+    public void dispatch(Long id, String courierId) {
+        AuctionOrder auctionOrder = auctionOrderRepo.findById(id).orElseThrow(new BusinessException("铸造订单不存在"));
+        auctionOrder.setStatus(AuctionOrderStatus.RECEIVE);
+        auctionOrder.setCourierId(courierId);
+        auctionOrderRepo.save(auctionOrder);
+    }
+
+    /**
+     * 订单
+     *
+     * @param id 编号
+     */
+    public void finish(Long id) {
+        AuctionOrder auctionOrder = auctionOrderRepo.findById(id).orElseThrow(new BusinessException("铸造订单不存在"));
+        auctionOrder.setStatus(AuctionOrderStatus.FINISH);
+        auctionOrderRepo.save(auctionOrder);
+    }
 }

+ 1 - 4
src/main/java/com/izouma/nineth/service/AuctionRecordService.java

@@ -4,10 +4,7 @@ import com.izouma.nineth.config.RedisKeys;
 import com.izouma.nineth.domain.*;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.dto.auction.AuctionRecordDTO;
-import com.izouma.nineth.enums.AuctionOrderStatus;
-import com.izouma.nineth.enums.AuctionPaymentType;
-import com.izouma.nineth.enums.AuctionRecordType;
-import com.izouma.nineth.enums.AuctionStatus;
+import com.izouma.nineth.enums.*;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.AuctionActivityRepo;
 import com.izouma.nineth.repo.AuctionOrderRepo;

+ 13 - 0
src/main/java/com/izouma/nineth/web/AuctionOrderController.java

@@ -16,6 +16,7 @@ import com.izouma.nineth.utils.ObjUtils;
 import com.izouma.nineth.utils.SecurityUtils;
 import com.izouma.nineth.utils.excel.ExcelUtils;
 import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.data.domain.Page;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -117,5 +118,17 @@ public class AuctionOrderController extends BaseController {
         List<AuctionOrder> data = all(pageQuery).getContent();
         ExcelUtils.export(response, data);
     }
+
+    @ApiOperation("订单完成")
+    @GetMapping("/finish/{id}")
+    public void finish(@PathVariable Long id) {
+        auctionOrderService.finish(id);
+    }
+
+    @ApiOperation("订单发货")
+    @GetMapping("/delivery")
+    public void delivery(@RequestParam Long id, @RequestParam String courierId) {
+        auctionOrderService.dispatch(id, courierId);
+    }
 }