浏览代码

物流相关优化

cup 3 年之前
父节点
当前提交
c49b8a6795

+ 21 - 2
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/ChannelOrderMgrController.java

@@ -42,6 +42,7 @@ import io.swagger.annotations.ApiOperation;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
@@ -179,7 +180,16 @@ public class ChannelOrderMgrController extends BaseApiController {
 
 	  Integer deliveryType = shipParam.getDeliveryType();
 	  if (null == deliveryType) {
-		  deliveryType = 0;
+		  deliveryType = 1;
+	  }
+
+	  if (DeliverTypeEnum.DELIVER.getValue().equals(deliveryType)) {
+		  if (Objects.isNull(shipParam.getDeliveryId())) {
+			  return AjaxResult.error("快递公司不能为空");
+		  }
+		  if (StringUtils.isBlank(shipParam.getDeliveryFlowId())) {
+			  return AjaxResult.error("快递单号不能为空");
+		  }
 	  }
 
 		if(null != shipParam && null != shipParam.getPkgIds()
@@ -231,7 +241,16 @@ public class ChannelOrderMgrController extends BaseApiController {
 
 		Integer deliveryType = shipParam.getDeliveryType();
 		if (null == deliveryType) {
-			deliveryType = 0;
+			deliveryType = 1;
+		}
+
+		if (DeliverTypeEnum.DELIVER.getValue().equals(deliveryType)) {
+			if (Objects.isNull(shipParam.getDeliveryId())) {
+				return AjaxResult.error("快递公司不能为空");
+			}
+			if (StringUtils.isBlank(shipParam.getDeliveryFlowId())) {
+				return AjaxResult.error("快递单号不能为空");
+			}
 		}
 
 

+ 23 - 6
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/UserDeliverOrderMgrController.java

@@ -24,10 +24,8 @@ import com.qs.mp.utils.ExcelUtil;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
+
+import java.util.*;
 
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
@@ -139,7 +137,16 @@ public class UserDeliverOrderMgrController extends BaseApiController {
 
 		Integer deliveryType = shipParam.getDeliveryType();
 		if (null == deliveryType) {
-			deliveryType = 0;
+			deliveryType = 1;
+		}
+
+		if (DeliverTypeEnum.DELIVER.getValue().equals(deliveryType)) {
+			if (Objects.isNull(shipParam.getDeliveryId())) {
+				return AjaxResult.error("快递公司不能为空");
+			}
+			if (StringUtils.isBlank(shipParam.getDeliveryFlowId())) {
+				return AjaxResult.error("快递单号不能为空");
+			}
 		}
 
 		List<UserDeliverOrderItem> itemList = new ArrayList<UserDeliverOrderItem>();
@@ -191,9 +198,19 @@ public class UserDeliverOrderMgrController extends BaseApiController {
 
 		Integer deliveryType = shipParam.getDeliveryType();
 		if (null == deliveryType) {
-			deliveryType = 0;
+			shipParam.setDeliveryType(1);
 		}
 
+		if (DeliverTypeEnum.DELIVER.getValue().equals(shipParam.getDeliveryType())) {
+			if (Objects.isNull(shipParam.getDeliveryId())) {
+				return AjaxResult.error("快递公司不能为空");
+			}
+			if (StringUtils.isBlank(shipParam.getDeliveryFlowId())) {
+				return AjaxResult.error("快递单号不能为空");
+			}
+		}
+
+
 		// 修改物流信息
 		boolean res = userDeliverOrderService.updateShipInfo(shipParam);
 

+ 1 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserDeliverOrderController.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.qs.mp.admin.domain.param.UserDeliverOrderShipParam;
 import com.qs.mp.channel.domain.ChannelOrder;
 import com.qs.mp.channel.domain.ChannelOrderItem;
 import com.qs.mp.channel.domain.param.OrderPayParam;

+ 7 - 3
mp-service/src/main/java/com/qs/mp/user/service/impl/UserDeliverOrderServiceImpl.java

@@ -179,12 +179,14 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
                 // 获取无需物流状态数量
                 int noNeedShipCnt = userDeliverOrderItemService.count(userDeliverOrderItemLambdaQueryWrapper);
 
-                // 如果相等则表示所有商品都是无需物流,直接设置订单状态为已完成,并且设置订单的收货时间
+                // 如果相等则表示所有商品都是无需物流,直接设置订单状态为已完成,并且设置订单的收货时间和发货时间
                 if (orderItemCount == noNeedShipCnt) {
                     updateWrapper.set(UserDeliverOrder::getStatus, DeliverOrderStatusEnum.FINISHED);
+                    updateWrapper.set(UserDeliverOrder::getDeliveryTime, new Date());
                     updateWrapper.set(UserDeliverOrder::getConfirmTime, new Date());
                 } else {
-                    // 否则订单状态为待收货
+                    // 否则订单状态为待收货,设置发货时间
+                    updateWrapper.set(UserDeliverOrder::getDeliveryTime, new Date());
                     updateWrapper.set(UserDeliverOrder::getStatus, DeliverOrderStatusEnum.NOT_CONFIRM);
                 }
 
@@ -222,10 +224,12 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
                 // 获取无需物流状态数量
                 int noNeedShipCnt = userDeliverOrderItemService.count(userDeliverOrderItemLambdaQueryWrapper);
 
-                // 如果相等则表示所有商品都是无需物流,直接设置订单状态为已完成,并且设置订单的收货时间
+                // 如果相等则表示所有商品都是无需物流,直接设置订单状态为已完成,并且设置订单的发货和收货时间
                 if (orderItemCount == noNeedShipCnt) {
                     res = userDeliverOrderService.update(new LambdaUpdateWrapper<UserDeliverOrder>()
                             .set(UserDeliverOrder::getStatus, DeliverOrderStatusEnum.FINISHED)
+                            .set(UserDeliverOrder::getConfirmTime, new Date())
+                            .set(UserDeliverOrder::getDeliveryTime, new Date())
                             .eq(UserDeliverOrder::getOrderId, shipParam.getOrderId()));
                 }