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 | 88 +++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 82 insertions(+), 6 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 757654d..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,8 +95,8 @@ if(StrUtil.isEmpty(expressNo)){ return JsonResult.failMessage("快递单号不能为空!"); } - Long expressId = orderService.deliverGoods(model); - if(expressId > 0){ + 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); @@ -97,6 +106,73 @@ } } + /** + * 确认提货 + */ + @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