From 17a77c4a058b549edd5032bb805bf45b00384362 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 24 Jun 2021 19:18:58 +0800
Subject: [PATCH] 20210624 商品分类

---
 gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java |   32 ++++++++++++++++
 gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java                    |   10 +++--
 gc-shop/src/main/java/com/xzx/gc/shop/dto/InsureOrderDto.java              |   15 +++++++
 gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java            |   18 +++++++-
 4 files changed, 68 insertions(+), 7 deletions(-)

diff --git a/gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java b/gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java
index ec10c26..7dcc56c 100644
--- a/gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java
+++ b/gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java
@@ -27,13 +27,15 @@
     private BigDecimal totalPrice;
 
     /**
-     * 2-待收货3-已完成4-已取消
+     * 1-待发货2-待收货3-已收货4-已完成5-已评价6-已取消
      */
     private Integer status;
     public  static final Integer STATUS_READY = 1;
-    public  static final Integer STATUS_ING = 2;
-    public  static final Integer STATUS_DONE = 3;
-    public  static final Integer STATUS_CANCEL = 4;
+    public  static final Integer STATUS_ON = 2;
+    public  static final Integer STATUS_DOING = 3;
+    public  static final Integer STATUS_DONE = 4;
+    public  static final Integer STATUS_EVALUATE = 5;
+    public  static final Integer STATUS_CANCEL = 6;
 
     private String remark;
 }
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java b/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java
index 757654d..bff21e1 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java
@@ -1,5 +1,6 @@
 package com.xzx.gc.shop.controller;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.xzx.gc.common.constant.CommonEnum;
@@ -27,6 +28,7 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 import java.util.Map;
 
 @RestController
@@ -97,6 +99,36 @@
         }
     }
 
+    /**
+     * 确认提货
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/insureOrder.json")
+    @ApiOperation(value="订单管理-确认提货", notes="test: 仅0有正确返回")
+    public JsonResult insureOrder(@RequestBody InsureOrderDto model, HttpServletRequest request) {
+        long id = model.getId();
+        ScoreOrder scoreOrder = scoreOrderMapper.selectByPrimaryKey(id);
+        if(ObjectUtil.isEmpty(scoreOrder)){
+            return JsonResult.failMessage("订单不存在!");
+        }
+        Integer status = scoreOrder.getStatus();
+        if(ScoreOrder.STATUS_DOING != status){
+            return JsonResult.failMessage("当前订单不是已收货状态!");
+        }
+        List<String> voucherImgs = model.getVoucherImgs();
+        if(CollUtil.isEmpty(voucherImgs)){
+            return JsonResult.failMessage("凭证不能为空!");
+        }
+        Long orderId = orderService.insureOrder(model);
+        if(orderId > 0){
+            OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                    .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("订单管理-确认提货-" + orderId).build();
+            mqUtil.sendApp(build);
+            return  JsonResult.success("操作成功!");
+        }else{
+            return  JsonResult.success("操作失败!");
+        }
+    }
+
 
 
 }
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/dto/InsureOrderDto.java b/gc-shop/src/main/java/com/xzx/gc/shop/dto/InsureOrderDto.java
new file mode 100644
index 0000000..44b1df3
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/dto/InsureOrderDto.java
@@ -0,0 +1,15 @@
+package com.xzx.gc.shop.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class InsureOrderDto {
+
+    private Long id;
+
+    @ApiModelProperty(value="凭证")
+    private List<String> voucherImgs;
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
index 4cc2af1..6b45805 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
@@ -12,6 +12,7 @@
 import com.xzx.gc.entity.ScoreOrder;
 import com.xzx.gc.entity.ScoreOrderDetails;
 import com.xzx.gc.shop.dto.DeliverGoodsDto;
+import com.xzx.gc.shop.dto.InsureOrderDto;
 import com.xzx.gc.shop.dto.QueryOrderListDto;
 import com.xzx.gc.shop.mapper.ScoreExpressInfoMapper;
 import com.xzx.gc.shop.mapper.ScoreOrderDetailsMapper;
@@ -73,9 +74,12 @@
             ObjectMapper objectMapper = new ObjectMapper();
             objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
             viewOrderVo = objectMapper.convertValue(scoreOrder, ViewOrderVo.class);
-            //2-待收货,3-已完成,获取物流信息
+            //2-待收货3-已收货4-已完成5-已评价,获取物流信息
             Integer status = scoreOrder.getStatus() == null ? 0:scoreOrder.getStatus();
-            if(ScoreOrder.STATUS_ING == status || ScoreOrder.STATUS_DONE == status){
+            if(ScoreOrder.STATUS_DOING == status
+                    || ScoreOrder.STATUS_DONE == status
+                    || ScoreOrder.STATUS_ON == status
+                    || ScoreOrder.STATUS_EVALUATE == status){
                 Example exampleExpress = new Example(ScoreExpressInfo.class);
                 Example.Criteria criteriaExpress = exampleExpress.createCriteria();
                 criteriaExpress.andEqualTo("orderId",id);
@@ -114,9 +118,17 @@
 
             ScoreOrder scoreOrder = new ScoreOrder();
             scoreOrder.setId(id);
-            scoreOrder.setStatus(ScoreOrder.STATUS_ING);
+            scoreOrder.setStatus(ScoreOrder.STATUS_ON);
             scoreOrderMapper.updateByPrimaryKeySelective(scoreOrder);
         }
         return scoreExpressInfo.getId();
     }
+
+    public Long insureOrder(InsureOrderDto model) {
+        ScoreOrder scoreOrder = new ScoreOrder();
+        scoreOrder.setId(model.getId());
+        scoreOrder.setVoucherImg(model.getVoucherImgs().toString());
+        scoreOrderMapper.updateByPrimaryKeySelective(scoreOrder);
+        return scoreOrder.getId();
+    }
 }

--
Gitblit v1.9.1