From 12542f379312598f83a50893584944e51fc0f2b9 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 09 Oct 2021 16:06:43 +0800
Subject: [PATCH] fix
---
gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java | 141 ++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 138 insertions(+), 3 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 8047c64..1c6c463 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,23 +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.ScoreDetails;
+import com.xzx.gc.entity.ScoreOrder;
import com.xzx.gc.model.JsonResult;
-import com.xzx.gc.shop.dto.QueryGoodsListDto;
-import com.xzx.gc.shop.dto.QueryOrderListDto;
+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.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
@@ -27,6 +39,10 @@
@Resource
private OrderService orderService;
+ @Resource
+ private ScoreOrderMapper scoreOrderMapper;
+ @Resource
+ private ScoreDetailsMapper scoreDetailsMapper;
/**
* 查询订单列表
@@ -40,4 +56,123 @@
return JsonResult.success(result);
}
+ /**
+ * 查询订单详情
+ */
+ @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/viewOrder.json")
+ @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewOrderVo.class)})
+ @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);
+ }
+
+ /**
+ * 发货
+ */
+ @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/deliverGoods.json")
+ @ApiOperation(value="订单管理-发货", notes="test: 仅0有正确返回")
+ public JsonResult deliverGoods(@RequestBody DeliverGoodsDto 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("当前订单不是待发货状态!");
+ }
+ String expressCom = model.getExpressCom();
+ if(StrUtil.isEmpty(expressCom)){
+ return JsonResult.failMessage("物流公司不能为空!");
+ }
+ String expressNo = model.getExpressNo();
+ if(StrUtil.isEmpty(expressNo)){
+ return JsonResult.failMessage("快递单号不能为空!");
+ }
+ 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