From 96dac6da1a20dfa2ecea41544ca21c31c93e7bb2 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 30 Jun 2021 14:41:49 +0800
Subject: [PATCH] modify

---
 gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java |   98 ++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 89 insertions(+), 9 deletions(-)

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 4eabe4b..e0cc117 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,32 +1,35 @@
 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;
 import com.xzx.gc.common.constant.Constants;
 import com.xzx.gc.common.dto.log.OperationAppLog;
 import com.xzx.gc.common.request.BaseController;
-import com.xzx.gc.entity.ScoreGoods;
+import com.xzx.gc.entity.ScoreDetails;
 import com.xzx.gc.entity.ScoreOrder;
 import com.xzx.gc.model.JsonResult;
 import com.xzx.gc.shop.dto.*;
+import com.xzx.gc.shop.mapper.ScoreDetailsMapper;
 import com.xzx.gc.shop.mapper.ScoreOrderMapper;
 import com.xzx.gc.shop.service.OrderService;
-import com.xzx.gc.shop.vo.QueryGoodsListVo;
 import com.xzx.gc.shop.vo.QueryOrderListVo;
-import com.xzx.gc.shop.vo.ViewGoodsVo;
 import com.xzx.gc.shop.vo.ViewOrderVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
+import tk.mybatis.mapper.entity.Example;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 import java.util.Map;
 
 @RestController
@@ -38,6 +41,8 @@
     private OrderService orderService;
     @Resource
     private ScoreOrderMapper scoreOrderMapper;
+    @Resource
+    private ScoreDetailsMapper scoreDetailsMapper;
 
     /**
      * 查询订单列表
@@ -59,6 +64,10 @@
     @ApiOperation(value="订单管理-查询订单详情", notes="test: 仅0有正确返回")
     public JsonResult<ViewOrderVo> viewOrder(@RequestBody ViewOrderDto viewOrderDto) {
         Long id = viewOrderDto.getId();
+        ScoreOrder scoreOrder = scoreOrderMapper.selectByPrimaryKey(id);
+        if(ObjectUtil.isEmpty(scoreOrder)){
+            return JsonResult.failMessage("订单不存在!");
+        }
         ViewOrderVo viewOrderVo = orderService.viewOrder(id);
         return JsonResult.success(viewOrderVo);
     }
@@ -76,7 +85,7 @@
         }
         Integer status = scoreOrder.getStatus();
         if(ScoreOrder.STATUS_READY != status){
-            return JsonResult.failMessage("当前订单不是代发货状态!");
+            return JsonResult.failMessage("当前订单不是待发货状态!");
         }
         String expressCom = model.getExpressCom();
         if(StrUtil.isEmpty(expressCom)){
@@ -86,11 +95,82 @@
         if(StrUtil.isEmpty(expressNo)){
             return JsonResult.failMessage("快递单号不能为空!");
         }
-        orderService.deliverGoods(model);
-        OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
-                .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("订单管理-发货-" + id).build();
-        mqUtil.sendApp(build);
-        return  JsonResult.success("操作成功!");
+        Long aLong = orderService.deliverGoods(model);
+        if(aLong > 0){
+            OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                    .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("订单管理-发货-" + id).build();
+            mqUtil.sendApp(build);
+            return  JsonResult.success("操作成功!");
+        }else{
+            return  JsonResult.success("操作失败!");
+        }
+    }
+
+    /**
+     * 确认提货
+     */
+    @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("操作失败!");
+        }
+    }
+
+    /**
+     * 取消
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/cancelOrder.json")
+    @ApiOperation(value="订单管理-取消", notes="test: 仅0有正确返回")
+    public JsonResult cancelOrder(@RequestBody CancelOrderDto 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_READY != status){
+            return JsonResult.failMessage("当前订单不是待发货状态!");
+        }
+        ScoreOrder order = scoreOrderMapper.selectByPrimaryKey(model.getId());
+        Example exampleDetails = new Example(ScoreDetails.class);
+        Example.Criteria criteriaDetails = exampleDetails.createCriteria();
+        criteriaDetails.andEqualTo("orderNo",order.getOrderNo());
+        criteriaDetails.andEqualTo("userId",order.getUserId());
+        criteriaDetails.andEqualTo("type",ScoreDetails.SCORE_TYPE_SHOPPING_RETURN);
+
+        List<ScoreDetails> scoreDetails = scoreDetailsMapper.selectByExample(exampleDetails);
+        if(CollUtil.isNotEmpty(scoreDetails)){
+            return JsonResult.failMessage("当前订单已经取消过了!");
+        }
+        Long aLong = orderService.cancelOrder(model);
+        if(aLong > 0){
+            OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                    .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("订单管理-取消-" + id).build();
+            mqUtil.sendApp(build);
+            return  JsonResult.success("操作成功!");
+        }else{
+            return  JsonResult.success("操作失败!");
+        }
     }
 
 

--
Gitblit v1.9.1